UNPKG

@twstyled/babel-preset

Version:

Babel plugin for twstyled -- the full-featured Tailwind CSS + CSS in JS Compiler

28 lines (27 loc) 1.26 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const class_utilities_1 = __importDefault(require("@xwind/class-utilities")); const core_1 = __importDefault(require("@xwind/core")); const util_1 = require("@twstyled/util"); let $transformer; function getTailwindTransformer(options) { const twConfigPath = util_1.getTwConfigPath(options.configPath); const { twConfig, isNewTwConfig } = util_1.getTwConfigCache(twConfigPath); if (!$transformer || isNewTwConfig) { const { screens, variants } = core_1.default(twConfig); const twClassesUtils = class_utilities_1.default(twConfig.separator, [ ...screens, ...variants ]); $transformer = function transformClasses(twDeclarations, state) { const serializedTwClasses = twClassesUtils.serializer(twDeclarations); state.file.metadata.twclasses = twClassesUtils.composer(serializedTwClasses, state.file.metadata.twclasses || []); return serializedTwClasses; }; } return $transformer; } exports.default = getTailwindTransformer;