@zhin.js/cli 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @zhin.js/cli
2
2
 
3
+ ## 1.0.12
4
+
5
+ ### Patch Changes
6
+
7
+ - d16a69c: fix: test trust publish
8
+ - Updated dependencies [d16a69c]
9
+ - @zhin.js/logger@0.1.2
10
+ - zhin.js@1.0.18
11
+
12
+ ## 1.0.11
13
+
14
+ ### Patch Changes
15
+
16
+ - 3bc5d56: fix: 内存优化
17
+
3
18
  ## 1.0.10
4
19
 
5
20
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,YAAY,SAyDrB,CAAC"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,YAAY,SA2DrB,CAAC"}
@@ -7,6 +7,8 @@ export const buildCommand = new Command('build')
7
7
  .description('构建插件项目')
8
8
  .argument('[plugin]', '插件名称(默认构建所有插件)')
9
9
  .option('--clean', '清理输出目录', false)
10
+ .option('--production', '生产构建(启用 Tree Shaking)', true)
11
+ .option('--analyze', '分析包体积', false)
10
12
  .action(async (pluginName, options) => {
11
13
  try {
12
14
  const cwd = process.cwd();
@@ -27,7 +29,7 @@ export const buildCommand = new Command('build')
27
29
  logger.error(`未找到插件: ${pluginName}`);
28
30
  process.exit(1);
29
31
  }
30
- await buildPlugin(pluginPath, pluginName, options.clean);
32
+ await buildPlugin(pluginPath, pluginName, options);
31
33
  }
32
34
  else {
33
35
  // 构建所有插件
@@ -44,7 +46,7 @@ export const buildCommand = new Command('build')
44
46
  logger.info(`找到 ${validPlugins.length} 个插件,开始构建...`);
45
47
  for (const plugin of validPlugins) {
46
48
  const pluginPath = path.join(pluginsDir, plugin);
47
- await buildPlugin(pluginPath, plugin, options.clean);
49
+ await buildPlugin(pluginPath, plugin, options);
48
50
  }
49
51
  }
50
52
  }
@@ -53,11 +55,11 @@ export const buildCommand = new Command('build')
53
55
  process.exit(1);
54
56
  }
55
57
  });
