5439af1955
- Add Gitea Actions workflows: test.yml (lint + test on push/PR) and release.yml (build + NSIS installer + upload on v* tags) - Add NSIS installer with optional desktop shortcut and auto-start - Add esbuild bundler: ES module migration with IIFE bundle output - Add build-dist-windows.sh for cross-building Windows distribution - Fix all ruff lint errors (import sorting, unused imports, line length) - Remove redundant scripts (start-server.bat, stop-server.bat, start-server-background.vbs) - Update CLAUDE.md with CI/CD and release documentation
27 lines
595 B
JavaScript
27 lines
595 B
JavaScript
import * as esbuild from 'esbuild';
|
|
|
|
const srcDir = 'media_server/static';
|
|
const outDir = `${srcDir}/dist`;
|
|
|
|
const watch = process.argv.includes('--watch');
|
|
|
|
/** @type {esbuild.BuildOptions} */
|
|
const jsOpts = {
|
|
entryPoints: [`${srcDir}/js/app.js`],
|
|
bundle: true,
|
|
format: 'iife',
|
|
outfile: `${outDir}/app.bundle.js`,
|
|
minify: true,
|
|
sourcemap: true,
|
|
target: ['es2020'],
|
|
logLevel: 'info',
|
|
};
|
|
|
|
if (watch) {
|
|
const jsCtx = await esbuild.context(jsOpts);
|
|
await jsCtx.watch();
|
|
console.log('Watching for changes...');
|
|
} else {
|
|
await esbuild.build(jsOpts);
|
|
}
|