@zhin.js/scaffold-wizard 1.1.1 → 1.1.3

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/README.md CHANGED
@@ -51,6 +51,11 @@ import {
51
51
  3. `applyWizardOptionsToConfig(config, options)` — 合并进配置对象
52
52
  4. `appendWizardEnvVars` + `mergeDependenciesIntoPackageJson` — 写 `.env` 与依赖
53
53
 
54
+ 数据库方言的字段 Schema、默认值、环境变量校验、驱动版本和实机验收基线统一由
55
+ `DATABASE_DIALECT_DEFINITIONS` 提供。选择界面会显示验收基线;`validateDatabaseConfig`
56
+ 供 CLI 在保存和 `zhin config check` 时复用;启动阶段的 `normalizeDatabaseHostConfig`
57
+ 在驱动加载前负责运行时字段归一化,两处共同受回归测试约束。
58
+
54
59
  ## 开发
55
60
 
56
61
  ```bash
package/lib/apply.d.ts CHANGED
@@ -10,7 +10,7 @@ export declare function mergePluginManifestIntoPackageJson(projectDir: string, e
10
10
  instanceKey: string;
11
11
  }>): Promise<boolean>;
12
12
  export declare function appendWizardEnvVars(projectDir: string, adapters?: AdapterSetupResult, ai?: AISetupConfig, database?: DatabaseConfig): Promise<void>;
13
- export declare function collectWizardDependencies(options: Pick<InitOptions, 'adapters' | 'ai'>): Record<string, string>;
13
+ export declare function collectWizardDependencies(options: Pick<InitOptions, 'adapters' | 'ai' | 'database'>): Record<string, string>;
14
14
  /** 向导结果需要合并进 package.json zhin.features 的条目(与 create-zhin 路径对齐) */
15
15
  export declare function collectWizardFeatures(options: Pick<InitOptions, 'ai'>): Array<{
16
16
  package: string;
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAYjG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAGrG;AAED,iFAAiF;AACjF,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAUvG;AAgDD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,aAAa,GAAG,IAAI,CAExF;AAED,2DAA2D;AAC3D,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GACvD,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,kBAAkB,EAC7B,EAAE,CAAC,EAAE,aAAa,EAClB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC,GAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB;AAED,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAC/B,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAKzC;AAED,uEAAuE;AACvE,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED,wBAAsB,gCAAgC,CACpD,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,8CAA8C;AAC9C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAGhE;AAED,gDAAgD;AAChD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAItG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqCzF;AAmBD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBxF;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,GACtB,MAAM,CAGR"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAajG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAGrG;AAED,iFAAiF;AACjF,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAUvG;AAgDD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,aAAa,GAAG,IAAI,CAExF;AAED,2DAA2D;AAC3D,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GACvD,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,kBAAkB,EAC7B,EAAE,CAAC,EAAE,aAAa,EAClB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,IAAI,GAAG,UAAU,CAAC,GACzD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcxB;AAED,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAC/B,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAKzC;AAED,uEAAuE;AACvE,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED,wBAAsB,gCAAgC,CACpD,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,8CAA8C;AAC9C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAGhE;AAED,gDAAgD;AAChD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAItG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuCzF;AAmBD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBxF;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,GACtB,MAAM,CAGR"}
package/lib/apply.js CHANGED
@@ -5,6 +5,7 @@ import { readPluginConfigurationMap } from '@zhin.js/plugin-runtime';
5
5
  import { collectAdapterPluginConfigs, collectAdapterPluginManifest, generateAdapterEnvVars, getAdapterDependencies, } from './adapter.js';
6
6
  import { generateAIEnvVars, materializeAIConfig } from './ai.js';
7
7
  import { generateDatabaseEnvVars, mergeEnvText } from './env.js';
8
+ import { getDatabaseDialectDefinition } from './database-definitions.js';
8
9
  import { ensureDatabaseForAdapters, ensureDatabaseForAI, getAIDependencies } from './project-deps.js';
9
10
  import { DEFAULT_CREATE_BOT_HTTP_PORT, ZHIN_STACK_VERSIONS } from './zhin-stack-deps.js';
10
11
  export function applyDatabaseToConfig(config, database) {
@@ -108,8 +109,12 @@ export async function appendWizardEnvVars(projectDir, adapters, ai, database) {
108
109
  }
109
110
  }
110
111
  export function collectWizardDependencies(options) {
112
+ const databaseDriver = options.database
113
+ ? getDatabaseDialectDefinition(options.database.dialect)?.driver
114
+ : undefined;
111
115
  return {
112
116
  ...(options.adapters ? getAdapterDependencies(options.adapters) : {}),
117
+ ...(databaseDriver ? { [databaseDriver.package]: databaseDriver.version } : {}),
113
118
  ...getAIDependencies(options.ai),
114
119
  // AI authoring conventions(与 create-zhin 路径对齐)
115
120
  ...(options.ai?.enabled ? {
@@ -219,6 +224,8 @@ export function materializeDatabaseConfig(config) {
219
224
  password: '${REDIS_PASSWORD}',
220
225
  database: '${REDIS_DB}',
221
226
  };
227
+ case 'memory':
228
+ return { dialect: 'memory' };
222
229
  case 'sqlite':
223
230
  default: {
224
231
  const sqlite = { dialect: 'sqlite' };
package/lib/apply.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { DatabaseConfig } from './types.js';
2
+ export type DatabaseDialect = DatabaseConfig['dialect'];
3
+ export interface DatabaseDriverDefinition {
4
+ readonly package: string;
5
+ readonly version: string;
6
+ }
7
+ export interface DatabaseDialectDefinition {
8
+ readonly dialect: DatabaseDialect;
9
+ readonly name: string;
10
+ readonly description: string;
11
+ /** Concrete service version covered by the repository's live acceptance tests. */
12
+ readonly verifiedServer: string;
13
+ readonly driver?: DatabaseDriverDefinition;
14
+ readonly schema: Readonly<Record<string, unknown>>;
15
+ }
16
+ type SchemaIssueKind = 'env_missing' | 'invalid';
17
+ export interface DatabaseSchemaIssue {
18
+ readonly kind: SchemaIssueKind;
19
+ readonly path: string;
20
+ readonly message: string;
21
+ readonly envKey?: string;
22
+ }
23
+ export declare const DATABASE_DIALECT_DEFINITIONS: readonly DatabaseDialectDefinition[];
24
+ export declare function getDatabaseDialectDefinition(dialect: string): DatabaseDialectDefinition | undefined;
25
+ export declare function databaseChoiceLabel(definition: DatabaseDialectDefinition): string;
26
+ export declare function validateDatabaseConfig(config: unknown, env?: Readonly<Record<string, string | undefined>>): readonly DatabaseSchemaIssue[];
27
+ export {};
28
+ //# sourceMappingURL=database-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-definitions.d.ts","sourceRoot":"","sources":["../src/database-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAED,KAAK,eAAe,GAAG,aAAa,GAAG,SAAS,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAgBD,eAAO,MAAM,4BAA4B,EAAE,SAAS,yBAAyB,EAgH3E,CAAC;AAIH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAEnG;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,yBAAyB,GAAG,MAAM,CAKjF;AAkJD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,EACf,GAAG,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAM,GACrD,SAAS,mBAAmB,EAAE,CAmBhC"}
@@ -0,0 +1,290 @@
1
+ const text = (defaultValue, extras = {}) => ({
2
+ type: 'string',
3
+ minLength: 1,
4
+ ...(defaultValue === undefined ? {} : { default: defaultValue }),
5
+ ...extras,
6
+ });
7
+ const port = (defaultValue) => ({
8
+ type: 'integer',
9
+ minimum: 1,
10
+ maximum: 65535,
11
+ default: defaultValue,
12
+ });
13
+ export const DATABASE_DIALECT_DEFINITIONS = Object.freeze([
14
+ {
15
+ dialect: 'sqlite',
16
+ name: 'SQLite',
17
+ description: '推荐,零配置,适合单机 Bot',
18
+ verifiedServer: 'Node.js 内置 node:sqlite(Node.js 22.5+)',
19
+ schema: {
20
+ type: 'object',
21
+ additionalProperties: true,
22
+ required: ['dialect'],
23
+ properties: {
24
+ dialect: { const: 'sqlite' },
25
+ filename: text('./data/bot.db'),
26
+ mode: { type: 'string', enum: ['wal', 'delete', 'memory'], default: 'wal' },
27
+ },
28
+ },
29
+ },
30
+ {
31
+ dialect: 'mysql',
32
+ name: 'MySQL',
33
+ description: '关系型数据库',
34
+ verifiedServer: 'MySQL 8.4 LTS',
35
+ driver: { package: 'mysql2', version: '^3.23.2' },
36
+ schema: {
37
+ type: 'object',
38
+ additionalProperties: true,
39
+ required: ['dialect'],
40
+ properties: {
41
+ dialect: { const: 'mysql' },
42
+ host: text('127.0.0.1'),
43
+ port: port(3306),
44
+ user: text('root'),
45
+ password: { type: 'string' },
46
+ database: text('zhin_bot'),
47
+ },
48
+ },
49
+ },
50
+ {
51
+ dialect: 'pg',
52
+ name: 'PostgreSQL',
53
+ description: '关系型数据库,方言名为 pg',
54
+ verifiedServer: 'PostgreSQL 17',
55
+ driver: { package: 'pg', version: '^8.22.0' },
56
+ schema: {
57
+ type: 'object',
58
+ additionalProperties: true,
59
+ required: ['dialect'],
60
+ properties: {
61
+ dialect: { const: 'pg' },
62
+ host: text('127.0.0.1'),
63
+ port: port(5432),
64
+ user: text('postgres'),
65
+ password: { type: 'string' },
66
+ database: text('zhin_bot'),
67
+ },
68
+ },
69
+ },
70
+ {
71
+ dialect: 'mongodb',
72
+ name: 'MongoDB',
73
+ description: '文档数据库',
74
+ verifiedServer: 'MongoDB 8',
75
+ driver: { package: 'mongodb', version: '^7.5.0' },
76
+ schema: {
77
+ type: 'object',
78
+ additionalProperties: true,
79
+ required: ['dialect', 'url', 'dbName'],
80
+ properties: {
81
+ dialect: { const: 'mongodb' },
82
+ url: text('mongodb://127.0.0.1:27017', { pattern: '^mongodb(?:\\+srv)?://' }),
83
+ dbName: text('zhin_bot'),
84
+ },
85
+ },
86
+ },
87
+ {
88
+ dialect: 'redis',
89
+ name: 'Redis',
90
+ description: '键值数据库',
91
+ verifiedServer: 'Redis 8',
92
+ driver: { package: 'redis', version: '^6.1.0' },
93
+ schema: {
94
+ type: 'object',
95
+ additionalProperties: true,
96
+ required: ['dialect'],
97
+ properties: {
98
+ dialect: { const: 'redis' },
99
+ socket: {
100
+ type: 'object',
101
+ additionalProperties: true,
102
+ required: ['host', 'port'],
103
+ properties: {
104
+ host: text('127.0.0.1'),
105
+ port: port(6379),
106
+ },
107
+ },
108
+ password: { type: 'string' },
109
+ database: { type: 'integer', minimum: 0, default: 0 },
110
+ },
111
+ },
112
+ },
113
+ {
114
+ dialect: 'memory',
115
+ name: 'Memory',
116
+ description: '仅进程内,适合测试,不持久化',
117
+ verifiedServer: 'Zhin 内置实现',
118
+ schema: {
119
+ type: 'object',
120
+ additionalProperties: false,
121
+ required: ['dialect'],
122
+ properties: { dialect: { const: 'memory' } },
123
+ },
124
+ },
125
+ ]);
126
+ const definitions = new Map(DATABASE_DIALECT_DEFINITIONS.map((definition) => [definition.dialect, definition]));
127
+ export function getDatabaseDialectDefinition(dialect) {
128
+ return definitions.get(dialect);
129
+ }
130
+ export function databaseChoiceLabel(definition) {
131
+ const driver = definition.driver
132
+ ? `;驱动 ${definition.driver.package} ${definition.driver.version}`
133
+ : '';
134
+ return `${definition.name}(${definition.description};当前支持/实机验证 ${definition.verifiedServer}${driver})`;
135
+ }
136
+ function expandEnvReferences(input, path, env, issues) {
137
+ let output = '';
138
+ let index = 0;
139
+ while (index < input.length) {
140
+ const start = input.indexOf('${', index);
141
+ if (start < 0)
142
+ break;
143
+ let cursor = start + 2;
144
+ const first = input[cursor];
145
+ if (first === undefined || !isEnvKeyStart(first)) {
146
+ output += input.slice(index, start + 1);
147
+ index = start + 1;
148
+ continue;
149
+ }
150
+ cursor += 1;
151
+ while (cursor < input.length && isEnvKeyCharacter(input[cursor]))
152
+ cursor += 1;
153
+ const key = input.slice(start + 2, cursor);
154
+ let fallback;
155
+ if (input[cursor] === ':' && (input[cursor + 1] === '-' || input[cursor + 1] === '=')) {
156
+ const close = input.indexOf('}', cursor + 2);
157
+ if (close < 0) {
158
+ output += input.slice(index, start + 1);
159
+ index = start + 1;
160
+ continue;
161
+ }
162
+ fallback = input.slice(cursor + 2, close);
163
+ cursor = close;
164
+ }
165
+ if (input[cursor] !== '}') {
166
+ output += input.slice(index, start + 1);
167
+ index = start + 1;
168
+ continue;
169
+ }
170
+ output += input.slice(index, start);
171
+ const resolved = env[key];
172
+ if ((resolved === undefined || resolved === '') && fallback !== undefined) {
173
+ output += fallback;
174
+ }
175
+ else if (resolved === undefined) {
176
+ issues.push({
177
+ kind: 'env_missing',
178
+ path,
179
+ envKey: key,
180
+ message: `环境变量 ${key} 未设置(${path})`,
181
+ });
182
+ }
183
+ else {
184
+ output += resolved;
185
+ }
186
+ index = cursor + 1;
187
+ }
188
+ return output + input.slice(index);
189
+ }
190
+ function isEnvKeyStart(character) {
191
+ return (character >= 'A' && character <= 'Z')
192
+ || (character >= 'a' && character <= 'z')
193
+ || character === '_';
194
+ }
195
+ function isEnvKeyCharacter(character) {
196
+ return isEnvKeyStart(character) || (character >= '0' && character <= '9');
197
+ }
198
+ function validateValue(schema, rawValue, path, env, issues) {
199
+ let value = rawValue;
200
+ if (typeof value === 'string') {
201
+ const before = issues.length;
202
+ value = expandEnvReferences(value, path, env, issues);
203
+ if (issues.length > before)
204
+ return;
205
+ }
206
+ if ('const' in schema && value !== schema.const) {
207
+ issues.push({ kind: 'invalid', path, message: `${path} 必须是 ${JSON.stringify(schema.const)}` });
208
+ return;
209
+ }
210
+ const type = schema.type;
211
+ if (type === 'object') {
212
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
213
+ issues.push({ kind: 'invalid', path, message: `${path} 必须是对象` });
214
+ return;
215
+ }
216
+ const record = value;
217
+ const properties = (schema.properties ?? {});
218
+ if (schema.additionalProperties === false) {
219
+ for (const key of Object.keys(record)) {
220
+ if (!(key in properties)) {
221
+ issues.push({ kind: 'invalid', path: `${path}.${key}`, message: `${path}.${key} 不是受支持的配置项` });
222
+ }
223
+ }
224
+ }
225
+ for (const required of (schema.required ?? [])) {
226
+ if (!(required in record) || record[required] === undefined || record[required] === null) {
227
+ issues.push({ kind: 'invalid', path: `${path}.${required}`, message: `${path}.${required} 不能为空` });
228
+ }
229
+ }
230
+ for (const [key, propertySchema] of Object.entries(properties)) {
231
+ if (record[key] !== undefined)
232
+ validateValue(propertySchema, record[key], `${path}.${key}`, env, issues);
233
+ }
234
+ return;
235
+ }
236
+ if (type === 'string') {
237
+ if (typeof value !== 'string') {
238
+ issues.push({ kind: 'invalid', path, message: `${path} 必须是字符串` });
239
+ return;
240
+ }
241
+ if (typeof schema.minLength === 'number' && value.length < schema.minLength) {
242
+ issues.push({ kind: 'invalid', path, message: `${path} 不能为空` });
243
+ }
244
+ if (typeof schema.pattern === 'string' && !new RegExp(schema.pattern, 'u').test(value)) {
245
+ issues.push({ kind: 'invalid', path, message: `${path} 格式无效` });
246
+ }
247
+ if (Array.isArray(schema.enum) && !schema.enum.includes(value)) {
248
+ issues.push({ kind: 'invalid', path, message: `${path} 必须是 ${schema.enum.join('、')} 之一` });
249
+ }
250
+ return;
251
+ }
252
+ if (type === 'integer') {
253
+ const numeric = typeof value === 'number'
254
+ ? value
255
+ : typeof value === 'string' && /^\d+$/u.test(value.trim())
256
+ ? Number(value.trim())
257
+ : Number.NaN;
258
+ if (!Number.isInteger(numeric)) {
259
+ issues.push({ kind: 'invalid', path, message: `${path} 必须是整数` });
260
+ return;
261
+ }
262
+ if (typeof schema.minimum === 'number' && numeric < schema.minimum) {
263
+ issues.push({ kind: 'invalid', path, message: `${path} 不能小于 ${schema.minimum}` });
264
+ }
265
+ if (typeof schema.maximum === 'number' && numeric > schema.maximum) {
266
+ issues.push({ kind: 'invalid', path, message: `${path} 不能大于 ${schema.maximum}` });
267
+ }
268
+ }
269
+ }
270
+ export function validateDatabaseConfig(config, env = {}) {
271
+ if (!config || typeof config !== 'object' || Array.isArray(config)) {
272
+ return [{ kind: 'invalid', path: 'database', message: 'database 必须是对象' }];
273
+ }
274
+ const dialect = config.dialect;
275
+ if (typeof dialect !== 'string') {
276
+ return [{ kind: 'invalid', path: 'database.dialect', message: 'database.dialect 不能为空' }];
277
+ }
278
+ const definition = getDatabaseDialectDefinition(dialect);
279
+ if (!definition) {
280
+ return [{
281
+ kind: 'invalid',
282
+ path: 'database.dialect',
283
+ message: `不支持的数据库方言 ${JSON.stringify(dialect)}`,
284
+ }];
285
+ }
286
+ const issues = [];
287
+ validateValue(definition.schema, config, 'database', env, issues);
288
+ return Object.freeze(issues);
289
+ }
290
+ //# sourceMappingURL=database-definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-definitions.js","sourceRoot":"","sources":["../src/database-definitions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,cAAc,CAAC,CA+BxE"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA6B5C,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,cAAc,CAAC,CA0CxE"}