diff --git a/.esbuild/esbuild.cjs b/.esbuild/esbuild.cjs index 5cdee62c7..776ae6eec 100644 --- a/.esbuild/esbuild.cjs +++ b/.esbuild/esbuild.cjs @@ -7,8 +7,15 @@ const handler = (e) => { }; const watch = process.argv.includes('--watch'); +// mermaid.js build(umdBuild({ minify: false, watch })).catch(handler); +// mermaid.esm.mjs build(esmBuild({ minify: false, watch })).catch(handler); +// mermaid.core.js +build(umdBuild({ minify: false, core: true })).catch(handler); + +// mermaid.min.js build(esmBuild()).catch(handler); +// mermaid.esm.min.mjs build(umdBuild()).catch(handler); diff --git a/.esbuild/util.cjs b/.esbuild/util.cjs index 7fc77d0c5..518bb723f 100644 --- a/.esbuild/util.cjs +++ b/.esbuild/util.cjs @@ -39,12 +39,17 @@ exports.esmBuild = (override = { minify: true }) => { }; /** - * @param {Options} override + * @param {Options & { core?: boolean }} override * @returns {Options} */ -exports.umdBuild = (override = { minify: true }) => { +exports.umdBuild = (override = { minify: true, core: false }) => { + const core = override.core; + if (core && override.minify) { + throw new Error('Cannot minify core build'); + } + delete override.core; return buildOptions({ - outfile: `dist/mermaid${override.minify ? '.min' : ''}.js`, + outfile: `dist/mermaid${override.minify ? '.min' : core ? '.core' : ''}.js`, ...override, }); };