diff options
Diffstat (limited to 'scripts/cmd/build.js')
-rw-r--r-- | scripts/cmd/build.js | 106 |
1 files changed, 53 insertions, 53 deletions
diff --git a/scripts/cmd/build.js b/scripts/cmd/build.js index 469f5d0c3..b5eb91195 100644 --- a/scripts/cmd/build.js +++ b/scripts/cmd/build.js @@ -7,70 +7,70 @@ import glob from 'tiny-glob'; /** @type {import('esbuild').BuildOptions} */ const defaultConfig = { - minify: false, - format: 'esm', - platform: 'node', - target: 'node14', - sourcemap: 'inline', - sourcesContent: false, + minify: false, + format: 'esm', + platform: 'node', + target: 'node14', + sourcemap: 'inline', + sourcesContent: false, }; const dt = new Intl.DateTimeFormat('en-us', { - hour: '2-digit', - minute: '2-digit', + hour: '2-digit', + minute: '2-digit', }); export default async function build(...args) { - const config = Object.assign({}, defaultConfig); - const isDev = args.slice(-1)[0] === 'IS_DEV'; - const patterns = args - .filter((f) => !!f) // remove empty args - .map((f) => f.replace(/^'/, '').replace(/'$/, '')); // Needed for Windows: glob strings contain surrounding string chars??? remove these - let entryPoints = [].concat(...(await Promise.all(patterns.map((pattern) => glob(pattern, { filesOnly: true, absolute: true }))))); + const config = Object.assign({}, defaultConfig); + const isDev = args.slice(-1)[0] === 'IS_DEV'; + const patterns = args + .filter((f) => !!f) // remove empty args + .map((f) => f.replace(/^'/, '').replace(/'$/, '')); // Needed for Windows: glob strings contain surrounding string chars??? remove these + let entryPoints = [].concat(...(await Promise.all(patterns.map((pattern) => glob(pattern, { filesOnly: true, absolute: true }))))); - const { type = 'module', dependencies = {} } = await fs.readFile('./package.json').then((res) => JSON.parse(res.toString())); - const format = type === 'module' ? 'esm' : 'cjs'; - const outdir = 'dist'; - await clean(outdir); + const { type = 'module', dependencies = {} } = await fs.readFile('./package.json').then((res) => JSON.parse(res.toString())); + const format = type === 'module' ? 'esm' : 'cjs'; + const outdir = 'dist'; + await clean(outdir); - if (!isDev) { - await esbuild.build({ - ...config, - bundle: entryPoints.length === 1, // Note: only use `bundle` with a single entrypoint! - entryPoints, - outdir, - format, - plugins: [svelte({ isDev })], - }); - return; - } + if (!isDev) { + await esbuild.build({ + ...config, + bundle: entryPoints.length === 1, // Note: only use `bundle` with a single entrypoint! + entryPoints, + outdir, + format, + plugins: [svelte({ isDev })], + }); + return; + } - const builder = await esbuild.build({ - ...config, - watch: { - onRebuild(error, result) { - const date = dt.format(new Date()); - if (error || (result && result.errors.length)) { - console.error(dim(`[${date}] `) + red(error || result.errors.join('\n'))); - } else { - if (result.warnings.length) { - console.log(dim(`[${date}] `) + yellow('⚠ updated with warnings:\n' + result.warnings.join('\n'))); - } - console.log(dim(`[${date}] `) + green('✔ updated')); - } - }, - }, - entryPoints, - outdir, - format, - plugins: [svelte({ isDev })], - }); + const builder = await esbuild.build({ + ...config, + watch: { + onRebuild(error, result) { + const date = dt.format(new Date()); + if (error || (result && result.errors.length)) { + console.error(dim(`[${date}] `) + red(error || result.errors.join('\n'))); + } else { + if (result.warnings.length) { + console.log(dim(`[${date}] `) + yellow('⚠ updated with warnings:\n' + result.warnings.join('\n'))); + } + console.log(dim(`[${date}] `) + green('✔ updated')); + } + }, + }, + entryPoints, + outdir, + format, + plugins: [svelte({ isDev })], + }); - process.on('beforeExit', () => { - builder.stop && builder.stop(); - }); + process.on('beforeExit', () => { + builder.stop && builder.stop(); + }); } async function clean(outdir) { - return del([`${outdir}/**`, `!${outdir}/**/*.d.ts`]); + return del([`${outdir}/**`, `!${outdir}/**/*.d.ts`]); } |