X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/63cb6015a8c6db453f5551e50c04bf6ebbc0f3f1..refs/pull/4322/head:/dev/build/esbuild.js diff --git a/dev/build/esbuild.js b/dev/build/esbuild.js index 46357038a..c1e246955 100644 --- a/dev/build/esbuild.js +++ b/dev/build/esbuild.js @@ -1,32 +1,35 @@ #!/usr/bin/env node const esbuild = require('esbuild'); -const fs = require('fs'); const path = require('path'); +const fs = require('fs'); // Check if we're building for production // (Set via passing `production` as first argument) const isProd = process.argv[2] === 'production'; // Gather our input files -const jsInDir = path.join(__dirname, '../../resources/js'); -const jsInDirFiles = fs.readdirSync(jsInDir, 'utf8'); -const entryFiles = jsInDirFiles - .filter(f => f.endsWith('.js') || f.endsWith('.mjs')) - .map(f => path.join(jsInDir, f)); +const entryPoints = { + app: path.join(__dirname, '../../resources/js/app.js'), + code: path.join(__dirname, '../../resources/js/code/index.mjs'), + 'legacy-modes': path.join(__dirname, '../../resources/js/code/legacy-modes.mjs'), +}; // Locate our output directory -const outDir = path.join(__dirname, '../../public/dist'); +const outdir = path.join(__dirname, '../../public/dist'); // Build via esbuild esbuild.build({ bundle: true, - entryPoints: entryFiles, - outdir: outDir, + metafile: true, + entryPoints, + outdir, sourcemap: true, target: 'es2020', mainFields: ['module', 'main'], format: 'esm', minify: isProd, logLevel: "info", +}).then(result => { + fs.writeFileSync('esbuild-meta.json', JSON.stringify(result.metafile)); }).catch(() => process.exit(1)); \ No newline at end of file