X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/9135a85de4eef32a91c7a3ee0aa405ed454e5a4c..refs/pull/5312/head:/dev/build/esbuild.js diff --git a/dev/build/esbuild.js b/dev/build/esbuild.js index 57a224876..fea8c01e3 100644 --- a/dev/build/esbuild.js +++ b/dev/build/esbuild.js @@ -2,6 +2,7 @@ const esbuild = require('esbuild'); const path = require('path'); +const fs = require('fs'); // Check if we're building for production // (Set via passing `production` as first argument) @@ -11,6 +12,9 @@ const isProd = process.argv[2] === 'production'; 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'), + markdown: path.join(__dirname, '../../resources/js/markdown/index.mjs'), + wysiwyg: path.join(__dirname, '../../resources/js/wysiwyg/index.ts'), }; // Locate our output directory @@ -19,12 +23,28 @@ const outdir = path.join(__dirname, '../../public/dist'); // Build via esbuild esbuild.build({ bundle: true, + metafile: true, entryPoints, outdir, sourcemap: true, - target: 'es2020', + target: 'es2021', mainFields: ['module', 'main'], format: 'esm', minify: isProd, - logLevel: "info", -}).catch(() => process.exit(1)); \ No newline at end of file + logLevel: 'info', + loader: { + '.svg': 'text', + }, + absWorkingDir: path.join(__dirname, '../..'), + alias: { + '@icons': './resources/icons', + lexical: './resources/js/wysiwyg/lexical/core', + '@lexical': './resources/js/wysiwyg/lexical', + }, + banner: { + js: '// See the "/licenses" URI for full package license details', + css: '/* See the "/licenses" URI for full package license details */', + }, +}).then(result => { + fs.writeFileSync('esbuild-meta.json', JSON.stringify(result.metafile)); +}).catch(() => process.exit(1));