summaryrefslogtreecommitdiff
path: root/scripts/cmd/build.js
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/cmd/build.js')
-rw-r--r--scripts/cmd/build.js106
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`]);
}