aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai WU <kaiwu2004@gmail.com>2024-07-19 20:13:17 +0800
committerKai WU <kaiwu2004@gmail.com>2024-07-19 20:13:17 +0800
commitaa3ff1f356992953c7953ea7b314c927def13958 (patch)
tree8280e0b3d7e923a9397012fc550579e6e0043cbc
parent58e3f4b8095b2311adeb356789c30c93c46511ec (diff)
downloadwechat_dev_tools-aa3ff1f356992953c7953ea7b314c927def13958.tar.gz
wechat_dev_tools-aa3ff1f356992953c7953ea7b314c927def13958.zip
println error
-rw-r--r--src/build.gleam10
-rw-r--r--src/build_ffi.mjs80
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"))
+ }
})
}