esbuild-react18-useclient
Version:
esbuild plugin for compiling libraries compatible with React 18 server and client component, Nextjs13, Remix, etc.
20 lines (19 loc) • 687 B
JavaScript
;
var rxp = /['"]use client['"]\s?;/i;
var reactUseClientPlugIn = {
name: "esbuild-react18-useclient",
setup: function (build) {
build.onEnd(function (result) {
var _a;
(_a = result.outputFiles) === null || _a === void 0 ? void 0 : _a.filter(function (f) { return !f.path.endsWith(".map"); }).forEach(function (f) {
var txt = f.text;
if (txt.match(rxp)) {
Object.defineProperty(f, "text", {
value: '"use client";\n' + txt.replace(rxp, ""),
});
}
});
});
},
};
module.exports = reactUseClientPlugIn;