Combine esbuild scripts (#184531)

* Combine esbuild scripts

This combines the various build scripts used for building webview/notebook content. This should make it easier to update settings for them

As part of this, I also fixed the script so that on watch it restarts automatically on syntax errors instead of exiting

* Migrate other build script

* Fixing math build script
This commit is contained in:
Matt Bierner
2023-06-09 14:55:05 -07:00
committed by GitHub
parent 12533c5490
commit 5a55352cf7
7 changed files with 145 additions and 222 deletions

View File

@@ -4,42 +4,15 @@
*--------------------------------------------------------------------------------------------*/
// @ts-check
const path = require('path');
const esbuild = require('esbuild');
const args = process.argv.slice(2);
const isWatch = args.indexOf('--watch') >= 0;
let outputRoot = __dirname;
const outputRootIndex = args.indexOf('--outputRoot');
if (outputRootIndex >= 0) {
outputRoot = args[outputRootIndex + 1];
}
const srcDir = path.join(__dirname, 'preview-src');
const outDir = path.join(outputRoot, 'media');
const outDir = path.join(__dirname, 'media');
function build() {
return esbuild.build({
entryPoints: [
path.join(srcDir, 'index.ts'),
path.join(srcDir, 'pre'),
],
bundle: true,
minify: true,
sourcemap: false,
format: 'iife',
outdir: outDir,
platform: 'browser',
target: ['es2020'],
});
}
build().catch(() => process.exit(1));
if (isWatch) {
const watcher = require('@parcel/watcher');
watcher.subscribe(srcDir, () => {
return build();
});
}
require('../esbuild-webview-common').run({
entryPoints: [
path.join(srcDir, 'index.ts'),
path.join(srcDir, 'pre'),
],
srcDir,
outdir: outDir,
}, process.argv);