revert build & worker changes (unused)

This commit is contained in:
dwelle 2025-04-06 23:14:13 +02:00
parent 057331431f
commit a7668890fb
4 changed files with 48 additions and 89 deletions

View file

@ -16,15 +16,17 @@ const ENV_VARS = {
},
};
const rawConfigCommon = {
// excludes all external dependencies and bundles only the source code
const getConfig = (outdir) => ({
outdir,
bundle: true,
splitting: true,
format: "esm",
packages: "external",
plugins: [sassPlugin()],
target: "es2020",
assetNames: "[dir]/[name]",
chunkNames: "[dir]/[name]-[hash]",
// chunks are always external, so they are not bundled within and get build separately
external: ["*.chunk"],
packages: "external",
alias: {
"@excalidraw/common": path.resolve(__dirname, "../packages/common/src"),
"@excalidraw/element": path.resolve(__dirname, "../packages/element/src"),
@ -35,57 +37,47 @@ const rawConfigCommon = {
loader: {
".woff2": "file",
},
};
});
const rawConfigIndex = {
...rawConfigCommon,
entryPoints: ["index.tsx"],
};
const rawConfigChunks = {
...rawConfigCommon,
// create a separate chunk for each
entryPoints: ["**/*.chunk.ts"],
entryNames: "[name]",
};
function buildDev(chunkConfig) {
const config = {
...chunkConfig,
function buildDev(config) {
return build({
...config,
sourcemap: true,
define: {
"import.meta.env": JSON.stringify(ENV_VARS.development),
},
outdir: "dist/dev",
};
return build(config);
});
}
function buildProd(chunkConfig) {
const config = {
...chunkConfig,
function buildProd(config) {
return build({
...config,
minify: true,
define: {
"import.meta.env": JSON.stringify(ENV_VARS.production),
},
outdir: "dist/prod",
};
return build(config);
});
}
const createESMRawBuild = async () => {
const chunksConfig = {
entryPoints: ["index.tsx", "**/*.chunk.ts"],
entryNames: "[name]",
};
// development unminified build with source maps
await buildDev(rawConfigIndex);
await buildDev(rawConfigChunks);
await buildDev({
...getConfig("dist/dev"),
...chunksConfig,
});
// production minified buld without sourcemaps
await buildProd(rawConfigIndex);
await buildProd(rawConfigChunks);
await buildProd({
...getConfig("dist/prod"),
...chunksConfig,
});
};
// otherwise throws "ERROR: Could not resolve "./subset-worker.chunk"
(async () => {
await createESMRawBuild();
})();