37 lines
860 B
JavaScript
37 lines
860 B
JavaScript
/**
|
|
* build.mjs
|
|
*
|
|
* This bundles the javascript client. Only the JS client is handled here.
|
|
*
|
|
* we use two entrypoints, used by various pages. index.js is for every page, while vod.js is only for /vods/* pages.
|
|
*/
|
|
import esbuild from "esbuild";
|
|
import copyStaticFiles from "esbuild-copy-static-files";
|
|
|
|
const build = async () => {
|
|
console.log("🏗️ Building...");
|
|
await esbuild.build({
|
|
entryPoints: ["./src/client/index.js", './src/client/vod.js'],
|
|
outdir: "./dist/client",
|
|
bundle: true,
|
|
minify: true,
|
|
sourcemap: true,
|
|
platform: "browser",
|
|
target: "es2020",
|
|
logLevel: "info",
|
|
color: true,
|
|
plugins: [
|
|
copyStaticFiles({
|
|
src: "./src/assets",
|
|
dest: "./dist/client",
|
|
recursive: true,
|
|
})
|
|
],
|
|
});
|
|
};
|
|
|
|
build().catch((err) => {
|
|
console.error(err);
|
|
process.exit(1);
|
|
});
|