diff options
author | Kai WU <kaiwu2004@gmail.com> | 2024-07-19 20:13:17 +0800 |
---|---|---|
committer | Kai WU <kaiwu2004@gmail.com> | 2024-07-19 20:13:17 +0800 |
commit | aa3ff1f356992953c7953ea7b314c927def13958 (patch) | |
tree | 8280e0b3d7e923a9397012fc550579e6e0043cbc | |
parent | 58e3f4b8095b2311adeb356789c30c93c46511ec (diff) | |
download | wechat_dev_tools-aa3ff1f356992953c7953ea7b314c927def13958.tar.gz wechat_dev_tools-aa3ff1f356992953c7953ea7b314c927def13958.zip |
println error
-rw-r--r-- | src/build.gleam | 10 | ||||
-rw-r--r-- | src/build_ffi.mjs | 80 |
2 files changed, 54 insertions, 36 deletions
diff --git a/src/build.gleam b/src/build.gleam index a999c57..038afe9 100644 --- a/src/build.gleam +++ b/src/build.gleam @@ -64,9 +64,11 @@ fn pages_assets() -> List(Asset) { } fn fold_result(r0: Result(Nil, String), r: Result(Nil, String)) -> Result(Nil, String) { - case r { - Ok(Nil) -> r0 - Error(_) -> r + case r0, r { + Ok(Nil), Ok(Nil) -> r0 + Error(_), Ok(Nil) -> r0 + Ok(Nil), Error(_) -> r + Error(e1), Error(e2) -> Error(e1 <> e2) } } @@ -87,6 +89,6 @@ pub fn main() { [r0, r1, r2] |> list.fold(Ok(Nil), fold_result) - |> result.map_error(fn (e) { io.println(e) }) + |> result.map_error(fn (e) { io.println_error(e) }) |> promise.resolve } diff --git a/src/build_ffi.mjs b/src/build_ffi.mjs index 52ad01e..4cac382 100644 --- a/src/build_ffi.mjs +++ b/src/build_ffi.mjs @@ -4,52 +4,68 @@ import { lessLoader } from 'esbuild-plugin-less'; export function bundle_build(entry, out) { return new Promise(resolve => { - let b = build({ - entryPoints: [entry], - bundle: true, - minify: true, - format: 'esm', - outfile: out, - }) - resolve(new Ok(undefined)) + try { + let b = build({ + entryPoints: [entry], + bundle: true, + minify: true, + format: 'esm', + outfile: out, + }) + resolve(new Ok(undefined)) + } catch (e) { + resolve(new Error("bundle build error")) + } }) } export function js_build(js, out) { return new Promise(resolve => { - let b = build({ - stdin: { - contents: js, - loader: 'js', - }, - bundle: false, - minify: false, - format: 'esm', - outfile: out, - }) - resolve(new Ok(undefined)) + try { + let b = build({ + stdin: { + contents: js, + loader: 'js', + }, + bundle: false, + minify: false, + format: 'esm', + outfile: out, + }) + resolve(new Ok(undefined)) + } catch (e) { + resolve(new Error("js build error")) + } }) } export function copy_build(src, out) { return new Promise(resolve => { - let b = build({ - entryPoints: [src], - loader: {'.wxml': 'copy', '.json': 'copy'}, - outfile: out, - }) - resolve(new Ok(undefined)) + try { + let b = build({ + entryPoints: [src], + loader: {'.wxml': 'copy', '.json': 'copy'}, + outfile: out, + }) + resolve(new Ok(undefined)) + } catch (e) { + resolve(new Error("copy build error")) + } }) } export function less_build(css, out) { return new Promise(resolve => { - let b = build({ - entryPoints: [css], - plugins: [lessLoader()], - loader: {'.less': 'css'}, - outfile: out, - }) - resolve(new Ok(undefined)) + try { + let b = build({ + entryPoints: [css], + plugins: [lessLoader()], + loader: {'.less': 'css'}, + outfile: out, + }) + resolve(new Ok(undefined)) + } catch (e) { + resolve(new Error("less build error")) + } }) } |