neoorm 0.6.2 → 0.7.0

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 (174) hide show
  1. package/README.md +6 -4
  2. package/dist/bin/neoorm.js +28 -1
  3. package/dist/bin/neoorm.js.map +1 -1
  4. package/dist/codegen/generate.d.ts +7 -0
  5. package/dist/codegen/generate.d.ts.map +1 -1
  6. package/dist/codegen/generate.js +18 -2
  7. package/dist/codegen/generate.js.map +1 -1
  8. package/dist/codegen/schema-to-manifest.d.ts +15 -1
  9. package/dist/codegen/schema-to-manifest.d.ts.map +1 -1
  10. package/dist/codegen/schema-to-manifest.js +87 -25
  11. package/dist/codegen/schema-to-manifest.js.map +1 -1
  12. package/dist/config.d.ts +12 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +6 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/docs/pages.d.ts +9 -0
  17. package/dist/docs/pages.d.ts.map +1 -0
  18. package/dist/docs/pages.js +64 -0
  19. package/dist/docs/pages.js.map +1 -0
  20. package/dist/docs/render.d.ts +4 -0
  21. package/dist/docs/render.d.ts.map +1 -0
  22. package/dist/docs/render.js +245 -0
  23. package/dist/docs/render.js.map +1 -0
  24. package/dist/docs/resolve-docs-dir.d.ts +2 -0
  25. package/dist/docs/resolve-docs-dir.d.ts.map +1 -0
  26. package/dist/docs/resolve-docs-dir.js +27 -0
  27. package/dist/docs/resolve-docs-dir.js.map +1 -0
  28. package/dist/docs/server.d.ts +11 -0
  29. package/dist/docs/server.d.ts.map +1 -0
  30. package/dist/docs/server.js +99 -0
  31. package/dist/docs/server.js.map +1 -0
  32. package/dist/index.d.ts +8 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +7 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/init/templates.js +2 -2
  37. package/dist/introspect/pull.d.ts.map +1 -1
  38. package/dist/introspect/pull.js +16 -2
  39. package/dist/introspect/pull.js.map +1 -1
  40. package/dist/migrate/runner.d.ts +4 -0
  41. package/dist/migrate/runner.d.ts.map +1 -1
  42. package/dist/migrate/runner.js +4 -0
  43. package/dist/migrate/runner.js.map +1 -1
  44. package/dist/plugins/builtin.d.ts +24 -0
  45. package/dist/plugins/builtin.d.ts.map +1 -1
  46. package/dist/plugins/builtin.js +21 -0
  47. package/dist/plugins/builtin.js.map +1 -1
  48. package/dist/plugins/index.d.ts +4 -0
  49. package/dist/plugins/index.d.ts.map +1 -1
  50. package/dist/plugins/index.js +4 -0
  51. package/dist/plugins/index.js.map +1 -1
  52. package/dist/plugins/postgis/columns.d.ts +7 -3
  53. package/dist/plugins/postgis/columns.d.ts.map +1 -1
  54. package/dist/plugins/postgis/columns.js +3 -0
  55. package/dist/plugins/postgis/columns.js.map +1 -1
  56. package/dist/plugins/registry.d.ts +1 -0
  57. package/dist/plugins/registry.d.ts.map +1 -1
  58. package/dist/plugins/registry.js +1 -0
  59. package/dist/plugins/registry.js.map +1 -1
  60. package/dist/plugins/types.d.ts +2 -0
  61. package/dist/plugins/types.d.ts.map +1 -1
  62. package/dist/runtime/client.d.ts +27 -1
  63. package/dist/runtime/client.d.ts.map +1 -1
  64. package/dist/runtime/client.js +15 -5
  65. package/dist/runtime/client.js.map +1 -1
  66. package/dist/runtime/error-builders.d.ts +14 -0
  67. package/dist/runtime/error-builders.d.ts.map +1 -0
  68. package/dist/runtime/error-builders.js +54 -0
  69. package/dist/runtime/error-builders.js.map +1 -0
  70. package/dist/runtime/error-hints.d.ts +19 -0
  71. package/dist/runtime/error-hints.d.ts.map +1 -0
  72. package/dist/runtime/error-hints.js +181 -0
  73. package/dist/runtime/error-hints.js.map +1 -0
  74. package/dist/runtime/errors.d.ts +12 -0
  75. package/dist/runtime/errors.d.ts.map +1 -1
  76. package/dist/runtime/errors.js +24 -2
  77. package/dist/runtime/errors.js.map +1 -1
  78. package/dist/runtime/pg-error.d.ts.map +1 -1
  79. package/dist/runtime/pg-error.js +86 -0
  80. package/dist/runtime/pg-error.js.map +1 -1
  81. package/dist/runtime/query/compile.d.ts.map +1 -1
  82. package/dist/runtime/query/compile.js +5 -12
  83. package/dist/runtime/query/compile.js.map +1 -1
  84. package/dist/runtime/query/cursor-codec.d.ts +11 -0
  85. package/dist/runtime/query/cursor-codec.d.ts.map +1 -1
  86. package/dist/runtime/query/cursor-codec.js +11 -0
  87. package/dist/runtime/query/cursor-codec.js.map +1 -1
  88. package/dist/runtime/query/cursor.d.ts.map +1 -1
  89. package/dist/runtime/query/cursor.js +2 -5
  90. package/dist/runtime/query/cursor.js.map +1 -1
  91. package/dist/runtime/query/execute.d.ts.map +1 -1
  92. package/dist/runtime/query/execute.js +28 -9
  93. package/dist/runtime/query/execute.js.map +1 -1
  94. package/dist/runtime/query/group-by.d.ts.map +1 -1
  95. package/dist/runtime/query/group-by.js +3 -7
  96. package/dist/runtime/query/group-by.js.map +1 -1
  97. package/dist/runtime/query/projection.d.ts.map +1 -1
  98. package/dist/runtime/query/projection.js +2 -4
  99. package/dist/runtime/query/projection.js.map +1 -1
  100. package/dist/runtime/query/relation-planner.d.ts.map +1 -1
  101. package/dist/runtime/query/relation-planner.js +6 -1
  102. package/dist/runtime/query/relation-planner.js.map +1 -1
  103. package/dist/runtime/query/strip.d.ts.map +1 -1
  104. package/dist/runtime/query/strip.js +2 -4
  105. package/dist/runtime/query/strip.js.map +1 -1
  106. package/dist/runtime/query/table-index.d.ts +4 -0
  107. package/dist/runtime/query/table-index.d.ts.map +1 -1
  108. package/dist/runtime/query/table-index.js +45 -0
  109. package/dist/runtime/query/table-index.js.map +1 -1
  110. package/dist/runtime/schema-error.d.ts +1 -1
  111. package/dist/runtime/schema-error.d.ts.map +1 -1
  112. package/dist/runtime/schema-error.js +7 -2
  113. package/dist/runtime/schema-error.js.map +1 -1
  114. package/dist/runtime/sqlite-error.d.ts +12 -0
  115. package/dist/runtime/sqlite-error.d.ts.map +1 -0
  116. package/dist/runtime/sqlite-error.js +169 -0
  117. package/dist/runtime/sqlite-error.js.map +1 -0
  118. package/dist/runtime/types.d.ts +8 -0
  119. package/dist/runtime/types.d.ts.map +1 -1
  120. package/dist/schema/column.d.ts +32 -5
  121. package/dist/schema/column.d.ts.map +1 -1
  122. package/dist/schema/column.js +5 -0
  123. package/dist/schema/column.js.map +1 -1
  124. package/dist/schema/define-schema.d.ts +19 -0
  125. package/dist/schema/define-schema.d.ts.map +1 -1
  126. package/dist/schema/define-schema.js +15 -0
  127. package/dist/schema/define-schema.js.map +1 -1
  128. package/dist/schema/index.d.ts +7 -1
  129. package/dist/schema/index.d.ts.map +1 -1
  130. package/dist/schema/index.js +1 -1
  131. package/dist/schema/index.js.map +1 -1
  132. package/dist/schema/many-to-many.d.ts +23 -1
  133. package/dist/schema/many-to-many.d.ts.map +1 -1
  134. package/dist/schema/many-to-many.js +16 -1
  135. package/dist/schema/many-to-many.js.map +1 -1
  136. package/dist/schema/nested-relation-types.d.ts +2 -1
  137. package/dist/schema/nested-relation-types.d.ts.map +1 -1
  138. package/dist/schema/relation-types.d.ts +14 -9
  139. package/dist/schema/relation-types.d.ts.map +1 -1
  140. package/dist/schema/relation.d.ts +34 -2
  141. package/dist/schema/relation.d.ts.map +1 -1
  142. package/dist/schema/relation.js.map +1 -1
  143. package/dist/schema/table.d.ts +20 -0
  144. package/dist/schema/table.d.ts.map +1 -1
  145. package/dist/schema/table.js +3 -0
  146. package/dist/schema/table.js.map +1 -1
  147. package/dist/schema/types.d.ts +7 -0
  148. package/dist/schema/types.d.ts.map +1 -1
  149. package/dist/sql/builder.d.ts +1 -0
  150. package/dist/sql/builder.d.ts.map +1 -1
  151. package/dist/sql/builder.js +1 -0
  152. package/dist/sql/builder.js.map +1 -1
  153. package/dist/sql/index.d.ts +5 -1
  154. package/dist/sql/index.d.ts.map +1 -1
  155. package/dist/sql/index.js +5 -1
  156. package/dist/sql/index.js.map +1 -1
  157. package/dist/sql/template.d.ts +3 -0
  158. package/dist/sql/template.d.ts.map +1 -1
  159. package/dist/sql/template.js +3 -0
  160. package/dist/sql/template.js.map +1 -1
  161. package/docs/api-docstrings.md +43 -0
  162. package/docs/cli.md +107 -0
  163. package/docs/configuration.md +51 -0
  164. package/docs/errors.md +72 -0
  165. package/docs/examples.md +498 -0
  166. package/docs/getting-started.md +122 -0
  167. package/docs/migrations.md +67 -0
  168. package/docs/plugins.md +47 -0
  169. package/docs/queries.md +465 -0
  170. package/docs/relations.md +75 -0
  171. package/docs/schema.md +265 -0
  172. package/docs/sqlite.md +105 -0
  173. package/docs/transactions.md +54 -0
  174. package/package.json +3 -1
