amisa-csstostyle-plugin
Version:
Transfom css's file to java scripts style element.
32 lines (29 loc) • 953 B
JavaScript
const l = /=\s*document.createAmisaStyleElement\(['|"].*\.css['|"]\)/g;
function u() {
return {
name: "amisa-css-plugin",
// Name of the plugin
transform(e, s) {
let n;
return (n = l.exec(e)) !== null ? {
code: o(n, e, s)
} : e;
}
};
}
function o(t, e, s) {
const n = i(t, s), r = a(n), c = 'function AmisaStyle(amisaStyle) { const styleElemet = document.createElement("style"); styleElemet.textContent = amisaStyle;return styleElemet;}';
return e.replace(l, `= AmisaStyle(\`${r}\`);`) + `
` + c + `
`;
}
function i(t, e) {
const n = t[0].replace(/=\s*document.createAmisaStyleElement\(['|"]\.\//, "").replace(/=\s*document.createAmisaStyleElement\(['|"]/, "").replace(/["|']\)/, ""), r = require("path").dirname(e);
return require("path").resolve(r, n);
}
function a(t) {
return require("fs").readFileSync(t).toString().replace(/\n\s*/g, " ");
}
export {
u as AmisaCssTransformStylePlugin
};