mirror of
https://github.com/Theodor-Springmann-Stiftung/lenz-web.git
synced 2025-12-17 23:15:29 +00:00
air update +version bump
This commit is contained in:
41
views/scripts/build.mjs
Normal file
41
views/scripts/build.mjs
Normal file
@@ -0,0 +1,41 @@
|
||||
import { build, context } from "esbuild";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import path from "node:path";
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const projectRoot = path.resolve(__dirname, "..");
|
||||
|
||||
const args = new Set(process.argv.slice(2));
|
||||
const isWatch = args.has("--watch");
|
||||
const shouldMinify = args.has("--minify") || args.has("--mode=production");
|
||||
|
||||
const entryFile = path.join(projectRoot, "transform", "main.js");
|
||||
const outFile = path.join(projectRoot, "assets", "scripts.js");
|
||||
|
||||
const buildOptions = {
|
||||
entryPoints: [entryFile],
|
||||
outfile: outFile,
|
||||
bundle: true,
|
||||
format: "esm",
|
||||
target: ["es2020"],
|
||||
platform: "browser",
|
||||
sourcemap: true,
|
||||
minify: shouldMinify,
|
||||
logLevel: "info",
|
||||
};
|
||||
|
||||
async function run() {
|
||||
if (isWatch) {
|
||||
const ctx = await context(buildOptions);
|
||||
await ctx.watch();
|
||||
console.log("[esbuild] watching for changes...");
|
||||
} else {
|
||||
await build(buildOptions);
|
||||
console.log("[esbuild] build completed");
|
||||
}
|
||||
}
|
||||
|
||||
run().catch((err) => {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user