From be684bc1c01fe24db580bcd19be863a3b09476b4 Mon Sep 17 00:00:00 2001 From: nobkd <44443899+nobkd@users.noreply.github.com> Date: Wed, 22 Jan 2025 09:36:52 +0100 Subject: [PATCH 1/3] easier bun build error handlng --- packages/nuekit/src/builder.js | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/packages/nuekit/src/builder.js b/packages/nuekit/src/builder.js index a1afff1c..e8bd5cb5 100644 --- a/packages/nuekit/src/builder.js +++ b/packages/nuekit/src/builder.js @@ -21,7 +21,6 @@ export async function buildJS(args) { const { outdir, toname, minify, bundle } = args const is_esbuild = args.esbuild || !process.isBun const builder = await getBuilder(is_esbuild) - let ret const opts = { external: bundle ? ['../@nue/*', '/@nue/*'] : is_esbuild ? undefined : ['*'], @@ -30,6 +29,7 @@ export async function buildJS(args) { outdir, bundle, minify, + throw: true, // make bun always throw on build error } if (args.silent) opts.logLevel = 'silent' @@ -44,37 +44,15 @@ export async function buildJS(args) { } try { - ret = await builder.build(opts) + await builder.build(opts) - } catch (e) { ret = e } - - // console.info(ret) - const error = parseError(ret) - if (error) throw error -} - -export function parseError(buildResult) { - const { logs = [], errors = [] } = buildResult - let error - - // Bun - if (logs.length) { - const [err] = logs - error = { text: err.message, ...err.position } - } - - // esbuild - if (errors.length) { + } catch ({ errors }) { const [err] = errors - error = { text: err.text, ...err.location } - } - - if (error) { + const error = { text: err.message || err.text, ...err.location, ...err.position } error.title = error.text.includes('resolve') ? 'Import error' : 'Syntax error' delete error.file - return error + throw error } - } export async function lightningCSS(filename, minify, opts = {}) { From a82a7f42470877a4817d6bd4c1e6639c01dc430f Mon Sep 17 00:00:00 2001 From: nobkd <44443899+nobkd@users.noreply.github.com> Date: Wed, 22 Jan 2025 09:55:53 +0100 Subject: [PATCH 2/3] fix esbuild --- packages/nuekit/src/builder.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/nuekit/src/builder.js b/packages/nuekit/src/builder.js index e8bd5cb5..137bae05 100644 --- a/packages/nuekit/src/builder.js +++ b/packages/nuekit/src/builder.js @@ -29,7 +29,6 @@ export async function buildJS(args) { outdir, bundle, minify, - throw: true, // make bun always throw on build error } if (args.silent) opts.logLevel = 'silent' @@ -43,6 +42,9 @@ export async function buildJS(args) { } } + // make bun always throw on build error + if (!is_esbuild) opts.throw = true + try { await builder.build(opts) From 1c23201990470599debdb89ca49e5fe22df26f1c Mon Sep 17 00:00:00 2001 From: nobkd <44443899+nobkd@users.noreply.github.com> Date: Wed, 22 Jan 2025 09:58:53 +0100 Subject: [PATCH 3/3] reduce --- packages/nuekit/src/builder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuekit/src/builder.js b/packages/nuekit/src/builder.js index 137bae05..7a50c9c8 100644 --- a/packages/nuekit/src/builder.js +++ b/packages/nuekit/src/builder.js @@ -50,7 +50,7 @@ export async function buildJS(args) { } catch ({ errors }) { const [err] = errors - const error = { text: err.message || err.text, ...err.location, ...err.position } + const error = { text: err.message || err.text, ...(err.location || err.position) } error.title = error.text.includes('resolve') ? 'Import error' : 'Syntax error' delete error.file throw error