@zhin.js/cli 1.0.0 → 1.0.1

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +244 -56
  4. package/{dist → lib}/commands/build.d.ts.map +1 -1
  5. package/{dist → lib}/commands/build.js +3 -2
  6. package/lib/commands/build.js.map +1 -0
  7. package/{dist → lib}/commands/dev.d.ts.map +1 -1
  8. package/{dist → lib}/commands/dev.js +2 -1
  9. package/lib/commands/dev.js.map +1 -0
  10. package/{dist → lib}/commands/init.js +194 -140
  11. package/lib/commands/init.js.map +1 -0
  12. package/{dist → lib}/utils/logger.d.ts +1 -0
  13. package/lib/utils/logger.d.ts.map +1 -0
  14. package/lib/utils/logger.js +79 -0
  15. package/lib/utils/logger.js.map +1 -0
  16. package/{dist → lib}/utils/process.d.ts.map +1 -1
  17. package/{dist → lib}/utils/process.js +2 -1
  18. package/lib/utils/process.js.map +1 -0
  19. package/package.json +9 -7
  20. package/src/commands/build.ts +3 -2
  21. package/src/commands/dev.ts +2 -1
  22. package/src/commands/init.ts +200 -140
  23. package/src/commands/start.ts +1 -1
  24. package/src/utils/logger.ts +81 -10
  25. package/src/utils/process.ts +2 -1
  26. package/tsconfig.json +3 -4
  27. package/dist/commands/build.js.map +0 -1
  28. package/dist/commands/dev.js.map +0 -1
  29. package/dist/commands/init.js.map +0 -1
  30. package/dist/utils/logger.d.ts.map +0 -1
  31. package/dist/utils/logger.js +0 -18
  32. package/dist/utils/logger.js.map +0 -1
  33. package/dist/utils/process.js.map +0 -1
  34. package/tsconfig.tsbuildinfo +0 -1
  35. /package/{dist → lib}/cli.d.ts +0 -0
  36. /package/{dist → lib}/cli.d.ts.map +0 -0
  37. /package/{dist → lib}/cli.js +0 -0
  38. /package/{dist → lib}/cli.js.map +0 -0
  39. /package/{dist → lib}/commands/build.d.ts +0 -0
  40. /package/{dist → lib}/commands/dev.d.ts +0 -0
  41. /package/{dist → lib}/commands/init.d.ts +0 -0
  42. /package/{dist → lib}/commands/init.d.ts.map +0 -0
  43. /package/{dist → lib}/commands/start.d.ts +0 -0
  44. /package/{dist → lib}/commands/start.d.ts.map +0 -0
  45. /package/{dist → lib}/commands/start.js +0 -0
  46. /package/{dist → lib}/commands/start.js.map +0 -0
  47. /package/{dist → lib}/commands/stop.d.ts +0 -0
  48. /package/{dist → lib}/commands/stop.d.ts.map +0 -0
  49. /package/{dist → lib}/commands/stop.js +0 -0
  50. /package/{dist → lib}/commands/stop.js.map +0 -0
  51. /package/{dist → lib}/index.d.ts +0 -0
  52. /package/{dist → lib}/index.d.ts.map +0 -0
  53. /package/{dist → lib}/index.js +0 -0
  54. /package/{dist → lib}/index.js.map +0 -0
  55. /package/{dist → lib}/utils/env.d.ts +0 -0
  56. /package/{dist → lib}/utils/env.d.ts.map +0 -0
  57. /package/{dist → lib}/utils/env.js +0 -0
  58. /package/{dist → lib}/utils/env.js.map +0 -0
  59. /package/{dist → lib}/utils/process.d.ts +0 -0