package/README.md CHANGED
@@ -69,7 +69,7 @@ const posts = await db.posts.findMany({
69
69
 
70
70
  <table>
71
71
  <tr>
72
- <td width="50%"><strong>🧩 Schema DSL</strong><br/>Accessor-based tables (`table({…})`), fluent FKs (`fk("users").inverse("posts")`), `id()`, `timestamps()`, array extras, virtual M2M, checks, and partial indexes.</td>
72
+ <td width="50%"><strong>🧩 Schema DSL</strong><br/>Accessor-based tables (`table({…})`), fluent FKs (`fk("users")`), `many("tags")`, `id()`, `timestamps()`, array extras, checks, and partial indexes.</td>
73
73
  <td width="50%"><strong>📦 Code generation</strong><br/>`neoorm generate` emits a typed client, models with payload types, include types, a manifest, and migration SQL.</td>
74
74
  </tr>
75
75
  <tr>
@@ -101,17 +101,19 @@ const posts = await db.posts.findMany({
101
101
  | Topic | |
102
102
  |-------|-|
103
103
  | [Getting started](docs/getting-started.md) | Setup, manual config, env vars, tenant schemas |
104
- | [Schema DSL](docs/schema.md) | Tables, columns, foreign keys (incl. table/column refs, inferred relation names, composite PKs, inline indexes) and many-to-many |
104
+ | [Examples](docs/examples.md) | Copy-paste patterns for schema, queries, relations, and more |
105
+ | [Schema DSL](docs/schema.md) | Tables, columns, foreign keys, many-to-many |
105
106
  | [Queries](docs/queries.md) | CRUD, where clauses, pagination, aggregates, groupBy, distinct |
106
107
  | [Relation writes](docs/relations.md) | Nested connect/create/disconnect/set/delete |
107
108
  | [Transactions](docs/transactions.md) | Interactive, batch, nested, isolation levels |
108
109
  | [Migrations](docs/migrations.md) | Deploy, dev, status, rollback, reset |
109
110
  | [CLI reference](docs/cli.md) | All commands and flags |
111
+ | [Documentation site](docs/getting-started.md) | Run `neoorm docs` for a local docs browser |
110
112
  | [Configuration](docs/configuration.md) | Config file options reference |
111
113
  | [SQLite](docs/sqlite.md) | SQLite dialect, drivers, type mapping, limitations |
112
114
  | [Plugins](docs/plugins.md) | PostGIS, citext, custom plugins |
113
115
 
114
- See the [blog example](examples/blog/schema.ts) for a complete schema, and [queries.example.ts](examples/blog/queries.example.ts) for typed queries and mutations.
116
+ See [Getting started](docs/getting-started.md) and [Examples](docs/examples.md) to begin, or the [blog example](examples/blog/schema.ts) for a full schema and [queries.example.ts](examples/blog/queries.example.ts) for typed queries and mutations.
115
117
 
116
118
  ---
117
119
 
@@ -120,7 +122,7 @@ See the [blog example](examples/blog/schema.ts) for a complete schema, and [quer
120
122
  | Import | Purpose |
121
123
  |--------|---------|
122
124
  | `neoorm` | `defineConfig`, `createNeoOrmClient`, `createNeoOrmClientFromPool`, client types |
123
- | `neoorm/schema` | Schema DSL (`defineSchema`, `table`, column builders, `fk`, `manyToMany`, `index`, `unique`, `primaryKey`) |
125
+ | `neoorm/schema` | Schema DSL (`defineSchema`, `table`, column builders, `fk`, `many`, `index`, `unique`, `primaryKey`) |
124
126
  | `neoorm/sql` | Tagged SQL templates (`sql`), SQL fragment builder, fluent query builder |
125
127
  | `neoorm/plugins` | Plugin registry, `NeoOrmPlugin`, `ColumnTypePlugin` |
126
128
  | `neoorm/plugins/postgis` | PostGIS column types (`geometry`, `geography`, `point`) and spatial operators |
@@ -295,7 +295,34 @@ program
295
295
  }
296
296
  });
297
297
  program
298
- .command("db")
298
+ .command("docs")
299
+ .description("Serve NeoOrm documentation locally")
300
+ .option("-p, --port <port>", "Port to listen on", "7583")
301
+ .option("-H, --host <host>", "Host to bind", "127.0.0.1")
302
+ .option("--open", "Open the docs site in your browser")
303
+ .action(async (options) => {
304
+ const port = Number.parseInt(options.port, 10);
305
+ if (!Number.isFinite(port) || port < 1 || port > 65535) {
306
+ console.error("--port must be a number between 1 and 65535");
307
+ process.exit(1);
308
+ }
309
+ const { startDocsServer } = await import("../docs/server.js");
310
+ const server = await startDocsServer({
311
+ port,
312
+ host: options.host,
313
+ ...(options.open ? { open: true } : {}),
314
+ version: packageJson.version,
315
+ });
316
+ console.log(`NeoOrm docs running at ${server.url}`);
317
+ console.log("Press Ctrl+C to stop");
318
+ await new Promise((resolve) => {
319
+ const onSignal = () => resolve();
320
+ process.once("SIGINT", onSignal);
321
+ process.once("SIGTERM", onSignal);
322
+ });
323
+ await server.close();
324
+ });
325
+ program
299
326
  .description("Database utilities")
300
327
  .argument("<subcommand>", "push | pull")
301
328
  .option("-o, --output <file>", "Output file for pull", "schema.pulled.ts")
@@ -1 +1 @@
1
- {"version":3,"file":"neoorm.js","sourceRoot":"","sources":["../../src/bin/neoorm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"neoorm.js","sourceRoot":"","sources":["../../src/bin/neoorm.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export declare function writeMigration(outDir: string, sql: string[], options?:
30
30
  export declare function writeGeneratedFiles(outDir: string, manifest: Manifest, migrationSql: string[], schemaPath: string, prev: Manifest | null, dialect?: Dialect): Promise<{
31
31
  migrationName: string | null;
32
32
  }>;
33
+ /** Result of {@link generateFromSchema}. */
33
34
  export type GenerateResult = {
34
35
  manifest: Manifest;
35
36
  migrationName: string | null;
@@ -45,5 +46,11 @@ export type GenerateOptions = {
45
46
  schema?: string;
46
47
  url?: string;
47
48
  };
49
+ /**
50
+ * Generate client, models, and migration SQL from a schema file.
51
+ *
52
+ * @param schemaPath - Path to `schema.ts`.
53
+ * @param outDir - Output directory from config `out`.
54
+ */
48
55
  export declare function generateFromSchema(schemaPath: string, outDir: string, options?: GenerateOptions): Promise<GenerateResult>;
49
56
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { applySchemaToManifest } from "../dialect/postgres.js";
6
6
  import { postgresDialect } from "../dialect/postgres.js";
7
7
  import { sqliteDialect } from "../dialect/sqlite.js";
8
8
  import { NeoOrmSchemaError } from "../runtime/errors.js";
9
+ import { schemaError } from "../runtime/error-builders.js";
9
10
  import { schemaCompileError } from "../runtime/schema-error.js";
10
11
  import { resolveSqlColumnName } from "../utils/case.js";
11
12
  import { buildDownSql, diffManifest, emptyManifest, formatDestructiveWarnings, resolveMigrationSql, } from "./diff-manifest.js";
@@ -39,7 +40,10 @@ export async function loadSchemaModule(schemaPath) {
39
40
  const mod = await importTsModule(schemaPath);
40
41
  const schema = mod.schema ?? mod.default?.schema ?? mod.default;
41
42
  if (!schema || !schema._tables) {
42
- throw new Error(`Schema file must export a schema via \`export const schema = defineSchema(...)\``);
43
+ throw schemaError("invalid_schema_export", "Schema file must export a schema via `export const schema = defineSchema(...)`", { schemaPath }, [
44
+ "Add `export const schema = defineSchema({ ... })` to your schema file",
45
+ "Or export default with a `schema` property",
46
+ ]);
43
47
  }
44
48
  const plugins = await resolvePluginRegistry();
45
49
  return { schema, plugins };
@@ -168,6 +172,12 @@ export async function writeGeneratedFiles(outDir, manifest, migrationSql, schema
168
172
  });
169
173
  return { migrationName };
170
174
  }
175
+ /**
176
+ * Generate client, models, and migration SQL from a schema file.
177
+ *
178
+ * @param schemaPath - Path to `schema.ts`.
179
+ * @param outDir - Output directory from config `out`.
180
+ */
171
181
  export async function generateFromSchema(schemaPath, outDir, options = {}) {
172
182
  try {
173
183
  return await generateFromSchemaInner(schemaPath, outDir, options);
@@ -191,7 +201,13 @@ async function generateFromSchemaInner(schemaPath, outDir, options = {}) {
191
201
  const warnings = collectRedundantMapWarnings(schema);
192
202
  const errors = validateManifest(manifest);
193
203
  if (errors.length > 0) {
194
- throw schemaCompileError(schemaPath, `Schema validation failed:\n${errors.map((e) => ` - ${e}`).join("\n")}`);
204
+ const detail = errors
205
+ .map((error, index) => ` ${index + 1}. ${error.message}`)
206
+ .join("\n");
207
+ const suggestions = [
208
+ ...new Set(errors.flatMap((error) => error.suggestions ?? [])),
209
+ ];
210
+ throw schemaCompileError(schemaPath, `Schema validation failed:\n${detail}`, undefined, suggestions);
195
211
  }
196
212
  const prev = await readSnapshot(outDir);
197
213
  const schemaChanged = !prev || hashManifest(prev) !== hashManifest(manifest);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,25 @@ import type { Manifest } from "../dialect/types.js";
2
2
  import type { NeoOrmPlugin } from "../plugins/types.js";
3
3
  import type { SchemaDef } from "../schema/define-schema.js";
4
4
  import type { TableDef } from "../schema/table.js";
5
+ export type SchemaValidationIssue = {
6
+ code: string;
7
+ message: string;
8
+ suggestions?: string[];
9
+ };
10
+ /** Options for {@link schemaToManifest}. */
5
11
  export type SchemaToManifestOptions = {
6
12
  enumMode?: "check" | "union" | "native";
7
13
  provider?: "postgresql" | "sqlite";
8
14
  url?: string;
9
15
  };
16
+ /**
17
+ * Compile a schema definition into a migration manifest.
18
+ *
19
+ * @param schema - Result of `defineSchema(...)`.
20
+ * @param plugins - Column type plugins (defaults to built-in registry).
21
+ * @param options - Enum mode and datasource provider hints.
22
+ */
10
23
  export declare function schemaToManifest<T extends Record<string, TableDef>>(schema: SchemaDef<T>, plugins?: readonly NeoOrmPlugin[], options?: SchemaToManifestOptions): Manifest;
11
- export declare function validateManifest(manifest: Manifest): string[];
24
+ /** Validate a manifest and return structured issues (empty when valid). */
25
+ export declare function validateManifest(manifest: Manifest): SchemaValidationIssue[];
12
26
  //# sourceMappingURL=schema-to-manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-to-manifest.d.ts","sourceRoot":"","sources":["../../src/codegen/schema-to-manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,QAAQ,EAMR,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,KAAK,EAKX,QAAQ,EAER,MAAM,oBAAoB,CAAC;AAG5B,MAAM,MAAM,uBAAuB,GAAG;IACrC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AA+cF,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAClE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,SAAS,YAAY,EAAwB,EACtD,OAAO,GAAE,uBAA4B,GACnC,QAAQ,CAsUV;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CA4C7D"}
1
+ {"version":3,"file":"schema-to-manifest.d.ts","sourceRoot":"","sources":["../../src/codegen/schema-to-manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,QAAQ,EAMR,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,KAAK,EAKX,QAAQ,EAER,MAAM,oBAAoB,CAAC;AAW5B,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,uBAAuB,GAAG;IACrC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AA2eF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAClE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,SAAS,YAAY,EAAwB,EACtD,OAAO,GAAE,uBAA4B,GACnC,QAAQ,CA6WV;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,qBAAqB,EAAE,CAiE5E"}
@@ -3,6 +3,8 @@ import { resolveIndexSqlName } from "../dialect/postgres.js";
3
3
  import { collectExtensionsForKinds, getColumnType, getPluginRegistry, } from "../plugins/registry.js";
4
4
  import { resolveFkTargetSqlColumn } from "../runtime/query/primary-key.js";
5
5
  import { fk, resolveFkAccessorTarget } from "../schema/relation.js";
6
+ import { schemaError } from "../runtime/error-builders.js";
7
+ import { formatCandidateList, listColumnTsNames, listTableAccessors, suggestSchemaColumn, suggestSchemaTableAccessor, } from "../runtime/error-hints.js";
6
8
  import { resolveSqlColumnName } from "../utils/case.js";
7
9
  function buildEnumCheckExpression(sqlName, values) {
8
10
  const quoted = values
@@ -13,10 +15,10 @@ function buildEnumCheckExpression(sqlName, values) {
13
15
  function resolveEnumTypeName(tableSqlName, columnSqlName, explicitName) {
14
16
  return explicitName ?? `${tableSqlName}_${columnSqlName}`;
15
17
  }
16
- function requireColumnDef(columns, tsName) {
18
+ function requireColumnDef(columns, tsName, tableAccessor) {
17
19
  const column = columns[tsName];
18
20
  if (!column) {
19
- throw new Error(`Unknown column "${tsName}" in table extras`);
21
+ throw schemaError("unknown_column", `Unknown column "${tsName}" in table extras`, tableAccessor ? { tableAccessor } : {}, suggestSchemaColumn(tsName, columns, tableAccessor));
20
22
  }
21
23
  return column;
22
24
  }
@@ -110,7 +112,10 @@ function isManyToMany(col) {
110
112
  const UPDATED_AT_COLUMN_KINDS = new Set(["timestamp"]);
111
113
  function validateUpdatedAtColumn(tsName, kind) {
112
114
  if (!UPDATED_AT_COLUMN_KINDS.has(kind)) {
113
- throw new Error(`Column "${tsName}": .updatedAt() is only supported on timestamp columns (got "${kind}")`);
115
+ throw schemaError("invalid_updated_at", `Column "${tsName}": .updatedAt() is only supported on timestamp columns (got "${kind}")`, {}, [
116
+ "Use .updatedAt() only on timestamp() columns",
117
+ "Example: `updatedAt: timestamp().notNull().updatedAt()`",
118
+ ]);
114
119
  }
115
120
  }
116
121
  function resolveSqlName(tsName, col, columnNaming) {
@@ -121,14 +126,17 @@ function resolveFkTargetSql(col, tables, defaultColumnNaming, sourceColumnNaming
121
126
  const { accessor, column } = resolveFkAccessorTarget(col._meta, tables);
122
127
  const targetTable = tables[accessor];
123
128
  if (!targetTable) {
124
- throw new Error(`Foreign key references unknown table accessor "${accessor}"`);
129
+ throw schemaError("unknown_table_accessor", `Foreign key references unknown table accessor "${accessor}"`, {}, suggestSchemaTableAccessor(accessor, tables));
125
130
  }
126
131
  const targetColumnTs = column ?? findPrimaryKeyColumn(targetTable._columns);
127
132
  if (!targetColumnTs) {
128
- throw new Error(`Foreign key target "${accessor}" has no primary key column`);
133
+ throw schemaError("missing_primary_key", `Foreign key target "${accessor}" has no primary key column`, { tableAccessor: accessor, tableSqlName: targetTable._tableName }, [
134
+ `Add a primary key to "${accessor}" (e.g. id: uuid().primary() or id: id())`,
135
+ "Or pass an explicit column: fk(\"users.id\")",
136
+ ]);
129
137
  }
130
138
  if (!targetTable._columns[targetColumnTs]) {
131
- throw new Error(`Foreign key references unknown column "${accessor}.${targetColumnTs}"`);
139
+ throw schemaError("unknown_column", `Foreign key references unknown column "${accessor}.${targetColumnTs}"`, { tableAccessor: accessor }, suggestSchemaColumn(targetColumnTs, targetTable._columns, accessor));
132
140
  }
133
141
  const targetColumnNaming = targetTable._columnNaming ?? defaultColumnNaming;
134
142
  const targetColSql = resolveSqlName(targetColumnTs, targetTable._columns[targetColumnTs], targetColumnNaming);
@@ -190,7 +198,10 @@ function columnToManifest(tsName, col, columnNaming, tables, defaultColumnNaming
190
198
  return result;
191
199
  }
192
200
  if (!isColumnBuilder(col)) {
193
- throw new Error(`Column "${tsName}" is not a scalar or foreign-key column`);
201
+ throw schemaError("invalid_column", `Column "${tsName}" is not a scalar or foreign-key column`, {}, [
202
+ "Table columns must be column builders (text(), uuid(), fk(), etc.) or many() extras",
203
+ "Move indexes, primaryKey(), and check() into the table extras callback: table({ ... }, (t) => ({ ... }))",
204
+ ]);
194
205
  }
195
206
  const meta = col._meta;
196
207
  if ("updatedAt" in meta && meta.updatedAt === true) {
@@ -276,9 +287,7 @@ function buildRelations(columns, sourceAccessor, sqlNameToAccessor, manifestTabl
276
287
  : (colRef ?? ""),
277
288
  cardinality,
278
289
  inverse: col.fkInverse ??
279
- (col.unique
280
- ? singularize(sourceAccessor)
281
- : pluralize(col.fkAs)),
290
+ (col.unique ? singularize(sourceAccessor) : sourceAccessor),
282
291
  };
283
292
  if (col.onDelete !== undefined) {
284
293
  rel.onDelete = col.onDelete;
@@ -311,6 +320,13 @@ function resolveM2M(incoming) {
311
320
  inverse: incoming.inverse,
312
321
  };
313
322
  }
323
+ /**
324
+ * Compile a schema definition into a migration manifest.
325
+ *
326
+ * @param schema - Result of `defineSchema(...)`.
327
+ * @param plugins - Column type plugins (defaults to built-in registry).
328
+ * @param options - Enum mode and datasource provider hints.
329
+ */
314
330
  export function schemaToManifest(schema, plugins = getPluginRegistry(), options = {}) {
315
331
  const enumMode = options.enumMode ?? "check";
316
332
  const provider = options.provider;
@@ -358,9 +374,10 @@ export function schemaToManifest(schema, plugins = getPluginRegistry(), options
358
374
  ? primaryKey
359
375
  : columns.filter((c) => c.primary).map((c) => c.sqlName);
360
376
  if (pk.length === 0) {
361
- throw new Error(`Table "${tableDef._tableName}" has no primary key. ` +
362
- "Add a primary key column (e.g. `id: uuid().primary()` or `id: id()`) " +
363
- "or define a composite key with `primaryKey(t.colA, t.colB)` in the table extras callback.");
377
+ throw schemaError("missing_primary_key", `Table "${tableDef._tableName}" has no primary key`, { tableAccessor: accessor, tableSqlName: tableDef._tableName }, [
378
+ "Add a primary key column (e.g. `id: uuid().primary()` or `id: id()`)",
379
+ "Or define a composite key with `primaryKey(t.colA, t.colB)` in the table extras callback",
380
+ ]);
364
381
  }
365
382
  manifestTables[accessor] = {
366
383
  accessor,
@@ -402,7 +419,7 @@ export function schemaToManifest(schema, plugins = getPluginRegistry(), options
402
419
  if (!sourceTable)
403
420
  continue;
404
421
  if (!targetTable) {
405
- throw new Error(`manyToMany("${extra.target}") on table "${sourceAccessor}" references unknown table accessor "${extra.target}"`);
422
+ throw schemaError("unknown_m2m_target", `many("${extra.target}") on table "${sourceAccessor}" references unknown table accessor "${extra.target}"`, { tableAccessor: sourceAccessor }, suggestSchemaTableAccessor(extra.target, tables));
406
423
  }
407
424
  const leftTsName = extra.leftKey ?? `${singularize(sourceAccessor)}Id`;
408
425
  const rightTsName = extra.rightKey ?? `${singularize(targetTable.accessor)}Id`;
@@ -411,7 +428,11 @@ export function schemaToManifest(schema, plugins = getPluginRegistry(), options
411
428
  if (extra.through) {
412
429
  const throughTable = manifestTables[extra.through];
413
430
  if (!throughTable) {
414
- throw new Error(`manyToMany("${extra.target}") on table "${sourceAccessor}" references unknown junction table accessor "${extra.through}". Define the junction table first with table().`);
431
+ throw schemaError("unknown_m2m_through", `many("${extra.target}") on table "${sourceAccessor}" references unknown junction table accessor "${extra.through}"`, { tableAccessor: sourceAccessor }, [
432
+ `Define the junction table first: ${extra.through}: table("...")({ ... })`,
433
+ "Junction table accessors use camelCase, not SQL names",
434
+ ...suggestSchemaTableAccessor(extra.through, tables),
435
+ ]);
415
436
  }
416
437
  throughAccessor = extra.through;
417
438
  throughKey = throughTable.sqlName;
@@ -420,8 +441,10 @@ export function schemaToManifest(schema, plugins = getPluginRegistry(), options
420
441
  throughKey = autoJunctionName(sourceTable.sqlName, targetTable.sqlName);
421
442
  const autoAccessor = throughKey;
422
443
  if (manifestTables[autoAccessor]) {
423
- throw new Error(`Auto-generated junction table accessor "${autoAccessor}" collides with an existing table. ` +
424
- `Use manyToMany("${extra.target}", { through: "yourJunctionAccessor" }) with an explicit junction table.`);
444
+ throw schemaError("junction_collision", `Auto-generated junction table accessor "${autoAccessor}" collides with an existing table`, { tableAccessor: sourceAccessor }, [
445
+ `Use many("${extra.target}", { through: "yourJunctionAccessor" }) with an explicit junction table`,
446
+ `Define a junction table with a unique accessor before the many() extra`,
447
+ ]);
425
448
  }
426
449
  addAutoJunction(autoAccessor, throughKey, sourceTable, targetTable, leftTsName, rightTsName);
427
450
  throughAccessor = autoAccessor;
@@ -430,10 +453,16 @@ export function schemaToManifest(schema, plugins = getPluginRegistry(), options
430
453
  const leftFk = throughTable?.columns.find((c) => c.tsName === leftTsName);
431
454
  const rightFk = throughTable?.columns.find((c) => c.tsName === rightTsName);
432
455
  if (!leftFk) {
433
- throw new Error(`manyToMany("${extra.target}") on table "${sourceAccessor}" cannot find junction column "${leftTsName}" on table "${throughKey}"`);
456
+ throw schemaError("unknown_junction_column", `many("${extra.target}") on table "${sourceAccessor}" cannot find junction column "${leftTsName}" on table "${throughKey}"`, { tableAccessor: throughAccessor }, [
457
+ `Add a FK column named "${leftTsName}" to the junction table, or set leftKey in many options`,
458
+ `Default left key is "${singularize(sourceAccessor)}Id"`,
459
+ ]);
434
460
  }
435
461
  if (!rightFk) {
436
- throw new Error(`manyToMany("${extra.target}") on table "${sourceAccessor}" cannot find junction column "${rightTsName}" on table "${throughKey}"`);
462
+ throw schemaError("unknown_junction_column", `many("${extra.target}") on table "${sourceAccessor}" cannot find junction column "${rightTsName}" on table "${throughKey}"`, { tableAccessor: throughAccessor }, [
463
+ `Add a FK column named "${rightTsName}" to the junction table, or set rightKey in many options`,
464
+ `Default right key is "${singularize(targetTable.accessor)}Id"`,
465
+ ]);
437
466
  }
438
467
  incomingM2Ms.push({
439
468
  leftTable: sourceTable.sqlName,
@@ -470,8 +499,13 @@ export function schemaToManifest(schema, plugins = getPluginRegistry(), options
470
499
  existing.fkSqlColumn === rel.fkSqlColumn) {
471
500
  continue;
472
501
  }
473
- throw new Error(`Relation "${rel.inverse}" on table "${inverseTable.sqlName}" is already used by another foreign key. ` +
474
- "Set an explicit `.inverse()` on the fk() to disambiguate.");
502
+ throw schemaError("duplicate_inverse", `Relation "${rel.inverse}" on table "${inverseTable.sqlName}" is already used by another foreign key`, {
503
+ tableAccessor: inverseTable.accessor,
504
+ tableSqlName: inverseTable.sqlName,
505
+ }, [
506
+ "Set an explicit `.inverse(\"uniqueName\")` on each fk() to disambiguate",
507
+ "Each inverse relation name must be unique on the target table",
508
+ ]);
475
509
  }
476
510
  inverseTable.relations.push({
477
511
  name: rel.inverse,
@@ -531,12 +565,20 @@ export function schemaToManifest(schema, plugins = getPluginRegistry(), options
531
565
  extensions,
532
566
  };
533
567
  }
568
+ /** Validate a manifest and return structured issues (empty when valid). */
534
569
  export function validateManifest(manifest) {
535
570
  const errors = [];
536
571
  const sqlNames = new Set();
537
572
  for (const table of Object.values(manifest.tables)) {
538
573
  if (sqlNames.has(table.sqlName)) {
539
- errors.push(`Duplicate table SQL name: ${table.sqlName}`);
574
+ errors.push({
575
+ code: "duplicate_table_sql_name",
576
+ message: `Duplicate table SQL name: ${table.sqlName}`,
577
+ suggestions: [
578
+ "Each table must have a unique SQL name",
579
+ "Check for duplicate table() SQL name arguments or colliding accessors",
580
+ ],
581
+ });
540
582
  }
541
583
  sqlNames.add(table.sqlName);
542
584
  for (const col of table.columns) {
@@ -544,17 +586,37 @@ export function validateManifest(manifest) {
544
586
  const { tableSql: targetTable, columnSql: targetColumn } = parseFkTarget(col.fkTarget);
545
587
  const target = Object.values(manifest.tables).find((t) => t.sqlName === targetTable);
546
588
  if (!target) {
547
- errors.push(`FK ${table.accessor}.${col.tsName} references unknown table ${targetTable}`);
589
+ errors.push({
590
+ code: "unknown_fk_target",
591
+ message: `FK ${table.accessor}.${col.tsName} references unknown table ${targetTable}`,
592
+ suggestions: [
593
+ "Regenerate the client after schema changes (`neoorm generate`)",
594
+ `Valid table accessors: ${formatCandidateList(listTableAccessors(manifest))}`,
595
+ ],
596
+ });
548
597
  continue;
549
598
  }
550
599
  const columnExists = target.columns.some((c) => c.sqlName === targetColumn || c.tsName === targetColumn);
551
600
  if (!columnExists) {
552
- errors.push(`FK ${table.accessor}.${col.tsName} references unknown column ${targetTable}.${targetColumn}`);
601
+ errors.push({
602
+ code: "unknown_fk_column",
603
+ message: `FK ${table.accessor}.${col.tsName} references unknown column ${targetTable}.${targetColumn}`,
604
+ suggestions: [
605
+ `Valid columns on "${target.accessor}": ${formatCandidateList(listColumnTsNames(target))}`,
606
+ ],
607
+ });
553
608
  }
554
609
  continue;
555
610
  }
556
611
  if (col.kind !== "fk" && !getColumnType(col.kind)) {
557
- errors.push(`Unknown column kind "${col.kind}" on ${table.accessor}.${col.tsName}. Import the plugin that provides this type.`);
612
+ errors.push({
613
+ code: "unknown_column_kind",
614
+ message: `Unknown column kind "${col.kind}" on ${table.accessor}.${col.tsName}`,
615
+ suggestions: [
616
+ `Import the plugin that provides the "${col.kind}" column type`,
617
+ "Register plugins in neoorm.config.ts if using a custom type",
618
+ ],
619
+ });
558
620
  }
559
621
  }
560
622
  }