56
- async function buildPlugin(pluginPath, pluginName, clean) {
58
+ async function buildPlugin(pluginPath, pluginName, options) {
57
59
  return new Promise((resolve, reject) => {
58
60
  logger.info(`正在构建插件: ${pluginName}...`);
59
61
  // 清理输出目录
60
- if (clean) {
62
+ if (options.clean) {
61
63
  const libPath = path.join(pluginPath, 'lib');
62
64
  const distPath = path.join(pluginPath, 'dist');
63
65
  if (fs.existsSync(libPath)) {
@@ -69,11 +71,20 @@ async function buildPlugin(pluginPath, pluginName, clean) {
69
71
  logger.info(`✓ 已清理 ${pluginName}/dist`);
70
72
  }
71
73
  }
74
+ // 设置环境变量
75
+ const env = {
76
+ ...process.env,
77
+ NODE_ENV: options.production ? 'production' : 'development',
78
+ };
79
+ if (options.production) {
80
+ logger.info(`📦 生产构建模式 (启用 Tree Shaking)`);
81
+ }
72
82
  // 使用 pnpm build 构建插件
73
83
  const child = spawn('pnpm', ['build'], {
74
84
  cwd: pluginPath,
75
85
  stdio: 'inherit',
76
86
  shell: true,
87
+ env,
77
88
  });
78
89
  child.on('close', (code) => {
79
90
  if (code === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,QAAQ,CAAC;KACrB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;KACtC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,OAA2B,EAAE,EAAE;IAC5E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,qBAAqB;QACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,YAAY;QACZ,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAErD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,EAAE,CAAC,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,SAAS;YACT,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACtC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;YACpF,CAAC,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,MAAM,cAAc,CAAC,CAAC;YAErD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,KAAK,UAAU,WAAW,CAAC,UAAkB,EAAE,UAAkB,EAAE,KAAc;IAC/E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,KAAK,CAAC,CAAC;QAExC,SAAS;QACT,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE/C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,SAAS,UAAU,MAAM,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,SAAS,UAAU,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;YACrC,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,CAAC;gBACvC,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,KAAK,UAAU,cAAc,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,KAAK,UAAU,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,QAAQ,CAAC;KACrB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;KACtC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;KAClC,MAAM,CAAC,cAAc,EAAE,uBAAuB,EAAE,IAAI,CAAC;KACrD,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC;KACnC,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,OAAkE,EAAE,EAAE;IACnH,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,qBAAqB;QACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,YAAY;QACZ,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAErD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,EAAE,CAAC,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,SAAS;YACT,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACtC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;YACpF,CAAC,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,MAAM,cAAc,CAAC,CAAC;YAErD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,KAAK,UAAU,WAAW,CAAC,UAAkB,EAAE,UAAkB,EAAE,OAAkE;IACnI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,KAAK,CAAC,CAAC;QAExC,SAAS;QACT,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE/C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,SAAS,UAAU,MAAM,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,SAAS,UAAU,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,SAAS;QACT,MAAM,GAAG,GAAG;YACV,GAAG,OAAO,CAAC,GAAG;YACd,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;SAC5D,CAAC;QAEF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;QAED,qBAAqB;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;YACrC,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;YACX,GAAG;SACJ,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,CAAC;gBACvC,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,KAAK,UAAU,cAAc,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,KAAK,UAAU,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,UAAU,SAoKnB,CAAC"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,UAAU,SA4KnB,CAAC"}
@@ -20,19 +20,14 @@ export const devCommand = new Command('dev')
20
20
  // 加载环境变量文件
21
21
  logger.info('🔍 正在加载环境变量...');
22
22
  loadEnvFiles(cwd, 'development');
23
- // 检查src目录是否存在
23
+ // 检查src目录是否存在,不存在则创建
24
24
  const srcPath = path.join(cwd, 'src');
25
25
  if (!fs.existsSync(srcPath)) {
26
- logger.error('src目录不存在');
27
- logger.info('请确保项目结构正确,src目录包含入口文件');
28
- process.exit(1);
26
+ fs.mkdirSync(srcPath, { recursive: true });
29
27
  }
30
- // 检查入口文件
28
+ // 检查入口文件是否存在,决定启动方式
31
29
  const entryFile = path.join(srcPath, 'index.ts');
32
- if (!fs.existsSync(entryFile)) {
33
- logger.error('入口文件 src/index.ts 不存在');
34
- process.exit(1);
35
- }
30
+ const hasEntryFile = fs.existsSync(entryFile);
36
31
  logger.info('📦 开发模式启动中...');
37
32
  // 启动机器人的函数
38
33
  const startBot = () => {
@@ -42,18 +37,32 @@ export const devCommand = new Command('dev')
42
37
  NODE_ENV: 'development',
43
38
  ZHIN_DEV_MODE: 'true',
44
39
  ZHIN_HMR_PORT: options.port,
45
- ZHIN_VERBOSE: options.verbose ? 'true' : 'false'
40
+ ZHIN_VERBOSE: options.verbose ? 'true' : 'false',
41
+ // 添加 development 条件,让 Node.js 优先加载 package.json 中的 development 字段
42
+ NODE_OPTIONS: (process.env.NODE_OPTIONS || '') + ' --conditions=development'
46
43
  };
47
- // 选择运行时
48
- const runtime = options.bun ? 'bun' : 'tsx';
49
- const args = options.bun ? ['src/index.ts'] : ['--expose-gc', 'src/index.ts'];
50
- logger.info(`📦 启动命令: ${runtime} ${args.join(' ')}`);
44
+ // 选择运行时和参数
45
+ const runtime = options.bun ? 'bun' : 'node';
46
+ let args;
47
+ if (hasEntryFile) {
48
+ // 有入口文件,直接运行
49
+ args = options.bun
50
+ ? ['src/index.ts']
51
+ : ['--import', 'tsx/esm', 'src/index.ts'];
52
+ logger.info(`📦 启动命令: ${runtime} ${args.join(' ')}`);
53
+ }
54
+ else {
55
+ // 没有入口文件,使用 -e 参数直接执行代码
56
+ args = options.bun
57
+ ? ['-e', "import('zhin.js/setup')"]
58
+ : ['--import', 'tsx/esm', '-e', "import('zhin.js/setup')"];
59
+ logger.info(`📦 启动命令: ${runtime} ${args.join(' ')}`);
60
+ }
51
61
  // 启动机器人
52
62
  return spawn(runtime, args, {
53
63
  cwd,
54
64
  stdio: 'inherit',
55
65
  env,
56
- shell: true,
57
66
  });
58
67
  };
59
68
  let child = startBot();
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,MAAM,CAAC,mBAAmB,EAAE,SAAS,EAAE,MAAM,CAAC;KAC9C,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC;KACpC,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,CAAC;KAC7C,MAAM,CAAC,KAAK,EAAE,OAAyD,EAAE,EAAE;IAC1E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,cAAc;QACd,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,WAAW;QACX,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAEjC,cAAc;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,SAAS;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE7B,WAAW;QACX,MAAM,QAAQ,GAAG,GAAiB,EAAE;YAClC,SAAS;YACT,MAAM,GAAG,GAAG;gBACV,GAAG,OAAO,CAAC,GAAG;gBACd,QAAQ,EAAE,aAAa;gBACvB,aAAa,EAAE,MAAM;gBACrB,aAAa,EAAE,OAAO,CAAC,IAAI;gBAC3B,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;aACjD,CAAC;YAEF,QAAQ;YACR,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAE9E,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAErD,QAAQ;YACR,OAAO,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;gBAC1B,GAAG;gBACH,KAAK,EAAE,SAAS;gBAChB,GAAG;gBACH,KAAK,EAAC,IAAI;aACX,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QACvB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,OAAO;QACP,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC5B,IAAI,YAAY,IAAI,SAAS;gBAAE,OAAO;YACtC,YAAY,GAAG,IAAI,CAAC;YAEpB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE/B,WAAW;YACX,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAC,KAAK,CAAA;gBACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzB,iBAAiB;gBACjB,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACjC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC;YAED,KAAK,GAAG,QAAQ,EAAE,CAAC;YACnB,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC;QAEF,WAAW;QACX,MAAM,kBAAkB,GAAG,CAAC,YAA0B,EAAE,EAAE;YACxD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACzC,cAAc;oBACd,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACrC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;4BACd,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBAClD,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;wBACnD,CAAC;oBACH,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;wBAChB,OAAO,UAAU,EAAE,CAAC;oBACtB,CAAC;oBACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,aAAa;QACb,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE1B,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAChD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElD,SAAS;QACT,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC/B,SAAS,GAAG,IAAI,CAAC;YAEjB,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YAED,eAAe;YACf,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC;gBAED,UAAU;gBACV,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/B,WAAW;QACX,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAElD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,WAAW,CAAC,YAAY,IAAI,CACjC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC;YACnC,WAAW,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CACzC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,YAAY,SAyKrB,CAAC;AAEL,eAAO,MAAM,cAAc,SA4CvB,CAAC"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,YAAY,SAkKrB,CAAC;AAEL,eAAO,MAAM,cAAc,SA4CvB,CAAC"}
@@ -21,16 +21,9 @@ export const startCommand = new Command('start')
21
21
  // 加载环境变量文件
22
22
  logger.info('🔍 正在加载环境变量...');
23
23
  loadEnvFiles(cwd, 'production');
24
- // 检查构建产物
25
- const distPath = path.join(cwd, 'lib');
26
- const sourcePath = path.join(cwd, 'src');
27
- const sourceFile = path.join(sourcePath, 'index.ts');
28
- const distFile = path.join(distPath, 'index.js');
29
- const entryFile = options.bun ? path.relative(cwd, sourceFile) : path.relative(cwd, distFile);
30
- if (!fs.existsSync(entryFile)) {
31
- logger.error('构建产物不存在,请先运行 zhin build');
32
- process.exit(1);
33
- }
24
+ // 新架构: 始终使用 import('zhin.js/setup') 方式启动
25
+ // 不再依赖 lib/index.js 入口文件
26
+ const useEval = true;
34
27
  logger.info('🚀 正在生产模式启动机器人...');
35
28
  // 启动机器人的函数
36
29
  const startBot = async () => {
@@ -46,15 +39,17 @@ export const startCommand = new Command('start')
46
39
  ['ignore', fs.openSync(options.logFile, 'a'), fs.openSync(options.logFile, 'a')] :
47
40
  'ignore';
48
41
  }
49
- // 选择运行时
42
+ // 选择运行时和参数
50
43
  const runtime = options.bun ? 'bun' : 'tsx';
51
- const args = options.bun ? [entryFile] : ['--expose-gc', entryFile];
52
- logger.info(`📦 启动命令: ${runtime} ${args.join(' ')}`);
44
+ // 使用 -e 参数启动 zhin.js/setup
45
+ const args = options.bun
46
+ ? ['-e', "import('zhin.js/setup')"]
47
+ : ['--expose-gc', '-e', "import('zhin.js/setup')"];
48
+ logger.info(`📦 启动命令: ${runtime} -e "import('zhin.js/setup')"`);
53
49
  return startProcess(runtime, args, {
54
50
  cwd,
55
51
  env,
56
52
  stdio,
57
- shell: true,
58
53
  detached: options.daemon,
59
54
  });
60
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/cli",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "Zhin机器人框架CLI工具",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -22,7 +22,15 @@
22
22
  "dotenv": "^16.3.1",
23
23
  "glob": "^10.3.10",
24
24
  "inquirer": "^9.2.12",
25
- "@zhin.js/logger": "0.1.1"
25
+ "@zhin.js/logger": "0.1.2"
26
+ },
27
+ "peerDependencies": {
28
+ "zhin.js": "1.0.18"
29
+ },
30
+ "peerDependenciesMeta": {
31
+ "zhin.js": {
32
+ "optional": true
33
+ }
26
34
  },
27
35
  "devDependencies": {
28
36
  "@types/fs-extra": "^11.0.4",
@@ -31,6 +39,11 @@
31
39
  "@types/inquirer": "^9.0.7",
32
40
  "typescript": "^5.3.0"
33
41
  },
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "git+https://github.com/zhinjs/zhin.git",
45
+ "directory": "basic/cli"
46
+ },
34
47
  "scripts": {
35
48
  "build": "tsc",
36
49
  "clean": "rm -rf lib"
@@ -8,7 +8,9 @@ export const buildCommand = new Command('build')
8
8
  .description('构建插件项目')
9
9
  .argument('[plugin]', '插件名称(默认构建所有插件)')
10
10
  .option('--clean', '清理输出目录', false)
11
- .action(async (pluginName: string | undefined, options: { clean: boolean }) => {
11
+ .option('--production', '生产构建(启用 Tree Shaking)', true)
12
+ .option('--analyze', '分析包体积', false)
13
+ .action(async (pluginName: string | undefined, options: { clean: boolean; production: boolean; analyze: boolean }) => {
12
14
  try {
13
15
  const cwd = process.cwd();
14
16
 
@@ -34,7 +36,7 @@ export const buildCommand = new Command('build')
34
36
  process.exit(1);
35
37
  }
36
38
 
37
- await buildPlugin(pluginPath, pluginName, options.clean);
39
+ await buildPlugin(pluginPath, pluginName, options);
38
40
  } else {
39
41
  // 构建所有插件
40
42
  const plugins = await fs.readdir(pluginsDir);
@@ -53,7 +55,7 @@ export const buildCommand = new Command('build')
53
55
 
54
56
  for (const plugin of validPlugins) {
55
57
  const pluginPath = path.join(pluginsDir, plugin);
56
- await buildPlugin(pluginPath, plugin, options.clean);
58
+ await buildPlugin(pluginPath, plugin, options);
57
59
  }
58
60
  }
59
61
 
@@ -63,12 +65,12 @@ export const buildCommand = new Command('build')
63
65
  }
64
66
  });
65
67
 
66
- async function buildPlugin(pluginPath: string, pluginName: string, clean: boolean): Promise<void> {
68
+ async function buildPlugin(pluginPath: string, pluginName: string, options: { clean: boolean; production: boolean; analyze: boolean }): Promise<void> {
67
69
  return new Promise((resolve, reject) => {
68
70
  logger.info(`正在构建插件: ${pluginName}...`);
69
71
 
70
72
  // 清理输出目录
71
- if (clean) {
73
+ if (options.clean) {
72
74
  const libPath = path.join(pluginPath, 'lib');
73
75
  const distPath = path.join(pluginPath, 'dist');
74
76
 
@@ -83,11 +85,22 @@ async function buildPlugin(pluginPath: string, pluginName: string, clean: boolea
83
85
  }
84
86
  }
85
87
 
88
+ // 设置环境变量
89
+ const env = {
90
+ ...process.env,
91
+ NODE_ENV: options.production ? 'production' : 'development',
92
+ };
93
+
94
+ if (options.production) {
95
+ logger.info(`📦 生产构建模式 (启用 Tree Shaking)`);
96
+ }
97
+
86
98
  // 使用 pnpm build 构建插件
87
99
  const child = spawn('pnpm', ['build'], {
88
100
  cwd: pluginPath,
89
101
  stdio: 'inherit',
90
102
  shell: true,
103
+ env,
91
104
  });
92
105
 
93
106
  child.on('close', (code) => {
@@ -24,20 +24,15 @@ export const devCommand = new Command('dev')
24
24
  logger.info('🔍 正在加载环境变量...');
25
25
  loadEnvFiles(cwd, 'development');
26
26
 
27
- // 检查src目录是否存在
27
+ // 检查src目录是否存在,不存在则创建
28
28
  const srcPath = path.join(cwd, 'src');
29
29
  if (!fs.existsSync(srcPath)) {
30
- logger.error('src目录不存在');
31
- logger.info('请确保项目结构正确,src目录包含入口文件');
32
- process.exit(1);
30
+ fs.mkdirSync(srcPath, { recursive: true });
33
31
  }
34
32
 
35
- // 检查入口文件
33
+ // 检查入口文件是否存在,决定启动方式
36
34
  const entryFile = path.join(srcPath, 'index.ts');
37
- if (!fs.existsSync(entryFile)) {
38
- logger.error('入口文件 src/index.ts 不存在');
39
- process.exit(1);
40
- }
35
+ const hasEntryFile = fs.existsSync(entryFile);
41
36
 
42
37
  logger.info('📦 开发模式启动中...');
43
38
 
@@ -49,21 +44,34 @@ export const devCommand = new Command('dev')
49
44
  NODE_ENV: 'development',
50
45
  ZHIN_DEV_MODE: 'true',
51
46
  ZHIN_HMR_PORT: options.port,
52
- ZHIN_VERBOSE: options.verbose ? 'true' : 'false'
47
+ ZHIN_VERBOSE: options.verbose ? 'true' : 'false',
48
+ // 添加 development 条件,让 Node.js 优先加载 package.json 中的 development 字段
49
+ NODE_OPTIONS: (process.env.NODE_OPTIONS || '') + ' --conditions=development'
53
50
  };
54
51
 
55
- // 选择运行时
56
- const runtime = options.bun ? 'bun' : 'tsx';
57
- const args = options.bun ? ['src/index.ts'] : ['--expose-gc', 'src/index.ts'];
52
+ // 选择运行时和参数
53
+ const runtime = options.bun ? 'bun' : 'node';
54
+ let args: string[];
58
55
 
59
- logger.info(`📦 启动命令: ${runtime} ${args.join(' ')}`);
56
+ if (hasEntryFile) {
57
+ // 有入口文件,直接运行
58
+ args = options.bun
59
+ ? ['src/index.ts']
60
+ : ['--import', 'tsx/esm','src/index.ts'];
61
+ logger.info(`📦 启动命令: ${runtime} ${args.join(' ')}`);
62
+ } else {
63
+ // 没有入口文件,使用 -e 参数直接执行代码
64
+ args = options.bun
65
+ ? ['-e', "import('zhin.js/setup')"]
66
+ : ['--import', 'tsx/esm','-e', "import('zhin.js/setup')"];
67
+ logger.info(`📦 启动命令: ${runtime} ${args.join(' ')}`);
68
+ }
60
69
 
61
70
  // 启动机器人
62
71
  return spawn(runtime, args, {
63
72
  cwd,
64
73
  stdio: 'inherit',
65
74
  env,
66
- shell:true,
67
75
  });
68
76
  };
69
77
 
@@ -26,17 +26,9 @@ export const startCommand = new Command('start')
26
26
  logger.info('🔍 正在加载环境变量...');
27
27
  loadEnvFiles(cwd, 'production');
28
28
 
29
- // 检查构建产物
30
- const distPath = path.join(cwd, 'lib');
31
- const sourcePath = path.join(cwd, 'src');
32
- const sourceFile = path.join(sourcePath, 'index.ts');
33
- const distFile = path.join(distPath, 'index.js');
34
- const entryFile = options.bun ? path.relative(cwd,sourceFile) : path.relative(cwd,distFile);
35
-
36
- if (!fs.existsSync(entryFile)) {
37
- logger.error('构建产物不存在,请先运行 zhin build');
38
- process.exit(1);
39
- }
29
+ // 新架构: 始终使用 import('zhin.js/setup') 方式启动
30
+ // 不再依赖 lib/index.js 入口文件
31
+ const useEval = true;
40
32
 
41
33
  logger.info('🚀 正在生产模式启动机器人...');
42
34
 
@@ -55,16 +47,17 @@ export const startCommand = new Command('start')
55
47
  'ignore';
56
48
  }
57
49
 
58
- // 选择运行时
50
+ // 选择运行时和参数
59
51
  const runtime = options.bun ? 'bun' : 'tsx';
60
- const args = options.bun ? [entryFile] : ['--expose-gc', entryFile];
61
-
62
- logger.info(`📦 启动命令: ${runtime} ${args.join(' ')}`);
52
+ // 使用 -e 参数启动 zhin.js/setup
53
+ const args = options.bun
54
+ ? ['-e', "import('zhin.js/setup')"]
55
+ : ['--expose-gc', '-e', "import('zhin.js/setup')"];
56
+ logger.info(`📦 启动命令: ${runtime} -e "import('zhin.js/setup')"`);
63
57
  return startProcess(runtime, args, {
64
58
  cwd,
65
59
  env,
66
60
  stdio,
67
- shell:true,
68
61
  detached: options.daemon,
69
62
  });
70
63
  };
package/tsconfig.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "outDir": "./lib",
4
- "baseUrl": ".",
5
4
  "declaration": true,
6
5
  "module": "ESNext",
7
6
  "moduleResolution": "bundler",