@downcity/city 0.2.76 → 0.2.78

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.
@@ -1,13 +1,18 @@
1
1
  /**
2
2
  * City 组装模块。
3
3
  *
4
- * 负责把用户传入的 Drizzle db 适配成 City 内部 runtime 能力,
5
- * 并提供默认的数据库 env provider。
4
+ * 关键说明(中文)
5
+ * - 用户只需要传入 Drizzle db,方言、底层 client 全部由 City 自己从 db 推断。
6
+ * - 用户既不需要传 `dialect`,也不需要传 `raw`,避免参数语义重复。
6
7
  */
7
8
  import type { CityBaseOptions } from "../types.js";
8
9
  import type { Runtime } from "../runtime.js";
9
10
  /**
10
11
  * 从 CityBaseOptions 创建 runtime。
12
+ *
13
+ * 关键说明(中文)
14
+ * - 通过 Drizzle 暴露的 `db.dialect` 自动推断 sqlite / pg 方言。
15
+ * - 通过 `db.$client` 提取底层 client,既用于 DDL 也作为 raw 暴露给需要它的 service。
11
16
  */
12
17
  export declare function create_runtime_from_db(options: CityBaseOptions): Runtime;
13
18
  //# sourceMappingURL=base-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-runtime.d.ts","sourceRoot":"","sources":["../../../src/core/base/base-runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAA8B,OAAO,EAAE,MAAM,eAAe,CAAC;AAGzE;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAYxE"}
