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.
- package/README.md +6 -4
- package/dist/bin/neoorm.js +28 -1
- package/dist/bin/neoorm.js.map +1 -1
- package/dist/codegen/generate.d.ts +7 -0
- package/dist/codegen/generate.d.ts.map +1 -1
- package/dist/codegen/generate.js +18 -2
- package/dist/codegen/generate.js.map +1 -1
- package/dist/codegen/schema-to-manifest.d.ts +15 -1
- package/dist/codegen/schema-to-manifest.d.ts.map +1 -1
- package/dist/codegen/schema-to-manifest.js +87 -25
- package/dist/codegen/schema-to-manifest.js.map +1 -1
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -1
- package/dist/docs/pages.d.ts +9 -0
- package/dist/docs/pages.d.ts.map +1 -0
- package/dist/docs/pages.js +64 -0
- package/dist/docs/pages.js.map +1 -0
- package/dist/docs/render.d.ts +4 -0
- package/dist/docs/render.d.ts.map +1 -0
- package/dist/docs/render.js +245 -0
- package/dist/docs/render.js.map +1 -0
- package/dist/docs/resolve-docs-dir.d.ts +2 -0
- package/dist/docs/resolve-docs-dir.d.ts.map +1 -0
- package/dist/docs/resolve-docs-dir.js +27 -0
- package/dist/docs/resolve-docs-dir.js.map +1 -0
- package/dist/docs/server.d.ts +11 -0
- package/dist/docs/server.d.ts.map +1 -0
- package/dist/docs/server.js +99 -0
- package/dist/docs/server.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/init/templates.js +2 -2
- package/dist/introspect/pull.d.ts.map +1 -1
- package/dist/introspect/pull.js +16 -2
- package/dist/introspect/pull.js.map +1 -1
- package/dist/migrate/runner.d.ts +4 -0
- package/dist/migrate/runner.d.ts.map +1 -1
- package/dist/migrate/runner.js +4 -0
- package/dist/migrate/runner.js.map +1 -1
- package/dist/plugins/builtin.d.ts +24 -0
- package/dist/plugins/builtin.d.ts.map +1 -1
- package/dist/plugins/builtin.js +21 -0
- package/dist/plugins/builtin.js.map +1 -1
- package/dist/plugins/index.d.ts +4 -0
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +4 -0
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/postgis/columns.d.ts +7 -3
- package/dist/plugins/postgis/columns.d.ts.map +1 -1
- package/dist/plugins/postgis/columns.js +3 -0
- package/dist/plugins/postgis/columns.js.map +1 -1
- package/dist/plugins/registry.d.ts +1 -0
- package/dist/plugins/registry.d.ts.map +1 -1
- package/dist/plugins/registry.js +1 -0
- package/dist/plugins/registry.js.map +1 -1
- package/dist/plugins/types.d.ts +2 -0
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/runtime/client.d.ts +27 -1
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +15 -5
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/error-builders.d.ts +14 -0
- package/dist/runtime/error-builders.d.ts.map +1 -0
- package/dist/runtime/error-builders.js +54 -0
- package/dist/runtime/error-builders.js.map +1 -0
- package/dist/runtime/error-hints.d.ts +19 -0
- package/dist/runtime/error-hints.d.ts.map +1 -0
- package/dist/runtime/error-hints.js +181 -0
- package/dist/runtime/error-hints.js.map +1 -0
- package/dist/runtime/errors.d.ts +12 -0
- package/dist/runtime/errors.d.ts.map +1 -1
- package/dist/runtime/errors.js +24 -2
- package/dist/runtime/errors.js.map +1 -1
- package/dist/runtime/pg-error.d.ts.map +1 -1
- package/dist/runtime/pg-error.js +86 -0
- package/dist/runtime/pg-error.js.map +1 -1
- package/dist/runtime/query/compile.d.ts.map +1 -1
- package/dist/runtime/query/compile.js +5 -12
- package/dist/runtime/query/compile.js.map +1 -1
- package/dist/runtime/query/cursor-codec.d.ts +11 -0
- package/dist/runtime/query/cursor-codec.d.ts.map +1 -1
- package/dist/runtime/query/cursor-codec.js +11 -0
- package/dist/runtime/query/cursor-codec.js.map +1 -1
- package/dist/runtime/query/cursor.d.ts.map +1 -1
- package/dist/runtime/query/cursor.js +2 -5
- package/dist/runtime/query/cursor.js.map +1 -1
- package/dist/runtime/query/execute.d.ts.map +1 -1
- package/dist/runtime/query/execute.js +28 -9
- package/dist/runtime/query/execute.js.map +1 -1
- package/dist/runtime/query/group-by.d.ts.map +1 -1
- package/dist/runtime/query/group-by.js +3 -7
- package/dist/runtime/query/group-by.js.map +1 -1
- package/dist/runtime/query/projection.d.ts.map +1 -1
- package/dist/runtime/query/projection.js +2 -4
- package/dist/runtime/query/projection.js.map +1 -1
- package/dist/runtime/query/relation-planner.d.ts.map +1 -1
- package/dist/runtime/query/relation-planner.js +6 -1
- package/dist/runtime/query/relation-planner.js.map +1 -1
- package/dist/runtime/query/strip.d.ts.map +1 -1
- package/dist/runtime/query/strip.js +2 -4
- package/dist/runtime/query/strip.js.map +1 -1
- package/dist/runtime/query/table-index.d.ts +4 -0
- package/dist/runtime/query/table-index.d.ts.map +1 -1
- package/dist/runtime/query/table-index.js +45 -0
- package/dist/runtime/query/table-index.js.map +1 -1
- package/dist/runtime/schema-error.d.ts +1 -1
- package/dist/runtime/schema-error.d.ts.map +1 -1
- package/dist/runtime/schema-error.js +7 -2
- package/dist/runtime/schema-error.js.map +1 -1
- package/dist/runtime/sqlite-error.d.ts +12 -0
- package/dist/runtime/sqlite-error.d.ts.map +1 -0
- package/dist/runtime/sqlite-error.js +169 -0
- package/dist/runtime/sqlite-error.js.map +1 -0
- package/dist/runtime/types.d.ts +8 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/schema/column.d.ts +32 -5
- package/dist/schema/column.d.ts.map +1 -1
- package/dist/schema/column.js +5 -0
- package/dist/schema/column.js.map +1 -1
- package/dist/schema/define-schema.d.ts +19 -0
- package/dist/schema/define-schema.d.ts.map +1 -1
- package/dist/schema/define-schema.js +15 -0
- package/dist/schema/define-schema.js.map +1 -1
- package/dist/schema/index.d.ts +7 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/many-to-many.d.ts +23 -1
- package/dist/schema/many-to-many.d.ts.map +1 -1
- package/dist/schema/many-to-many.js +16 -1
- package/dist/schema/many-to-many.js.map +1 -1
- package/dist/schema/nested-relation-types.d.ts +2 -1
- package/dist/schema/nested-relation-types.d.ts.map +1 -1
- package/dist/schema/relation-types.d.ts +14 -9
- package/dist/schema/relation-types.d.ts.map +1 -1
- package/dist/schema/relation.d.ts +34 -2
- package/dist/schema/relation.d.ts.map +1 -1
- package/dist/schema/relation.js.map +1 -1
- package/dist/schema/table.d.ts +20 -0
- package/dist/schema/table.d.ts.map +1 -1
- package/dist/schema/table.js +3 -0
- package/dist/schema/table.js.map +1 -1
- package/dist/schema/types.d.ts +7 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/sql/builder.d.ts +1 -0
- package/dist/sql/builder.d.ts.map +1 -1
- package/dist/sql/builder.js +1 -0
- package/dist/sql/builder.js.map +1 -1
- package/dist/sql/index.d.ts +5 -1
- package/dist/sql/index.d.ts.map +1 -1
- package/dist/sql/index.js +5 -1
- package/dist/sql/index.js.map +1 -1
- package/dist/sql/template.d.ts +3 -0
- package/dist/sql/template.d.ts.map +1 -1
- package/dist/sql/template.js +3 -0
- package/dist/sql/template.js.map +1 -1
- package/docs/api-docstrings.md +43 -0
- package/docs/cli.md +107 -0
- package/docs/configuration.md +51 -0
- package/docs/errors.md +72 -0
- package/docs/examples.md +498 -0
- package/docs/getting-started.md +122 -0
- package/docs/migrations.md +67 -0
- package/docs/plugins.md +47 -0
- package/docs/queries.md +465 -0
- package/docs/relations.md +75 -0
- package/docs/schema.md +265 -0
- package/docs/sqlite.md +105 -0
- package/docs/transactions.md +54 -0
- 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")
|
|
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
|
-
| [
|
|
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
|
|
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`, `
|
|
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 |
|
package/dist/bin/neoorm.js
CHANGED
|
@@ -295,7 +295,34 @@ program
|
|
|
295
295
|
}
|
|
296
296
|
});
|
|
297
297
|
program
|
|
298
|
-
.command("
|
|
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")
|
package/dist/bin/neoorm.js.map
CHANGED
|
@@ -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":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/codegen/generate.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEN,wBAAwB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,kBAAkB,CAC1B,QAA6C;IAE7C,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,qBAAqB;IACnC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CACzD,IAAI,CAAC,UAAU,EAAE,+BAA+B,CAAC,CACjD,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,2EAA2E;IAC5E,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IAMxD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE/D,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;IAChE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEN,wBAAwB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,kBAAkB,CAC1B,QAA6C;IAE7C,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,qBAAqB;IACnC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CACzD,IAAI,CAAC,UAAU,EAAE,+BAA+B,CAAC,CACjD,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,2EAA2E;IAC5E,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IAMxD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE/D,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;IAChE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,WAAW,CAChB,uBAAuB,EACvB,gFAAgF,EAChF,EAAE,UAAU,EAAE,EACd;YACC,uEAAuE;YACvE,4CAA4C;SAC5C,CACD,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAE9C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC;SACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAChC,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAS3C;IACA,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,IAAI,WAAW,CAAC;IAEhE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,mBAAmB,CAAC;QAChE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;gBAAE,SAAS;YAEtD,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC/D,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CACZ,GAAG,QAAQ,IAAI,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,OAAO,0BAA0B,YAAY,wEAAwE,CAC7J,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc;IAChD,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,MAAc,EACd,QAAkB;IAElB,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EACjC,OAAO,CACP,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,QAAkB,EAClB,iBAAyB;IAEzB,OAAO;iCACyB,iBAAiB;;0BAExB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;CAC1D,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,gBAAwB,EACxB,iBAAyB;IAEzB,OAAO;sCAC8B,iBAAiB;0CACb,iBAAiB;;0BAEjC,gBAAgB;;;;;;;;;;;;;;;;CAgBzC,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,MAAc;IACpD,IAAI,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,UAAU,GAAG,KAAK,UAAU,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,UAAkB;IAC3D,OAAO,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEhC,OAAO,EACN,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,qBAAqB,EACrB,wBAAwB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,qBAAqB,CAAC,IAAY;IAC1C,MAAM,OAAO,GAAG,IAAI;SAClB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,MAAc,EACd,GAAa,EACb,OAKC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE;SAC1B,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACf,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI;QAClC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,GAAG,SAAS,YAAY,CAAC;IAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,CACd,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,EACnC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAChB,OAAO,CACP,CAAC;IAEF,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,SAAS,CACd,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,EAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EACpB,OAAO,CACP,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;QAC/C,MAAM,SAAS,CACd,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAC1C,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EACvC,OAAO,CACP,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAc,EACd,QAAkB,EAClB,YAAsB,EACtB,UAAkB,EAClB,IAAqB,EACrB,OAAiB;IAEjB,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAC3B,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,EACxC,OAAO,CACP,CAAC;IACF,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAC3B,cAAc,CAAC,QAAQ,CAAC,EACxB,OAAO,CACP,CAAC;IACF,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EACzB,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,EACtC,OAAO,CACP,CAAC;IACF,MAAM,SAAS,CACd,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EACzB,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,EAClE,OAAO,CACP,CAAC;IACF,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;QAChE,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/B,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,CAAC;AAC1B,CAAC;AAoBD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,UAAkB,EAClB,MAAc,EACd,OAAO,GAAoB,EAAE;IAE7B,IAAI,CAAC;QACJ,OAAO,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC;QACX,CAAC;QACD,MAAM,kBAAkB,CACvB,UAAU,EACV,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAChD,GAAG,CACH,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,UAAkB,EAClB,MAAc,EACd,OAAO,GAAoB,EAAE;IAE7B,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAC1D,yBAAyB,CACzB,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE;QACxD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM;aACnB,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;aACzD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,WAAW,GAAG;YACnB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;SAC9D,CAAC;QACF,MAAM,kBAAkB,CACvB,UAAU,EACV,8BAA8B,MAAM,EAAE,EACtC,SAAS,EACT,WAAW,CACX,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,aAAa,GAClB,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAC3C,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,OAAO,CAAC,cAAc,IAAI,KAAK,EAC/B,OAAO,CACP,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAElC,MAAM,YAAY,GACjB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAErE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,mBAAmB,CAClD,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,OAAO,CACP,CAAC;IAEF,MAAM,OAAO,GAAG,wBAAwB,CAAC;QACxC,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,YAAY;QACjB,OAAO;QACP,aAAa;QACb,aAAa;KACb,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,KAAK,mBAAmB,CAAC;IAChE,IAAI,gBAAgB,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,WAAW,CAAC,IAAI,CACf,6GAA6G,CAC7G,CAAC;IACH,CAAC;IAED,OAAO;QACN,QAAQ;QACR,aAAa;QACb,aAAa;QACb,QAAQ,EAAE,WAAW;QACrB,kBAAkB,EAAE,gBAAgB;QACpC,OAAO;KACP,CAAC;AACH,CAAC"}
|
|
@@ -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
|
-
|
|
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;
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
362
|
-
"Add a primary key column (e.g. `id: uuid().primary()` or `id: id()`)
|
|
363
|
-
"
|
|
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
|
|
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
|
|
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
|
|
424
|
-
`Use
|
|
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
|
|
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
|
|
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
|
|
474
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
}
|