apprev/build.mjs
2025-05-15 07:10:53 -04:00

31 lines
720 B
JavaScript

import { build } from "esbuild";
/**
* @type {esbuild.Plugin}
*/
const makeAllPackagesExternalPlugin = {
name: "make-all-packages-external",
setup(build) {
const filter = /^[^./|~]|^\.[^./]|^\.\.[^/]/; // Must not start with "/" or "./" or "../"
build.onResolve({ filter }, (args) => ({
path: args.path,
external: true
}));
}
};
await build({
entryPoints: ["src/index.ts"],
bundle: true,
plugins: [makeAllPackagesExternalPlugin],
platform: "node",
target: "esnext",
logLevel: "info",
outfile: "dist/index.js",
minify: true,
treeShaking: true, // shake it off shake it offff
jsx: "transform",
inject: ["components-jsx/runtime.ts"],
jsxFactory: "createElement",
jsxFragment: "Fragment"
});