1
+ {"version":3,"file":"base-runtime.d.ts","sourceRoot":"","sources":["../../../src/core/base/base-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAA8B,OAAO,EAAE,MAAM,eAAe,CAAC;AAGzE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAYxE"}
@@ -1,17 +1,22 @@
1
1
  /**
2
2
  * City 组装模块。
3
3
  *
4
- * 负责把用户传入的 Drizzle db 适配成 City 内部 runtime 能力,
5
- * 并提供默认的数据库 env provider。
4
+ * 关键说明(中文)
5
+ * - 用户只需要传入 Drizzle db,方言、底层 client 全部由 City 自己从 db 推断。
6
+ * - 用户既不需要传 `dialect`,也不需要传 `raw`,避免参数语义重复。
6
7
  */
7
8
  import { pgEnv, sqliteEnv } from "../../service/env/schema.js";
8
9
  import { pgTowns, sqliteTowns } from "../../service/towns/schema.js";
9
10
  import { normalizeEnvKey, parseDotenvEntries } from "../../utils/helpers.js";
10
11
  /**
11
12
  * 从 CityBaseOptions 创建 runtime。
13
+ *
14
+ * 关键说明(中文)
15
+ * - 通过 Drizzle 暴露的 `db.dialect` 自动推断 sqlite / pg 方言。
16
+ * - 通过 `db.$client` 提取底层 client,既用于 DDL 也作为 raw 暴露给需要它的 service。
12
17
  */
13
18
  export function create_runtime_from_db(options) {
14
- const dialect = options.dialect ?? infer_dialect(options.db);
19
+ const dialect = infer_dialect(options.db);
15
20
  const builtin_tables = builtin_tables_for(dialect);
16
21
  const client = extract_db_client(options.db);
17
22
  return {
@@ -19,7 +24,7 @@ export function create_runtime_from_db(options) {
19
24
  client,
20
25
  env: new DatabaseEnvProvider(),
21
26
  builtinTables: builtin_tables,
22
- raw: options.raw ?? options.db.$client,
27
+ raw: options.db.$client,
23
28
  };
24
29
  }
25
30
  /**
@@ -32,14 +37,23 @@ function builtin_tables_for(dialect) {
32
37
  }
33
38
  /**
34
39
  * 从 Drizzle 实例推断方言。
40
+ *
41
+ * 关键说明(中文)
42
+ * - Drizzle v0.30+ 会在 db 上挂一个 `dialect` 实例(SQLiteSyncDialect / SQLiteAsyncDialect / PgDialect)。
43
+ * - 我们直接读 dialect 实例的构造函数名,比读 db 自身名字更稳定,覆盖 better-sqlite3 / d1 / node-sqlite / pg。
35
44
  */
36
45
  function infer_dialect(db) {
37
- const entity_kind = db.constructor?.name ?? "";
38
- if (/pg|postgres/i.test(entity_kind))
46
+ const dialect_name = db.dialect?.constructor?.name ?? "";
47
+ if (/SQLite/i.test(dialect_name))
48
+ return "sqlite";
49
+ if (/Pg/i.test(dialect_name))
39
50
  return "pg";
40
- if (/sqlite|d1/i.test(entity_kind))
51
+ const ctor_name = db.constructor?.name ?? "";
52
+ if (/sqlite|d1/i.test(ctor_name))
41
53
  return "sqlite";
42
- throw new Error("Unable to infer Drizzle dialect. Pass { dialect: \"pg\" } or { dialect: \"sqlite\" } to City.");
54
+ if (/pg|postgres/i.test(ctor_name))
55
+ return "pg";
56
+ throw new Error("Unable to infer Drizzle dialect from db. Please pass a Drizzle SQLite or Postgres database.");
43
57
  }
44
58
  /**
45
59
  * 提取底层数据库 client。
@@ -1 +1 @@
1
- {"version":3,"file":"base-runtime.js","sourceRoot":"","sources":["../../../src/core/base/base-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-runtime.js","sourceRoot":"","sources":["../../../src/core/base/base-runtime.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export class CityBase {
27
27
  authenticator;
28
28
  town_store;
29
29
  constructor(options) {
30
- this.runtime = options.runtime ?? create_runtime_from_db(options);
30
+ this.runtime = create_runtime_from_db(options);
31
31
  this.use(new EnvService());
32
32
  this.use(new TownsService());
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/core/base/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/core/base/base.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@
3
3
  *
4
4
  * 包含创建 City 实例和健康检查所需的所有类型定义。
5
5
  */
6
- import type { Runtime } from "./runtime.js";
7
6
  import type { Database } from "../store/db.js";
8
7
  /**
9
8
  * 单次请求的运行时执行上下文。
@@ -44,35 +43,21 @@ export interface CityBaseHealthStatus {
44
43
  /**
45
44
  * 创建 City 实例时传入的顶层配置。
46
45
  *
47
- * 默认只需要传入 Drizzle db。City 会自动初始化内置 env/towns 能力。
46
+ * 关键说明(中文)
47
+ * - 只接收一个 Drizzle db 对象,City 自己从中推断方言和底层 client。
48
+ * - 不再需要传 `dialect`、`raw`、`runtime` 等冗余选项。
48
49
  */
49
50
  export interface CityBaseOptions {
50
51
  /**
51
52
  * Drizzle database 对象。
52
53
  *
53
- * 支持 pg 与 sqlite 方言;D1 也属于 sqlite 方言。
54
+ * 关键说明(中文)
55
+ * - 支持 SQLite(含 D1)与 Postgres 方言;City 直接从 `db.dialect` 推断方言。
56
+ * - 支持的底层 client 通过 `db.$client` 暴露给 accounts 等需要原始连接的 service。
54
57
  */
55
58
  db: Database & {
56
59
  $client?: unknown;
60
+ dialect?: unknown;
57
61
  };
58
- /**
59
- * 数据库方言。
60
- *
61
- * 默认会从 Drizzle db 自动推断;当自定义 db 无法推断时可以显式传入。
62
- */
63
- dialect?: "pg" | "sqlite";
64
- /**
65
- * 原始数据库实例。
66
- *
67
- * 某些服务需要把底层数据库传给第三方库时使用,例如 accounts 服务。
68
- * 默认使用 db.$client。
69
- */
70
- raw?: unknown;
71
- /**
72
- * 内部运行时能力。
73
- *
74
- * 保留给测试和高级适配场景;普通用户不需要传入。
75
- */
76
- runtime?: Runtime;
77
62
  }
78
63
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB;IACrB,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,yBAAyB;IACzB,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9C;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,EAAE,EAAE,QAAQ,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAErC;;;;OAIG;IACH,OAAO,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC;IAE1B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB;IACrB,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,yBAAyB;IACzB,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,EAAE,EAAE,QAAQ,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACzD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@downcity/city",
3
- "version": "0.2.76",
3
+ "version": "0.2.78",
4
4
  "description": "Downcity City runtime and City access SDK for services, actions, auth, env, and towns.",
5
5
  "type": "module",
6
6
  "main": "./bin/index.js",