UNPKG

weapp-tailwindcss

Version:

把 tailwindcss 原子化样式思想,带给小程序开发者们! bring tailwindcss to miniprogram developers!

44 lines (43 loc) 2.02 kB
const require_rolldown_runtime = require("./rolldown-runtime-CVvi-lCc.cjs"); let node_path = require("node:path"); node_path = require_rolldown_runtime.__toESM(node_path, 1); //#region src/bundlers/shared/css-imports.ts const tailwindcssImportRE = /^(?:tailwindcss|weapp-tailwindcss)(?:\/.*)?$/; const tailwindcssCssImportStatementRE = /(@import\s+(?:url\(\s*)?)(["'])((?:tailwindcss|weapp-tailwindcss)(?:\/[^"']*)?\$?)(\2\s*\)?)/gi; function normalizeTailwindcssSpecifier(specifier) { if (specifier === "tailwindcss$" || specifier === "weapp-tailwindcss$") return specifier.slice(0, -1); return specifier; } function getTailwindcssSubpath(specifier) { if (specifier === "tailwindcss" || specifier === "weapp-tailwindcss") return "index.css"; return specifier.replace(/^(?:tailwindcss|weapp-tailwindcss)\//, ""); } function resolveTailwindcssImport(specifier, pkgDir, options) { const normalized = normalizeTailwindcssSpecifier(specifier); if (!tailwindcssImportRE.test(normalized)) return null; if (normalized === "tailwindcss" || normalized === "weapp-tailwindcss") return options?.rootImport ?? (options?.join ?? node_path.default.join)(pkgDir, "index.css"); return (options?.join ?? node_path.default.join)(pkgDir, getTailwindcssSubpath(normalized)); } function rewriteTailwindcssImportsInCode(code, pkgDir, options) { let hasReplacements = false; const rewritten = code.replace(tailwindcssCssImportStatementRE, (full, prefix, quote, specifier, suffix) => { const replacement = resolveTailwindcssImport(specifier, pkgDir, options); if (!replacement) return full; hasReplacements = true; return `${prefix}${quote}${replacement}${suffix}`; }); return hasReplacements ? rewritten : void 0; } //#endregion Object.defineProperty(exports, "resolveTailwindcssImport", { enumerable: true, get: function() { return resolveTailwindcssImport; } }); Object.defineProperty(exports, "rewriteTailwindcssImportsInCode", { enumerable: true, get: function() { return rewriteTailwindcssImportsInCode; } });