@devup-ui/next-plugin
Version:
Zero Config, Zero FOUC, Zero Runtime, CSS in JS Preprocessor
52 lines (51 loc) • 1.56 kB
JavaScript
import { existsSync as t, mkdirSync as m, writeFileSync as d } from "node:fs";
import { resolve as n, join as c, basename as h } from "node:path";
import { DevupUIWebpackPlugin as w } from "@devup-ui/webpack-plugin";
function x(s, r = {}) {
var l;
if (process.env.TURBOPACK === "1") {
s ?? (s = {}), s.turbopack ?? (s.turbopack = {}), (l = s.turbopack).rules ?? (l.rules = {});
const {
package: a = "@devup-ui/react",
interfacePath: e = "df",
cssFile: u = n(e, "devup-ui.css")
} = r, v = c(e, "sheet.json"), b = c(e, "classMap.json"), i = c(e, ".gitignore");
t(e) || m(e), t(u) || d(u, "/* devup-ui */"), t(i) || d(i, "*");
const k = {
[h(u)]: [
{
loader: "@devup-ui/webpack-plugin/css-loader",
options: {
watch: process.env.NODE_ENV === "development"
}
}
],
"*.{tsx,ts,js,mjs}": [
{
loader: "@devup-ui/webpack-plugin/loader",
options: {
package: a,
cssFile: u,
sheetFile: v,
classMapFile: b,
watch: process.env.NODE_ENV === "development"
}
}
]
};
return Object.assign(s.turbopack.rules, k), s;
}
const { webpack: p } = s;
return s.webpack = (a, e) => (r.cssFile ?? (r.cssFile = n(
e.dev ? r.interfacePath ?? "df" : ".next/cache",
`devup-ui_${e.buildId}.css`
)), a.plugins.push(
new w({
...r,
watch: e.dev
})
), typeof p == "function" ? p(a, e) : a), s;
}
export {
x as DevupUI
};