create-zhin-app 1.0.9 → 1.0.11

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/lib/index.js CHANGED
@@ -1,27 +1,12 @@
1
1
  #!/usr/bin/env node
2
- import { fileURLToPath } from 'node:url';
3
- import { dirname } from 'node:path';
4
- import { execSync } from 'node:child_process';
5
2
  import fs from 'fs-extra';
6
3
  import path from 'path';
7
4
  import inquirer from 'inquirer';
8
5
  import chalk from 'chalk';
9
- import os from 'os';
10
- const __filename = fileURLToPath(import.meta.url);
11
- const __dirname = dirname(__filename);
12
- // 生成随机密码
13
- function generateRandomPassword(length = 6) {
14
- const chars = 'ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789';
15
- let password = '';
16
- for (let i = 0; i < length; i++) {
17
- password += chars.charAt(Math.floor(Math.random() * chars.length));
18
- }
19
- return password;
20
- }
21
- // 获取当前系统用户名
22
- function getCurrentUsername() {
23
- return os.userInfo().username || 'admin';
24
- }
6
+ import { generateRandomPassword, getCurrentUsername, getDatabaseDisplayName } from './utils.js';
7
+ import { configureDatabaseOptions } from './database.js';
8
+ import { createWorkspace } from './workspace.js';
9
+ import { ensurePnpmInstalled, installDependencies } from './install.js';
25
10
  async function main() {
26
11
  const args = process.argv.slice(2);
27
12
  const options = {
@@ -33,6 +18,11 @@ async function main() {
33
18
  options.runtime = 'node';
34
19
  options.httpUsername = getCurrentUsername();
35
20
  options.httpPassword = generateRandomPassword(6);
21
+ options.database = {
22
+ dialect: 'sqlite',
23
+ filename: './data/bot.db',
24
+ mode: 'wal'
25
+ };
36
26
  }
37
27
  // 检测并安装 pnpm
38
28
  await ensurePnpmInstalled();
@@ -124,6 +114,13 @@ async function main() {
124
114
  options.httpUsername = httpConfig.username;
125
115
  options.httpPassword = httpConfig.password;
126
116
  }
117
+ // 数据库配置
118
+ if (!options.database) {
119
+ console.log('');
120
+ console.log(chalk.blue('🗄️ 配置数据库'));
121
+ const databaseConfig = await configureDatabaseOptions();
122
+ options.database = databaseConfig;
123
+ }
127
124
  if (!name) {
128
125
  console.error(chalk.red('项目名称不能为空'));
129
126
  process.exit(1);
@@ -148,6 +145,22 @@ async function main() {
148
145
  console.log(` ${chalk.gray('用户名:')} ${chalk.cyan(options.httpUsername)}`);
149
146
  console.log(` ${chalk.gray('密码:')} ${chalk.cyan(options.httpPassword)}`);
150
147
  console.log(` ${chalk.yellow('⚠ 登录信息已保存到')} ${chalk.cyan('.env')} ${chalk.yellow('文件')}`);
148
+ // 显示数据库配置信息
149
+ if (options.database) {
150
+ console.log('');
151
+ console.log(chalk.blue('🗄️ 数据库配置:'));
152
+ console.log(` ${chalk.gray('类型:')} ${chalk.cyan(getDatabaseDisplayName(options.database.dialect))}`);
153
+ if (options.database.dialect === 'sqlite') {
154
+ console.log(` ${chalk.gray('文件:')} ${chalk.cyan(options.database.filename)}`);
155
+ if (options.database.mode) {
156
+ console.log(` ${chalk.gray('模式:')} ${chalk.cyan(options.database.mode.toUpperCase())}`);
157
+ }
158
+ }
159
+ else {
160
+ console.log(` ${chalk.yellow('⚠ 数据库连接信息已保存到')} ${chalk.cyan('.env')} ${chalk.yellow('文件')}`);
161
+ console.log(` ${chalk.gray('请根据实际情况修改数据库连接参数')}`);
162
+ }
163
+ }
151
164
  console.log('');
152
165
  console.log('📝 下一步操作:');
153
166
  console.log(` ${chalk.cyan(`cd ${realName}`)}`);
@@ -166,419 +179,5 @@ async function main() {
166
179
  process.exit(1);
167
180
  }
168
181
  }
169
- async function ensurePnpmInstalled() {
170
- try {
171
- execSync('pnpm --version', { stdio: 'ignore' });
172
- console.log(chalk.green('✓ 检测到 pnpm 已安装'));
173
- }
174
- catch (error) {
175
- console.log(chalk.yellow('⚠ 未检测到 pnpm,正在自动安装...'));
176
- try {
177
- console.log(chalk.blue('正在执行: npm install -g pnpm'));
178
- execSync('npm install -g pnpm', { stdio: 'inherit' });
179
- console.log(chalk.green('✓ pnpm 安装成功!'));
180
- }
181
- catch (installError) {
182
- console.error(chalk.red('✗ pnpm 安装失败,请手动安装:'));
183
- console.log(chalk.cyan(' npm install -g pnpm'));
184
- console.log(chalk.gray('或访问: https://pnpm.io/installation'));
185
- process.exit(1);
186
- }
187
- }
188
- }
189
- async function installDependencies(projectPath) {
190
- try {
191
- console.log(chalk.gray('执行: pnpm install'));
192
- execSync('pnpm install', {
193
- cwd: projectPath,
194
- stdio: 'inherit'
195
- });
196
- console.log(chalk.green('✓ 依赖安装成功!'));
197
- }
198
- catch (error) {
199
- console.log('');
200
- console.log(chalk.yellow('⚠ 依赖安装失败'));
201
- console.log(chalk.gray('你可以稍后手动安装:'));
202
- console.log(chalk.cyan(` cd ${path.basename(projectPath)}`));
203
- console.log(chalk.cyan(' pnpm install'));
204
- }
205
- }
206
- async function createWorkspace(projectPath, projectName, options) {
207
- await fs.ensureDir(projectPath);
208
- // 创建 pnpm-workspace.yaml
209
- await fs.writeFile(path.join(projectPath, 'pnpm-workspace.yaml'), `packages:
210
- - '.'
211
- - 'plugins/*'
212
- `);
213
- // 创建根 package.json(同时也是主应用的 package.json)
214
- await fs.writeJson(path.join(projectPath, 'package.json'), {
215
- name: `${projectName}`,
216
- private: true,
217
- version: '0.1.0',
218
- type: 'module',
219
- description: `${projectName} - Zhin.js Workspace`,
220
- scripts: {
221
- dev: 'zhin dev',
222
- start: options.runtime === 'bun' ? 'zhin start --bun' : 'zhin start',
223
- daemon: options.runtime === 'bun' ? 'zhin start --bun --daemon' : 'zhin start --daemon',
224
- stop: 'zhin stop',
225
- build: 'pnpm --filter "./plugins/*" build'
226
- },
227
- dependencies: {
228
- 'zhin.js': 'latest',
229
- '@zhin.js/adapter-process': 'latest',
230
- '@zhin.js/http': 'latest',
231
- '@zhin.js/client': 'latest',
232
- '@zhin.js/console': 'latest'
233
- },
234
- devDependencies: {
235
- '@zhin.js/cli': 'latest',
236
- '@zhin.js/types': 'latest',
237
- '@types/node': 'latest',
238
- '@types/react': 'latest',
239
- 'typescript': 'latest',
240
- 'react': 'latest',
241
- 'react-dom': 'latest',
242
- 'lucide-react': 'latest',
243
- ...(options.runtime === 'bun' ? { 'bun': 'latest' } : { 'tsx': 'latest' })
244
- }
245
- }, { spaces: 2 });
246
- // 创建根 tsconfig.json
247
- await fs.writeJson(path.join(projectPath, 'tsconfig.json'), {
248
- compilerOptions: {
249
- target: 'ES2022',
250
- module: 'ESNext',
251
- moduleResolution: 'bundler',
252
- strict: true,
253
- esModuleInterop: true,
254
- skipLibCheck: true,
255
- forceConsistentCasingInFileNames: true,
256
- resolveJsonModule: true,
257
- isolatedModules: true,
258
- allowSyntheticDefaultImports: true,
259
- experimentalDecorators: true,
260
- emitDecoratorMetadata: true,
261
- declaration: true,
262
- sourceMap: true
263
- }
264
- }, { spaces: 2 });
265
- // 创建 app 模块
266
- await createAppModule(projectPath, projectName, options);
267
- // 创建 plugins 目录
268
- await fs.ensureDir(path.join(projectPath, 'plugins'));
269
- await fs.writeFile(path.join(projectPath, 'plugins', '.gitkeep'), '');
270
- // 创建 .gitignore
271
- await fs.writeFile(path.join(projectPath, '.gitignore'), `node_modules/
272
- dist/
273
- lib/
274
- *.log
275
- .env
276
- .env.local
277
- .DS_Store
278
- .zhin.pid
279
- .zhin-dev.pid
280
- data/
281
- `);
282
- // 创建 README.md
283
- await fs.writeFile(path.join(projectPath, 'README.md'), `# ${projectName}
284
-
285
- 使用 Zhin.js 框架创建的 pnpm workspace 项目。
286
-
287
- ## 📁 项目结构
288
-
289
- \`\`\`
290
- ${projectName}/
291
- ├── src/ # 应用源代码
292
- │ └── plugins/ # 本地插件
293
- ├── client/ # 客户端页面
294
- ├── data/ # 数据目录
295
- ├── plugins/ # 插件开发目录(独立包)
296
- ├── zhin.config.${options.config} # 配置文件
297
- └── pnpm-workspace.yaml
298
- \`\`\`
299
-
300
- ## 🚀 快速开始
301
-
302
- \`\`\`bash
303
- pnpm dev # 开发环境
304
- pnpm start # 生产环境
305
- pnpm stop # 停止
306
- pnpm build # 构建所有插件
307
- \`\`\`
308
-
309
- ## 🔌 插件开发
310
-
311
- \`\`\`bash
312
- # 创建新插件
313
- zhin new my-plugin
314
-
315
- # 构建插件
316
- pnpm build
317
-
318
- # 构建特定插件
319
- pnpm --filter @zhin.js/my-plugin build
320
- \`\`\`
321
-
322
- 插件创建后会自动添加到 package.json,在配置文件中启用即可:
323
-
324
- \`\`\`typescript
325
- export default defineConfig({
326
- plugins: ['my-plugin']
327
- });
328
- \`\`\`
329
-
330
- ## 📚 文档
331
-
332
- - [官方文档](https://zhinjs.github.io)
333
- - [GitHub](https://github.com/zhinjs/zhin)
334
- `);
335
- }
336
- async function createAppModule(projectPath, projectName, options) {
337
- // 创建目录结构(根目录即为应用目录)
338
- await fs.ensureDir(path.join(projectPath, 'src'));
339
- await fs.ensureDir(path.join(projectPath, 'src', 'plugins'));
340
- await fs.ensureDir(path.join(projectPath, 'client'));
341
- await fs.ensureDir(path.join(projectPath, 'data'));
342
- // 创建 .env 文件
343
- await fs.writeFile(path.join(projectPath, '.env'), `# 调试模式
344
- DEBUG=true
345
-
346
- # 插件目录
347
- # PLUGIN_DIR=./src/plugins
348
-
349
- # HTTP 服务配置(Web 控制台登录信息)
350
- HTTP_USERNAME=${options.httpUsername}
351
- HTTP_PASSWORD=${options.httpPassword}
352
- `);
353
- // app/tsconfig.json
354
- await fs.writeJson(path.join(projectPath, 'tsconfig.json'), {
355
- extends: '../tsconfig.json',
356
- compilerOptions: {
357
- baseUrl: './src',
358
- jsx: 'react-jsx',
359
- jsxImportSource: 'zhin.js',
360
- noEmit: false,
361
- types: ['@types/node', '@zhin.js/types', 'zhin.js']
362
- },
363
- include: ['src/**/*'],
364
- exclude: ['node_modules', 'data']
365
- }, { spaces: 2 });
366
- // app/src/index.ts
367
- await fs.writeFile(path.join(projectPath, 'src', 'index.ts'), `import { createApp } from 'zhin.js';
368
-
369
- async function main() {
370
- try {
371
- const app = await createApp();
372
- await app.start();
373
-
374
- const shutdown = async () => {
375
- await app.stop();
376
- process.exit(0);
377
- };
378
-
379
- process.on('SIGINT', shutdown);
380
- process.on('SIGTERM', shutdown);
381
- } catch (error) {
382
- console.error('启动失败:', error);
383
- process.exit(1);
384
- }
385
- }
386
-
387
- main().catch(console.error);
388
- `);
389
- // app/src/plugins/example.ts
390
- await fs.writeFile(path.join(projectPath, 'src', 'plugins', 'example.ts'), `import { useLogger, addCommand, MessageCommand, onDispose } from 'zhin.js';
391
-
392
- const logger = useLogger();
393
-
394
- addCommand(new MessageCommand('hello')
395
- .action(async (message) => {
396
- logger.info('Hello command from:', message.$sender.name);
397
- return '你好!欢迎使用 Zhin.js!';
398
- })
399
- );
400
-
401
- addCommand(new MessageCommand('status')
402
- .action(() => {
403
- const uptime = process.uptime();
404
- const memory = process.memoryUsage();
405
- return [
406
- '🤖 状态',
407
- \`运行时间: \${Math.floor(uptime / 60)}分钟\`,
408
- \`内存: \${(memory.rss / 1024 / 1024).toFixed(2)}MB\`
409
- ].join('\\n');
410
- })
411
- );
412
-
413
- onDispose(() => {
414
- logger.info('示例插件已卸载');
415
- });
416
-
417
- logger.info('示例插件已加载');
418
- `);
419
- // app/client/index.tsx
420
- await fs.writeFile(path.join(projectPath, 'client', 'index.tsx'), `import { addPage } from '@zhin.js/client';
421
- import { Home } from 'lucide-react';
422
-
423
- function HomePage() {
424
- return (
425
- <div className="p-6">
426
- <h1 className="text-2xl font-bold mb-4">欢迎使用 ${projectName}</h1>
427
- <p className="text-gray-600">
428
- 这是使用 Zhin.js 创建的机器人项目。
429
- </p>
430
- </div>
431
- );
432
- }
433
-
434
- addPage({
435
- key: 'home',
436
- path: '/home',
437
- title: '首页',
438
- icon: <Home className="w-5 h-5" />,
439
- element: <HomePage />
440
- });
441
- `);
442
- // app/client/tsconfig.json
443
- await fs.writeJson(path.join(projectPath, 'client', 'tsconfig.json'), {
444
- compilerOptions: {
445
- target: 'ES2022',
446
- module: 'ESNext',
447
- moduleResolution: 'bundler',
448
- jsx: 'react-jsx',
449
- skipLibCheck: true,
450
- esModuleInterop: true
451
- }
452
- }, { spaces: 2 });
453
- // 创建配置文件
454
- await createConfigFile(projectPath, options.config);
455
- // .env.example
456
- await fs.writeFile(path.join(projectPath, '.env.example'), `# 调试模式
457
- DEBUG=true
458
-
459
- # 插件目录
460
- # PLUGIN_DIR=./src/plugins
461
-
462
- # HTTP 服务配置
463
- # HTTP_USERNAME=admin
464
- # HTTP_PASSWORD=123456
465
- `);
466
- }
467
- async function createConfigFile(appPath, format) {
468
- const configMap = {
469
- ts: ['zhin.config.ts',
470
- `import { defineConfig } from 'zhin.js';
471
-
472
- export default defineConfig(async (env) => {
473
- return {
474
- bots: [{
475
- name: \`\${process.pid}\`,
476
- context: 'process'
477
- }],
478
- plugin_dirs: [
479
- env.PLUGIN_DIR || './src/plugins',
480
- 'node_modules',
481
- 'node_modules/@zhin.js'
482
- ],
483
- plugins: [
484
- 'adapter-process',
485
- 'http',
486
- 'console',
487
- 'example'
488
- ],
489
- http: {
490
- port: 8086,
491
- username: env.HTTP_USERNAME,
492
- password: env.HTTP_PASSWORD,
493
- base: '/api'
494
- },
495
- debug: env.DEBUG === 'true'
496
- };
497
- });
498
- `],
499
- js: ['zhin.config.js',
500
- `import { defineConfig } from 'zhin.js';
501
-
502
- export default defineConfig(async (env) => {
503
- return {
504
- bots: [{
505
- name: \`\${process.pid}\`,
506
- context: 'process'
507
- }],
508
- plugin_dirs: [
509
- env.PLUGIN_DIR || './src/plugins',
510
- 'node_modules',
511
- 'node_modules/@zhin.js'
512
- ],
513
- plugins: [
514
- 'adapter-process',
515
- 'http',
516
- 'console',
517
- 'example'
518
- ],
519
- http: {
520
- port: 8086,
521
- username: env.HTTP_USERNAME,
522
- password: env.HTTP_PASSWORD,
523
- base: '/api'
524
- },
525
- debug: env.DEBUG === 'true'
526
- };
527
- });
528
- `],
529
- yaml: ['zhin.config.yml',
530
- `bots:
531
- - name: \${process.pid}
532
- context: process
533
-
534
- plugin_dirs:
535
- - ./src/plugins
536
- - node_modules
537
- - node_modules/@zhin.js
538
-
539
- plugins:
540
- - adapter-process
541
- - http
542
- - console
543
- - example
544
-
545
- http:
546
- port: 8086
547
- username: \${HTTP_USERNAME}
548
- password: \${HTTP_PASSWORD}
549
- base: /api
550
-
551
- debug: false
552
- `],
553
- json: ['zhin.config.json',
554
- `{
555
- "bots": [{
556
- "name": "\${process.pid}",
557
- "context": "process"
558
- }],
559
- "plugin_dirs": [
560
- "./src/plugins",
561
- "node_modules",
562
- "node_modules/@zhin.js"
563
- ],
564
- "plugins": [
565
- "adapter-process",
566
- "http",
567
- "console",
568
- "example"
569
- ],
570
- "http": {
571
- "port": 8086,
572
- "username": "\${HTTP_USERNAME}",
573
- "password": "\${HTTP_PASSWORD}",
574
- "base": "/api"
575
- },
576
- "debug": false
577
- }
578
- `]
579
- };
580
- const [filename, content] = configMap[format] || configMap.ts;
581
- await fs.writeFile(path.join(appPath, filename), content);
582
- }
583
182
  main();
584
183
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function ensurePnpmInstalled(): Promise<void>;
2
+ export declare function installDependencies(projectPath: string): Promise<void>;
3
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAIA,wBAAsB,mBAAmB,kBAiBxC;AAED,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,iBAe5D"}
package/lib/install.js ADDED
@@ -0,0 +1,41 @@
1
+ import { execSync } from 'node:child_process';
2
+ import chalk from 'chalk';
3
+ import path from 'path';
4
+ export async function ensurePnpmInstalled() {
5
+ try {
6
+ execSync('pnpm --version', { stdio: 'ignore' });
7
+ console.log(chalk.green('✓ 检测到 pnpm 已安装'));
8
+ }
9
+ catch (error) {
10
+ console.log(chalk.yellow('⚠ 未检测到 pnpm,正在自动安装...'));
11
+ try {
12
+ console.log(chalk.blue('正在执行: npm install -g pnpm'));
13
+ execSync('npm install -g pnpm', { stdio: 'inherit' });
14
+ console.log(chalk.green('✓ pnpm 安装成功!'));
15
+ }
16
+ catch (installError) {
17
+ console.error(chalk.red('✗ pnpm 安装失败,请手动安装:'));
18
+ console.log(chalk.cyan(' npm install -g pnpm'));
19
+ console.log(chalk.gray('或访问: https://pnpm.io/installation'));
20
+ process.exit(1);
21
+ }
22
+ }
23
+ }
24
+ export async function installDependencies(projectPath) {
25
+ try {
26
+ console.log(chalk.gray('执行: pnpm install'));
27
+ execSync('pnpm install', {
28
+ cwd: projectPath,
29
+ stdio: 'inherit'
30
+ });
31
+ console.log(chalk.green('✓ 依赖安装成功!'));
32
+ }
33
+ catch (error) {
34
+ console.log('');
35
+ console.log(chalk.yellow('⚠ 依赖安装失败'));
36
+ console.log(chalk.gray('你可以稍后手动安装:'));
37
+ console.log(chalk.cyan(` cd ${path.basename(projectPath)}`));
38
+ console.log(chalk.cyan(' pnpm install'));
39
+ }
40
+ }
41
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC;QACH,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACrD,QAAQ,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB;IAC3D,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5C,QAAQ,CAAC,cAAc,EAAE;YACvB,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ export interface InitOptions {
2
+ name?: string;
3
+ config?: 'json' | 'yaml' | 'toml' | 'ts' | 'js';
4
+ runtime?: 'node' | 'bun';
5
+ yes?: boolean;
6
+ httpUsername?: string;
7
+ httpPassword?: string;
8
+ database?: DatabaseConfig;
9
+ }
10
+ export interface DatabaseConfig {
11
+ dialect: 'sqlite' | 'mysql' | 'pg' | 'mongodb' | 'redis';
12
+ [key: string]: any;
13
+ }
14
+ export declare const DATABASE_PACKAGES: {
15
+ readonly sqlite: "sqlite3";
16
+ readonly mysql: "mysql2";
17
+ readonly pg: "pg";
18
+ readonly mongodb: "mongodb";
19
+ readonly redis: "redis";
20
+ };
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;IACzD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAGD,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC"}
package/lib/types.js ADDED
@@ -0,0 +1,9 @@
1
+ // 数据库配置映射
2
+ export const DATABASE_PACKAGES = {
3
+ sqlite: 'sqlite3',
4
+ mysql: 'mysql2',
5
+ pg: 'pg',
6
+ mongodb: 'mongodb',
7
+ redis: 'redis'
8
+ };
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAeA,UAAU;AACV,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,QAAQ;IACf,EAAE,EAAE,IAAI;IACR,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACN,CAAC"}
package/lib/utils.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare function generateRandomPassword(length?: number): string;
2
+ export declare function getCurrentUsername(): string;
3
+ export declare function getDatabaseDisplayName(dialect: string): string;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM,CAOjE;AAGD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS9D"}
package/lib/utils.js ADDED
@@ -0,0 +1,26 @@
1
+ import os from 'os';
2
+ // 生成随机密码
3
+ export function generateRandomPassword(length = 6) {
4
+ const chars = 'ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789';
5
+ let password = '';
6
+ for (let i = 0; i < length; i++) {
7
+ password += chars.charAt(Math.floor(Math.random() * chars.length));
8
+ }
9
+ return password;
10
+ }
11
+ // 获取当前系统用户名
12
+ export function getCurrentUsername() {
13
+ return os.userInfo().username || 'admin';
14
+ }
15
+ // 获取数据库显示名称
16
+ export function getDatabaseDisplayName(dialect) {
17
+ const names = {
18
+ sqlite: 'SQLite',
19
+ mysql: 'MySQL',
20
+ pg: 'PostgreSQL',
21
+ mongodb: 'MongoDB',
22
+ redis: 'Redis'
23
+ };
24
+ return names[dialect] || dialect;
25
+ }
26
+ //# sourceMappingURL=utils.js.map