@@ -132,27 +132,39 @@ async function createProjectStructure(projectPath, projectName, options) {
132
132
  await fs.ensureDir(path.join(projectPath, 'src', 'plugins'));
133
133
  await fs.ensureDir(path.join(projectPath, 'dist'));
134
134
  await fs.ensureDir(path.join(projectPath, 'data'));
135
+ // 检查是否在工作区中
136
+ const isInWorkspace = await checkIfInWorkspace();
137
+ const versionSuffix = isInWorkspace ? 'workspace:*' : 'latest';
135
138
  // 创建 package.json
136
139
  const packageJson = {
137
140
  name: projectName,
141
+ private: true,
138
142
  version: '0.1.0',
139
143
  description: `${projectName} 机器人`,
140
144
  type: 'module',
141
145
  main: 'src/index.ts',
142
146
  scripts: {
143
- dev: options.runtime === 'bun' ? 'zhin dev --bun' : 'zhin dev',
147
+ dev: 'zhin dev',
144
148
  start: options.runtime === 'bun' ? 'zhin start --bun' : 'zhin start',
145
149
  daemon: options.runtime === 'bun' ? 'zhin start --bun --daemon' : 'zhin start --daemon',
146
150
  build: 'zhin build',
147
151
  stop: 'zhin stop'
148
152
  },
149
153
  dependencies: {
150
- '@zhin.js/core': 'workspace:*'
154
+ 'zhin.js': versionSuffix,
155
+ '@zhin.js/adapter-process': versionSuffix,
156
+ '@zhin.js/http': versionSuffix,
157
+ '@zhin.js/console': versionSuffix
151
158
  },
152
159
  devDependencies: {
153
- '@zhin.js/cli': 'workspace:*',
154
- 'typescript': '^5.0.0',
155
- ...(options.runtime === 'node' && { 'tsx': '^4.0.0' })
160
+ '@zhin.js/cli': versionSuffix,
161
+ '@zhin.js/types': versionSuffix,
162
+ 'typescript': 'latest',
163
+ ...(options.runtime === 'bun' ? {
164
+ 'bun': 'latest'
165
+ } : {
166
+ 'tsx': 'latest'
167
+ })
156
168
  },
157
169
  engines: {
158
170
  node: '>=18.0.0'
@@ -178,10 +190,14 @@ async function createProjectStructure(projectPath, projectName, options) {
178
190
  declaration: false,
179
191
  sourceMap: true,
180
192
  baseUrl: './src',
181
- paths: {
182
- '@zhin.js/core': ['../../packages/core/src/index.ts'],
183
- '@zhin.js/core/*': ['../../packages/core/src/*']
184
- }
193
+ types: [
194
+ '@types/node',
195
+ '@zhin.js/types',
196
+ 'zhin.js',
197
+ '@zhin.js/http',
198
+ '@zhin.js/adapter-process',
199
+ '@zhin.js/console'
200
+ ]
185
201
  },
186
202
  include: ['src/**/*'],
187
203
  exclude: ['dist', 'node_modules']
@@ -190,7 +206,7 @@ async function createProjectStructure(projectPath, projectName, options) {
190
206
  // 创建配置文件
191
207
  await createConfigFile(projectPath, options.config);
192
208
  // 创建主入口文件
193
- const indexContent = `import { createApp } from '@zhin.js/core';
209
+ const indexContent = `import { createApp } from 'zhin.js';
194
210
 
195
211
  // 启动机器人
196
212
  async function main() {
@@ -205,10 +221,10 @@ async function main() {
205
221
  process.exit(0);
206
222
  };
207
223
 
208
- process.on('SIGINT', shutdown);
209
- process.on('SIGTERM', shutdown);
224
+ process.on('SIGINT', () => shutdown('SIGINT'));
225
+ process.on('SIGTERM', () => shutdown('SIGTERM'));
210
226
  } catch (error) {
211
- console.error('机器人启动失败:', error);
227
+ // console.error 已替换为注释
212
228
  process.exit(1);
213
229
  }
214
230
  }
@@ -219,45 +235,75 @@ main().catch(console.error);
219
235
  await fs.writeFile(path.join(projectPath, 'src', 'index.ts'), indexContent);
220
236
  // 创建示例插件
221
237
  const pluginContent = `import {
238
+ useLogger,
239
+ onMessage,
240
+ addCommand,
241
+ addMiddleware,
242
+ MessageCommand,
243
+ useContext,
222
244
  onDispose,
223
- addMiddleware, useContext, sendMessage, beforeSend, onGroupMessage,
224
- } from '@zhin.js/core';
225
- import * as process from "node:process";
226
-
227
- onDispose(async ()=>{
228
- console.log('插件已销毁')
229
- })
230
-
231
- addMiddleware(async (message, next)=>{ // 添加中间件到插件
232
- // 在这里处理消息
233
- return next()
234
- })
235
-
236
- let hasChanged=false
237
- beforeSend((options)=>{
238
- if(!hasChanged){
239
- options.content='bar'
240
- hasChanged=true
241
- }
242
- return options
243
- })
245
+ } from 'zhin.js';
244
246
 
245
- onGroupMessage((m)=>{
246
- if(m.channel.id==='629336764'){
247
- m.reply('hello')
248
- }
249
- })
250
-
251
- // 依赖process上下文
252
- useContext('process',()=>{
253
- sendMessage({
254
- context:'process',
255
- bot:\`\${process.pid}\`,
256
- id:process.title,
257
- type:'private',
258
- content:'foo'
247
+ const logger = useLogger();
248
+
249
+ // 添加命令
250
+ addCommand(new MessageCommand('hello')
251
+ .action(async (message) => {
252
+ logger.info('Hello command called by:', message.sender.name);
253
+ return '你好!欢迎使用 Zhin 机器人框架!';
254
+ })
255
+ );
256
+
257
+ addCommand(new MessageCommand('status')
258
+ .action(() => {
259
+ const uptime = process.uptime() * 1000;
260
+ const memory = process.memoryUsage();
261
+ return [
262
+ '🤖 机器人状态',
263
+ \`⏱️ 运行时间: \${formatTime(uptime)}\`,
264
+ \`📊 内存使用: \${(memory.rss / 1024 / 1024).toFixed(2)}MB\`,
265
+ \`🔧 Node.js: \${process.version}\`
266
+ ].join('\\n');
259
267
  })
260
- })
268
+ );
269
+
270
+ // 添加中间件
271
+ addMiddleware(async (message, next) => {
272
+ logger.info(\`收到消息: \${message.raw}\`);
273
+ await next();
274
+ });
275
+
276
+ // 监听消息
277
+ onMessage(async (message) => {
278
+ if (message.raw.includes('帮助')) {
279
+ await message.reply('可用命令:hello, status\\n输入命令即可使用!');
280
+ }
281
+ });
282
+
283
+ // 使用 process 上下文
284
+ useContext('process', () => {
285
+ logger.info('Process 适配器已就绪,可以在控制台输入消息进行测试');
286
+ });
287
+
288
+ // 插件销毁时的清理
289
+ onDispose(() => {
290
+ logger.info('测试插件已销毁');
291
+ });
292
+
293
+ // 工具函数
294
+ function formatTime(ms: number): string {
295
+ const seconds = Math.floor(ms / 1000);
296
+ const minutes = Math.floor(seconds / 60);
297
+ const hours = Math.floor(minutes / 60);
298
+ const days = Math.floor(hours / 24);
299
+
300
+ if (days > 0) return \`\${days}天 \${hours % 24}小时\`;
301
+ if (hours > 0) return \`\${hours}小时 \${minutes % 60}分钟\`;
302
+ if (minutes > 0) return \`\${minutes}分钟 \${seconds % 60}秒\`;
303
+ return \`\${seconds}秒\`;
304
+ }
305
+
306
+ logger.info('测试插件已加载');
261
307
  `;
262
308
  await fs.writeFile(path.join(projectPath, 'src', 'plugins', 'test-plugin.ts'), pluginContent);
263
309
  // 创建 .gitignore
@@ -454,6 +500,29 @@ MIT License
454
500
  `;
455
501
  await fs.writeFile(path.join(projectPath, 'pnpm-workspace.yaml'), workspaceContent);
456
502
  }
503
+ // 创建环境变量示例文件
504
+ const envExampleContent = `# Zhin Bot 环境变量配置示例
505
+ # 复制为 .env 文件并根据需要修改
506
+
507
+ # 调试模式
508
+ DEBUG=true
509
+
510
+ # 插件目录 (可选)
511
+ # PLUGIN_DIR=./src/plugins
512
+
513
+ # KOOK 机器人配置 (如果使用 KOOK 适配器)
514
+ # KOOK_TOKEN=your-kook-token
515
+
516
+ # ICQQ 机器人配置 (如果使用 ICQQ 适配器)
517
+ # ICQQ_SCAN_UIN=your-qq-number
518
+ # ICQQ_LOGIN_UIN=your-qq-number
519
+ # ICQQ_SIGN_ADDR=http://localhost:8080
520
+
521
+ # OneBot 机器人配置 (如果使用 OneBot 适配器)
522
+ # BOT_URL=ws://localhost:8080
523
+ # ACCESS_TOKEN=your-access-token
524
+ `;
525
+ await fs.writeFile(path.join(projectPath, '.env.example'), envExampleContent);
457
526
  }
458
527
  async function createConfigFile(projectPath, format) {
459
528
  const configContent = getConfigContent(format);
@@ -463,7 +532,7 @@ async function createConfigFile(projectPath, format) {
463
532
  fileName = 'zhin.config.ts';
464
533
  break;
465
534
  case 'js':
466
- fileName = 'zhin.config.js';
535
+ fileName = 'zhin.config.ts';
467
536
  break;
468
537
  default:
469
538
  fileName = `zhin.config.${format}`;
@@ -478,12 +547,6 @@ function getConfigContent(format) {
478
547
  {
479
548
  name: `${process.pid}`,
480
549
  context: 'process'
481
- },
482
- {
483
- name: '1689919782',
484
- context: 'icqq',
485
- log_level: 'off',
486
- platform: 4
487
550
  }
488
551
  ],
489
552
  plugin_dirs: [
@@ -491,8 +554,9 @@ function getConfigContent(format) {
491
554
  'node_modules'
492
555
  ],
493
556
  plugins: [
494
- 'icqq',
495
- 'process',
557
+ 'adapter-process',
558
+ 'http',
559
+ 'console',
496
560
  'test-plugin'
497
561
  ],
498
562
  debug: false
@@ -504,10 +568,6 @@ function getConfigContent(format) {
504
568
  bots:
505
569
  - name: \${process.pid}
506
570
  context: process
507
- - name: '1689919782'
508
- context: icqq
509
- log_level: off
510
- platform: 4
511
571
 
512
572
  # 插件目录
513
573
  plugin_dirs:
@@ -516,8 +576,9 @@ plugin_dirs:
516
576
 
517
577
  # 要加载的插件列表
518
578
  plugins:
519
- - icqq
520
- - process
579
+ - adapter-process
580
+ - http
581
+ - console
521
582
  - test-plugin
522
583
 
523
584
  # 调试模式
@@ -531,90 +592,78 @@ debug: false
531
592
  name = "\${process.pid}"
532
593
  context = "process"
533
594
 
534
- [[bots]]
535
- name = "1689919782"
536
- context = "icqq"
537
- log_level = "off"
538
- platform = 4
539
-
540
595
  # 插件目录
541
596
  plugin_dirs = ["./src/plugins", "node_modules"]
542
597
 
543
598
  # 要加载的插件列表
544
- plugins = ["icqq", "process", "test-plugin"]
599
+ plugins = ["adapter-process", "http", "console", "test-plugin"]
545
600
 
546
601
  # 调试模式
547
602
  debug = false
548
603
  `;
549
604
  case 'ts':
550
- return `import { defineConfig } from '@zhin.js/core';
605
+ return `import { defineConfig } from 'zhin.js';
551
606
 
552
- export default defineConfig(async (env)=>{
607
+ export default defineConfig(async (env) => {
553
608
  return {
554
609
  // 机器人配置
555
610
  bots: [
556
611
  {
557
612
  name: \`\${process.pid}\`,
558
613
  context: 'process'
559
- },
560
- {
561
- name: '1689919782',
562
- context: 'icqq',
563
- log_level: 'off',
564
- platform: 4
565
614
  }
566
615
  ],
616
+
567
617
  // 插件目录
568
618
  plugin_dirs: [
569
619
  env.PLUGIN_DIR || './src/plugins',
570
620
  'node_modules'
571
621
  ],
622
+
572
623
  // 要加载的插件列表
573
624
  plugins: [
574
- 'icqq',
575
- 'process',
625
+ 'adapter-process',
626
+ 'http',
627
+ 'console',
576
628
  'test-plugin'
577
629
  ],
578
630
 
579
631
  // 调试模式
580
632
  debug: env.DEBUG === 'true'
581
- }
582
- })
633
+ };
634
+ });
583
635
  `;
584
636
  case 'js':
585
- return `import { defineConfig } from '@zhin.js/core';
637
+ return `import { defineConfig } from 'zhin.js';
586
638
 
587
- export default defineConfig(async (env)=>{
639
+ export default defineConfig(async (env) => {
588
640
  return {
589
641
  // 机器人配置
590
642
  bots: [
591
643
  {
592
644
  name: \`\${process.pid}\`,
593
645
  context: 'process'
594
- },
595
- {
596
- name: '1689919782',
597
- context: 'icqq',
598
- log_level: 'off',
599
- platform: 4
600
646
  }
601
647
  ],
648
+
602
649
  // 插件目录
603
650
  plugin_dirs: [
604
651
  env.PLUGIN_DIR || './src/plugins',
605
652
  'node_modules'
606
653
  ],
654
+
607
655
  // 要加载的插件列表
608
656
  plugins: [
609
- 'icqq',
610
- 'process',
657
+ 'adapter-process',
658
+ 'http',
659
+ 'console',
611
660
  'test-plugin'
612
661
  ],
613
662
 
614
663
  // 调试模式
615
664
  debug: env.DEBUG === 'true'
616
- }
617
- })
665
+ };
666
+ });
618
667
  `;
619
668
  default:
620
669
  throw new Error(`不支持的配置格式: ${format}`);
@@ -629,12 +678,6 @@ function getConfigExample(format) {
629
678
  {
630
679
  "name": "\${process.pid}",
631
680
  "context": "process"
632
- },
633
- {
634
- "name": "1689919782",
635
- "context": "icqq",
636
- "log_level": "off",
637
- "platform": 4
638
681
  }
639
682
  ],
640
683
  "plugin_dirs": [
@@ -642,8 +685,9 @@ function getConfigExample(format) {
642
685
  "node_modules"
643
686
  ],
644
687
  "plugins": [
645
- "icqq",
646
- "process",
688
+ "adapter-process",
689
+ "http",
690
+ "console",
647
691
  "test-plugin"
648
692
  ],
649
693
  "debug": false
@@ -658,10 +702,6 @@ function getConfigExample(format) {
658
702
  bots:
659
703
  - name: \${process.pid}
660
704
  context: process
661
- - name: '1689919782'
662
- context: icqq
663
- log_level: off
664
- platform: 4
665
705
 
666
706
  # 插件目录
667
707
  plugin_dirs:
@@ -670,8 +710,9 @@ plugin_dirs:
670
710
 
671
711
  # 要加载的插件列表
672
712
  plugins:
673
- - icqq
674
- - process
713
+ - adapter-process
714
+ - http
715
+ - console
675
716
  - test-plugin
676
717
 
677
718
  # 调试模式
@@ -687,17 +728,11 @@ debug: false
687
728
  name = "\${process.pid}"
688
729
  context = "process"
689
730
 
690
- [[bots]]
691
- name = "1689919782"
692
- context = "icqq"
693
- log_level = "off"
694
- platform = 4
695
-
696
731
  # 插件目录
697
732
  plugin_dirs = ["./src/plugins", "node_modules"]
698
733
 
699
734
  # 要加载的插件列表
700
- plugins = ["icqq", "process", "test-plugin"]
735
+ plugins = ["adapter-process", "http", "console", "test-plugin"]
701
736
 
702
737
  # 调试模式
703
738
  debug = false
@@ -705,80 +740,99 @@ debug = false
705
740
  `;
706
741
  case 'ts':
707
742
  return `\`\`\`typescript
708
- import { defineConfig } from '@zhin.js/core';
743
+ import { defineConfig } from 'zhin.js';
709
744
 
710
- export default defineConfig(async (env)=>{
745
+ export default defineConfig(async (env) => {
711
746
  return {
712
747
  // 机器人配置
713
748
  bots: [
714
749
  {
715
750
  name: \`\${process.pid}\`,
716
751
  context: 'process'
717
- },
718
- {
719
- name: '1689919782',
720
- context: 'icqq',
721
- log_level: 'off',
722
- platform: 4
723
752
  }
724
753
  ],
754
+
725
755
  // 插件目录
726
756
  plugin_dirs: [
727
757
  env.PLUGIN_DIR || './src/plugins',
728
758
  'node_modules'
729
759
  ],
760
+
730
761
  // 要加载的插件列表
731
762
  plugins: [
732
- 'icqq',
733
- 'process',
763
+ 'adapter-process',
764
+ 'http',
765
+ 'console',
734
766
  'test-plugin'
735
767
  ],
736
768
 
737
769
  // 调试模式
738
770
  debug: env.DEBUG === 'true'
739
- }
740
- })
771
+ };
772
+ });
741
773
  \`\`\`
742
774
  `;
743
775
  case 'js':
744
776
  return `\`\`\`javascript
745
- import { defineConfig } from '@zhin.js/core';
777
+ import { defineConfig } from 'zhin.js';
746
778
 
747
- export default defineConfig(async (env)=>{
779
+ export default defineConfig(async (env) => {
748
780
  return {
749
781
  // 机器人配置
750
782
  bots: [
751
783
  {
752
784
  name: \`\${process.pid}\`,
753
785
  context: 'process'
754
- },
755
- {
756
- name: '1689919782',
757
- context: 'icqq',
758
- log_level: 'off',
759
- platform: 4
760
786
  }
761
787
  ],
788
+
762
789
  // 插件目录
763
790
  plugin_dirs: [
764
791
  env.PLUGIN_DIR || './src/plugins',
765
792
  'node_modules'
766
793
  ],
794
+
767
795
  // 要加载的插件列表
768
796
  plugins: [
769
- 'icqq',
770
- 'process',
797
+ 'adapter-process',
798
+ 'http',
799
+ 'console',
771
800
  'test-plugin'
772
801
  ],
773
802
 
774
803
  // 调试模式
775
804
  debug: env.DEBUG === 'true'
776
- }
777
- })
805
+ };
806
+ });
778
807
  \`\`\`
779
808
  `;
780
809
  default:
781
810
  throw new Error(`不支持的配置格式: ${format}`);
782
811
  }
783
812
  }
813
+ async function checkIfInWorkspace() {
814
+ let currentDir = process.cwd();
815
+ while (currentDir !== path.dirname(currentDir)) {
816
+ // 检查 pnpm-workspace.yaml
817
+ const pnpmWorkspacePath = path.join(currentDir, 'pnpm-workspace.yaml');
818
+ if (fs.existsSync(pnpmWorkspacePath)) {
819
+ return true;
820
+ }
821
+ // 检查 package.json 中的 workspaces 字段
822
+ const packageJsonPath = path.join(currentDir, 'package.json');
823
+ if (fs.existsSync(packageJsonPath)) {
824
+ try {
825
+ const packageJson = fs.readJsonSync(packageJsonPath);
826
+ if (packageJson.workspaces) {
827
+ return true;
828
+ }
829
+ }
830
+ catch {
831
+ // 忽略错误,继续向上查找
832
+ }
833
+ }
834
+ currentDir = path.dirname(currentDir);
835
+ }
836
+ return false;
837
+ }
784
838
  //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@ export declare const logger: {
4
4
  warn: (message: string, ...args: any[]) => void;
5
5
  error: (message: string, ...args: any[]) => void;
6
6
  log: (message: string, ...args: any[]) => void;
7
+ debug: (message: string, ...args: any[]) => void;
7
8
  };
8
9
  //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,MAAM;oBACD,MAAM,WAAW,GAAG,EAAE;uBAYnB,MAAM,WAAW,GAAG,EAAE;oBAWzB,MAAM,WAAW,GAAG,EAAE;qBAWrB,MAAM,WAAW,GAAG,EAAE;mBAWxB,MAAM,WAAW,GAAG,EAAE;qBAWpB,MAAM,WAAW,GAAG,EAAE;CAUxC,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { getLogger, LogLevel } from '@zhin.js/logger';
2
+ // 创建CLI专用的logger
3
+ const cliLogger = getLogger('CLI');
4
+ // 根据环境变量设置日志级别
5
+ const logLevel = process.env.ZHIN_LOG_LEVEL || process.env.NODE_ENV === 'development' ? 'debug' : 'info';
6
+ switch (logLevel.toLowerCase()) {
7
+ case 'debug':
8
+ cliLogger.setLevel(LogLevel.DEBUG);
9
+ break;
10
+ case 'warn':
11
+ cliLogger.setLevel(LogLevel.WARN);
12
+ break;
13
+ case 'error':
14
+ cliLogger.setLevel(LogLevel.ERROR);
15
+ break;
16
+ case 'silent':
17
+ cliLogger.setLevel(LogLevel.SILENT);
18
+ break;
19
+ default:
20
+ cliLogger.setLevel(LogLevel.INFO);
21
+ }
22
+ export const logger = {
23
+ info: (message, ...args) => {
24
+ if (args.length > 0) {
25
+ // 对于多个参数,直接拼接到消息中,这样更自然
26
+ const fullMessage = message + ' ' + args.map(arg => typeof arg === 'string' ? arg : JSON.stringify(arg)).join(' ');
27
+ cliLogger.info(fullMessage);
28
+ }
29
+ else {
30
+ cliLogger.info(message);
31
+ }
32
+ },
33
+ success: (message, ...args) => {
34
+ if (args.length > 0) {
35
+ const fullMessage = message + ' ' + args.map(arg => typeof arg === 'string' ? arg : JSON.stringify(arg)).join(' ');
36
+ cliLogger.success(fullMessage);
37
+ }
38
+ else {
39
+ cliLogger.success(message);
40
+ }
41
+ },
42
+ warn: (message, ...args) => {
43
+ if (args.length > 0) {
44
+ const fullMessage = message + ' ' + args.map(arg => typeof arg === 'string' ? arg : JSON.stringify(arg)).join(' ');
45
+ cliLogger.warn(fullMessage);
46
+ }
47
+ else {
48
+ cliLogger.warn(message);
49
+ }
50
+ },
51
+ error: (message, ...args) => {
52
+ if (args.length > 0) {
53
+ const fullMessage = message + ' ' + args.map(arg => typeof arg === 'string' ? arg : JSON.stringify(arg)).join(' ');
54
+ cliLogger.error(fullMessage);
55
+ }
56
+ else {
57
+ cliLogger.error(message);
58
+ }
59
+ },
60
+ log: (message, ...args) => {
61
+ if (args.length > 0) {
62
+ const fullMessage = message + ' ' + args.map(arg => typeof arg === 'string' ? arg : JSON.stringify(arg)).join(' ');
63
+ cliLogger.info(fullMessage);
64
+ }
65
+ else {
66
+ cliLogger.info(message);
67
+ }
68
+ },
69
+ debug: (message, ...args) => {
70
+ if (args.length > 0) {
71
+ const fullMessage = message + ' ' + args.map(arg => typeof arg === 'string' ? arg : JSON.stringify(arg)).join(' ');
72
+ cliLogger.debug(fullMessage);
73
+ }
74
+ else {
75
+ cliLogger.debug(message);
76
+ }
77
+ }
78
+ };
79
+ //# sourceMappingURL=logger.js.map