From 8d1b248a6d785cab3747ffc827a340358487f9f6 Mon Sep 17 00:00:00 2001 From: terwer Date: Wed, 30 Aug 2023 21:50:32 +0800 Subject: [PATCH] fix: fix windows import --- apps/.gitkeep | 0 tools/esbuild-config-custom/CHANGELOG.md | 14 +++++++++ tools/esbuild-config-custom/build.cjs | 37 +++++++++++++++--------- tools/esbuild-config-custom/package.json | 2 +- 4 files changed, 39 insertions(+), 14 deletions(-) create mode 100644 apps/.gitkeep diff --git a/apps/.gitkeep b/apps/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/tools/esbuild-config-custom/CHANGELOG.md b/tools/esbuild-config-custom/CHANGELOG.md index 7fc4dab3..62e5fb05 100644 --- a/tools/esbuild-config-custom/CHANGELOG.md +++ b/tools/esbuild-config-custom/CHANGELOG.md @@ -1,5 +1,19 @@ # @terwer/esbuild-config-custom +## 2.0.0 + +### Major Changes + +- fix: fix windows import + +### Minor Changes + +- fix: windows build is ok now + +### Patch Changes + +- fix: fix windows build + ## 1.2.0 ### Minor Changes diff --git a/tools/esbuild-config-custom/build.cjs b/tools/esbuild-config-custom/build.cjs index 37fe0c0d..abb3f13d 100755 --- a/tools/esbuild-config-custom/build.cjs +++ b/tools/esbuild-config-custom/build.cjs @@ -28,25 +28,36 @@ class ZhiBuild { let customConfig = {} // 兼容 windows const isWindows = os.platform() === "win32" - const esbuildConfigFile = isWindows ? `file:///${path.join(process.cwd(), cfg)}` : path.join(process.cwd(), cfg) + const esbuildConfigFile = isWindows + ? `${path.join(process.cwd(), cfg)}`.replace(/\\/g, "/") + : path.join(process.cwd(), cfg) console.log("reading user defined esbuild config from =>", esbuildConfigFile) - if (existsSync(esbuildConfigFile)) { + if (!existsSync(esbuildConfigFile)) { + console.warn(`userEsbuildConfig not found, using default`) + } else { try { - // 兼容 mjs 和 cjs - const pkg = await import(esbuildConfigFile) - console.log("pkg=>", pkg) - let cfg = pkg - if (pkg.default) { - cfg = pkg.default + let customCfg + try { + console.log(`try import esbuildConfigFile => ${esbuildConfigFile}`) + // 兼容 mjs 和 cjs + const pkg = await import(esbuildConfigFile) + console.log("pkg=>", pkg) + customCfg = pkg + if (pkg.default) { + customCfg = pkg.default + } + } catch (e) { + console.log(`import error, using require instead.esbuildConfigFile => ${esbuildConfigFile}`) + customCfg = require(esbuildConfigFile) } - userEsbuildConfig = cfg.esbuildConfig ?? {} - customConfig = cfg.customConfig ?? {} - } catch (error) { - console.error(`Failed to load esbuild config: ${error}`) + userEsbuildConfig = customCfg.esbuildConfig ?? {} + customConfig = customCfg.customConfig ?? {} + } catch (e2) { + console.error(`Failed to load esbuild config: ${e2}`) process.exit(1) } } - // console.log("parsed user defined esbuild config", esbuildConfig) + console.log("parsed user defined esbuild config", userEsbuildConfig) // =================== // 默认集成的配置开始 diff --git a/tools/esbuild-config-custom/package.json b/tools/esbuild-config-custom/package.json index 59e8fad0..143bc1d0 100644 --- a/tools/esbuild-config-custom/package.json +++ b/tools/esbuild-config-custom/package.json @@ -1,6 +1,6 @@ { "name": "@terwer/esbuild-config-custom", - "version": "1.2.0", + "version": "2.0.0", "type": "module", "description": "universal esbuild tool for library", "bin": {