transform-to-tailwindcss
Version:
🎨 Revolutionary CSS-to-TailwindCSS migration tool with surgical precision. Transform legacy stylesheets to utility-first classes instantly across Vue, React, Svelte, and Astro projects.
48 lines (46 loc) • 2.39 kB
JavaScript
import { classCollector, transformAstro, transformCode, transformHtml, transformJsx, transformSvelte, transformVue } from "./transformCode-Bi_lvCJI.js";
import { createFilter } from "@rollup/pluginutils";
import { createUnplugin } from "unplugin";
//#region src/unplugin.ts
const unplugin = createUnplugin((options) => {
const filter = createFilter(options === null || options === void 0 ? void 0 : options.include, options === null || options === void 0 ? void 0 : options.exclude);
if (options === null || options === void 0 ? void 0 : options.collectClasses) {
classCollector.clear();
classCollector.enable(options === null || options === void 0 ? void 0 : options.outputPath, options === null || options === void 0 ? void 0 : options.skipIfNoChanges);
}
return [{
name: "unplugin-transform-to-tailwindcss",
enforce: "pre",
buildStart() {
if (options === null || options === void 0 ? void 0 : options.collectClasses) classCollector.resetBuildState();
},
transformInclude(id) {
return filter(id);
},
async transform(code, id) {
let suffix;
if (id.endsWith(".vue")) suffix = "vue";
else if (id.endsWith("lang.tsx")) {} else if (id.endsWith(".tsx")) suffix = "tsx";
if (!suffix) return code;
return await transformCode(code, {
filepath: id,
type: suffix,
isRem: options === null || options === void 0 ? void 0 : options.isRem,
debug: options === null || options === void 0 ? void 0 : options.debug,
collectClasses: options === null || options === void 0 ? void 0 : options.collectClasses
});
},
buildEnd() {
if (options === null || options === void 0 ? void 0 : options.collectClasses) classCollector.onBuildEnd();
}
}];
});
const viteTransformToTailwindcss = unplugin.vite;
const rollupTransformToTailwindcss = unplugin.rollup;
const webpackTransformToTailwindcss = unplugin.webpack;
const esbuildTransformToTailwindcss = unplugin.esbuild;
const rspackTransformToUnocss = unplugin.rspack;
const farmTransformToUnocss = unplugin.farm;
const rolldownTransformToUnocss = unplugin.rolldown;
//#endregion
export { classCollector, esbuildTransformToTailwindcss, farmTransformToUnocss, rolldownTransformToUnocss, rollupTransformToTailwindcss, rspackTransformToUnocss, transformAstro, transformCode, transformHtml, transformJsx, transformSvelte, transformVue, viteTransformToTailwindcss, webpackTransformToTailwindcss };