ormbridge 0.13.0 → 0.15.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 +23 -22
- package/dist/cliRunner.js +20 -2
- package/dist/cliRunner.js.map +1 -1
- package/dist/config.d.ts +6 -1
- package/dist/config.js +17 -0
- package/dist/config.js.map +1 -1
- package/dist/emitters/jpa.d.ts +17 -2
- package/dist/emitters/jpa.js +55 -7
- package/dist/emitters/jpa.js.map +1 -1
- package/dist/emitters/jpaKeyClass.d.ts +18 -0
- package/dist/emitters/jpaKeyClass.js +88 -0
- package/dist/emitters/jpaKeyClass.js.map +1 -0
- package/dist/emitters/jpaKeys.d.ts +1 -7
- package/dist/emitters/jpaKeys.js +0 -43
- package/dist/emitters/jpaKeys.js.map +1 -1
- package/dist/emitters/jpaRelations.d.ts +5 -1
- package/dist/emitters/jpaRelations.js +7 -1
- package/dist/emitters/jpaRelations.js.map +1 -1
- package/dist/emitters/jpaRender.d.ts +5 -1
- package/dist/emitters/jpaRender.js +11 -4
- package/dist/emitters/jpaRender.js.map +1 -1
- package/dist/emitters/jpaTypes.d.ts +9 -3
- package/dist/emitters/jpaTypes.js +8 -0
- package/dist/emitters/jpaTypes.js.map +1 -1
- package/dist/emitters/sequelize.d.ts +16 -3
- package/dist/emitters/sequelize.js +270 -45
- package/dist/emitters/sequelize.js.map +1 -1
- package/dist/emitters/sequelize7.d.ts +68 -0
- package/dist/emitters/sequelize7.js +199 -0
- package/dist/emitters/sequelize7.js.map +1 -0
- package/dist/emitters/sequelizeText.d.ts +12 -0
- package/dist/emitters/sequelizeText.js +37 -0
- package/dist/emitters/sequelizeText.js.map +1 -0
- package/dist/formats.d.ts +13 -2
- package/dist/formats.js +17 -6
- package/dist/formats.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/io.js +105 -26
- package/dist/io.js.map +1 -1
- package/dist/parsers/efcore.js +60 -3
- package/dist/parsers/efcore.js.map +1 -1
- package/dist/parsers/efcoreAnnotations.js +1 -1
- package/dist/parsers/efcoreAnnotations.js.map +1 -1
- package/dist/parsers/efcoreBuild.d.ts +1 -0
- package/dist/parsers/efcoreBuild.js +15 -4
- package/dist/parsers/efcoreBuild.js.map +1 -1
- package/dist/parsers/efcoreEntities.js +90 -22
- package/dist/parsers/efcoreEntities.js.map +1 -1
- package/dist/parsers/efcoreMigrationHistory.d.ts +17 -0
- package/dist/parsers/efcoreMigrationHistory.js +105 -0
- package/dist/parsers/efcoreMigrationHistory.js.map +1 -0
- package/dist/parsers/efcoreMigrationReplay.d.ts +25 -0
- package/dist/parsers/efcoreMigrationReplay.js +790 -0
- package/dist/parsers/efcoreMigrationReplay.js.map +1 -0
- package/dist/parsers/efcoreMigrationSchema.d.ts +14 -0
- package/dist/parsers/efcoreMigrationSchema.js +550 -0
- package/dist/parsers/efcoreMigrationSchema.js.map +1 -0
- package/dist/parsers/efcoreMigrationState.d.ts +82 -0
- package/dist/parsers/efcoreMigrationState.js +104 -0
- package/dist/parsers/efcoreMigrationState.js.map +1 -0
- package/dist/parsers/efcoreModel.d.ts +18 -2
- package/dist/parsers/efcoreOwned.d.ts +12 -0
- package/dist/parsers/efcoreOwned.js +139 -0
- package/dist/parsers/efcoreOwned.js.map +1 -0
- package/dist/parsers/efcoreSnapshot.d.ts +85 -0
- package/dist/parsers/efcoreSnapshot.js +791 -0
- package/dist/parsers/efcoreSnapshot.js.map +1 -0
- package/dist/parsers/efcoreSteps.js +28 -3
- package/dist/parsers/efcoreSteps.js.map +1 -1
- package/dist/parsers/jpaBuild.js +2 -1
- package/dist/parsers/jpaBuild.js.map +1 -1
- package/dist/parsers/jpaClasses.js +7 -1
- package/dist/parsers/jpaClasses.js.map +1 -1
- package/dist/parsers/jpaColumns.d.ts +4 -1
- package/dist/parsers/jpaColumns.js +8 -2
- package/dist/parsers/jpaColumns.js.map +1 -1
- package/dist/parsers/jpaEntities.js +15 -0
- package/dist/parsers/jpaEntities.js.map +1 -1
- package/dist/parsers/jpaModel.d.ts +6 -0
- package/dist/parsers/sequelize.js +37 -10
- package/dist/parsers/sequelize.js.map +1 -1
- package/dist/parsers/sequelizeAssociations.js +13 -2
- package/dist/parsers/sequelizeAssociations.js.map +1 -1
- package/dist/parsers/sequelizeCollect.d.ts +7 -2
- package/dist/parsers/sequelizeCollect.js +120 -9
- package/dist/parsers/sequelizeCollect.js.map +1 -1
- package/dist/parsers/sequelizeMigrationState.d.ts +75 -0
- package/dist/parsers/sequelizeMigrationState.js +330 -0
- package/dist/parsers/sequelizeMigrationState.js.map +1 -0
- package/dist/parsers/sequelizeMigrations.d.ts +14 -0
- package/dist/parsers/sequelizeMigrations.js +1123 -0
- package/dist/parsers/sequelizeMigrations.js.map +1 -0
- package/dist/parsers/sequelizeModel.d.ts +19 -2
- package/dist/parsers/sqlDdl.js +1306 -65
- package/dist/parsers/sqlDdl.js.map +1 -1
- package/dist/parsers/sqlMigrationOrder.d.ts +8 -0
- package/dist/parsers/sqlMigrationOrder.js +110 -0
- package/dist/parsers/sqlMigrationOrder.js.map +1 -0
- package/dist/parsers/sqlSyntax.d.ts +6 -0
- package/dist/parsers/sqlSyntax.js +15 -2
- package/dist/parsers/sqlSyntax.js.map +1 -1
- package/dist/parsers/zod.d.ts +11 -0
- package/dist/parsers/zod.js +796 -0
- package/dist/parsers/zod.js.map +1 -0
- package/dist/parsers/zodFields.d.ts +73 -0
- package/dist/parsers/zodFields.js +681 -0
- package/dist/parsers/zodFields.js.map +1 -0
- package/dist/parsers/zodSyntax.d.ts +72 -0
- package/dist/parsers/zodSyntax.js +347 -0
- package/dist/parsers/zodSyntax.js.map +1 -0
- package/dist/styles.d.ts +3 -3
- package/dist/styles.js +4 -4
- package/dist/styles.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,27 +13,27 @@ ormbridge converts data models from one Object-Relational Mapper (ORM) to anothe
|
|
|
13
13
|
|
|
14
14
|
It reads source files with [tree-sitter](https://tree-sitter.github.io/), so you do not need Python, PHP, Go, or a database. The default `preserve` mode keeps your table and column names, so a new tool can sit on top of the database you already have. When something cannot be converted, ormbridge prints a warning that names the model and field.
|
|
15
15
|
|
|
16
|
-
| Format | Read | Write | Notes
|
|
17
|
-
| --------------------------- | :--: | :---: |
|
|
18
|
-
| Django models | ✔ | ✔ | `models.py` files or `models/` packages
|
|
19
|
-
| Prisma schema | ✔ | ✔ | All six providers; Prisma 7 header with `--prisma-version 7`
|
|
20
|
-
| TypeORM entities | ✔ | ✔ | Decorator-based entity classes
|
|
21
|
-
| Doctrine ORM entities (PHP) | ✔ | ✔ | PHP 8 attributes; one file per entity
|
|
22
|
-
| Laravel (PHP) | ✔ | ✔ | Reads migrations plus Eloquent models; writes both
|
|
23
|
-
| GORM (Go) | ✔ | ✔ | Structs with `gorm` tags; one file per model
|
|
24
|
-
| Drizzle ORM (TypeScript) | ✔ | ✔ | `pgTable`, `mysqlTable`, `sqliteTable` plus `relations()`
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
| Neo4j (Cypher) | | ✔ | Node constraints and indexes; relationships as comments; `--style enterprise` for Enterprise
|
|
35
|
-
| Spring Data Neo4j (Java) | | ✔ | SDN 7 for Spring Boot 3: `@Node`, `@Relationship`, `@RelationshipProperties` classes
|
|
36
|
-
| neomodel (Python, Neo4j) | | ✔ | `StructuredNode` classes, relationships with cardinality, `StructuredRel` for join tables
|
|
16
|
+
| Format | Read | Write | Notes |
|
|
17
|
+
| --------------------------- | :--: | :---: | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
18
|
+
| Django models | ✔ | ✔ | `models.py` files or `models/` packages |
|
|
19
|
+
| Prisma schema | ✔ | ✔ | All six providers; Prisma 7 header with `--prisma-version 7` |
|
|
20
|
+
| TypeORM entities | ✔ | ✔ | Decorator-based entity classes |
|
|
21
|
+
| Doctrine ORM entities (PHP) | ✔ | ✔ | PHP 8 attributes; one file per entity |
|
|
22
|
+
| Laravel (PHP) | ✔ | ✔ | Reads migrations plus Eloquent models; writes both |
|
|
23
|
+
| GORM (Go) | ✔ | ✔ | Structs with `gorm` tags; one file per model |
|
|
24
|
+
| Drizzle ORM (TypeScript) | ✔ | ✔ | `pgTable`, `mysqlTable`, `sqliteTable` plus `relations()` |
|
|
25
|
+
| Zod schemas (TypeScript) | ✔ | ✔ | Reads Zod 3 and Zod 4 `z.object` schemas; writes Zod 4 schemas and inferred types |
|
|
26
|
+
| JSON Schema / OpenAPI | ✔ | ✔ | Draft 2020-12, 2019-09 and 7, and OpenAPI `components.schemas` (JSON) |
|
|
27
|
+
| SQL DDL | ✔ | ✔ | Tables and migrations: PostgreSQL, CockroachDB, MySQL, SQLite, SQL Server, ClickHouse (write only) |
|
|
28
|
+
| SQLAlchemy / SQLModel | ✔ | ✔ | SQLAlchemy 2.0 (declarative, `Column()`, `Table()`) and SQLModel |
|
|
29
|
+
| Sequelize (JavaScript/TS) | ✔ | ✔ | Sequelize 6 and 7, `sequelize-cli` migrations; writes TypeScript, `sequelize-cli` (`--style define`) or v7 decorators (`--style v7`) |
|
|
30
|
+
| Entity Framework Core (C#) | ✔ | ✔ | EF Core 8: annotations or `--style fluent`, a `DbContext`; replays migrations; `OwnsMany` |
|
|
31
|
+
| Hibernate / JPA (Java) | ✔ | ✔ | Hibernate 6 `jakarta` or 5 `--style javax`; `@EmbeddedId` keys; Lombok option |
|
|
32
|
+
| TypeScript interfaces | | ✔ | Plain interfaces and enums for front ends |
|
|
33
|
+
| Graphene (graphene-django) | | ✔ | GraphQL types, queries and mutations that pair with Django |
|
|
34
|
+
| Neo4j (Cypher) | | ✔ | Node constraints and indexes; relationships as comments; `--style enterprise` for Enterprise |
|
|
35
|
+
| Spring Data Neo4j (Java) | | ✔ | SDN 7 for Spring Boot 3: `@Node`, `@Relationship`, `@RelationshipProperties` classes |
|
|
36
|
+
| neomodel (Python, Neo4j) | | ✔ | `StructuredNode` classes, relationships with cardinality, `StructuredRel` for join tables |
|
|
37
37
|
|
|
38
38
|
Each format has a [guide](./docs/formats/README.md) and a runnable [example project](./examples/README.md).
|
|
39
39
|
|
|
@@ -86,10 +86,11 @@ A TypeORM project to Prisma (a folder needs `--from`):
|
|
|
86
86
|
ormbridge convert --from typeorm -i ./src/entities -o ./prisma/schema.prisma
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
Prisma to Zod schemas:
|
|
89
|
+
Prisma to Zod schemas, and Zod schemas to Prisma (a folder needs `--from zod`):
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
92
|
ormbridge convert -i ./prisma/schema.prisma --to zod -o ./src/schemas.ts
|
|
93
|
+
ormbridge convert --from zod -i ./src/schemas -o ./prisma/schema.prisma
|
|
93
94
|
```
|
|
94
95
|
|
|
95
96
|
Prisma to a Neo4j Cypher schema (constraints and indexes; `--style enterprise` adds Enterprise Edition statements):
|
package/dist/cliRunner.js
CHANGED
|
@@ -4,6 +4,7 @@ import { Command, CommanderError } from 'commander';
|
|
|
4
4
|
import { findConfigFile, loadConfigFile, } from './config.js';
|
|
5
5
|
import { PRISMA_PROVIDERS, } from './emitters/prisma.js';
|
|
6
6
|
import { describeFormats, getFormat, getFormatByExtension, listFormatNames, listFormats, } from './formats.js';
|
|
7
|
+
import { isJpaKeyMode, JPA_KEY_MODES, } from './emitters/jpa.js';
|
|
7
8
|
import { checkStyle, OUTPUT_STYLES } from './styles.js';
|
|
8
9
|
import { countLines, runConversion, } from './io.js';
|
|
9
10
|
/** Exit codes of the `ormbridge` command. */
|
|
@@ -64,13 +65,20 @@ function buildRunOptions(settings, mode) {
|
|
|
64
65
|
}
|
|
65
66
|
let style;
|
|
66
67
|
if (settings.style !== undefined) {
|
|
67
|
-
// The styles depend on the target: SQLAlchemy has sqlalchemy and sqlmodel, Sequelize init and
|
|
68
|
+
// The styles depend on the target: SQLAlchemy has sqlalchemy and sqlmodel, Sequelize init, define, v6 and v7.
|
|
68
69
|
const checked = checkStyle(toValue, settings.style);
|
|
69
70
|
if (!checked.ok) {
|
|
70
71
|
return failure('INVALID_OPTION', checked.error.message);
|
|
71
72
|
}
|
|
72
73
|
style = checked.value;
|
|
73
74
|
}
|
|
75
|
+
let jpaKey;
|
|
76
|
+
if (settings.jpaKey !== undefined) {
|
|
77
|
+
if (!isJpaKeyMode(settings.jpaKey)) {
|
|
78
|
+
return failure('INVALID_OPTION', `Invalid --jpa-key value "${settings.jpaKey}". Expected one of: ${JPA_KEY_MODES.join(', ')}.`);
|
|
79
|
+
}
|
|
80
|
+
jpaKey = settings.jpaKey;
|
|
81
|
+
}
|
|
74
82
|
let prismaVersion;
|
|
75
83
|
if (settings.prismaVersion !== undefined) {
|
|
76
84
|
const versionText = String(settings.prismaVersion).trim();
|
|
@@ -103,6 +111,8 @@ function buildRunOptions(settings, mode) {
|
|
|
103
111
|
: { goPackage: settings.goPackage }),
|
|
104
112
|
...(prismaVersion === undefined ? {} : { prismaVersion }),
|
|
105
113
|
...(style === undefined ? {} : { style }),
|
|
114
|
+
...(jpaKey === undefined ? {} : { jpaKey }),
|
|
115
|
+
...(settings.lombok === undefined ? {} : { lombok: settings.lombok }),
|
|
106
116
|
...(settings.conventions === undefined
|
|
107
117
|
? {}
|
|
108
118
|
: { conventions: settings.conventions }),
|
|
@@ -189,6 +199,12 @@ function planRuns(flags, headerFromFlag, conventionsFromFlag, config, env, mode)
|
|
|
189
199
|
if (flags.style !== undefined) {
|
|
190
200
|
settings.style = flags.style;
|
|
191
201
|
}
|
|
202
|
+
if (flags.jpaKey !== undefined) {
|
|
203
|
+
settings.jpaKey = flags.jpaKey;
|
|
204
|
+
}
|
|
205
|
+
if (flags.lombok !== undefined) {
|
|
206
|
+
settings.lombok = flags.lombok;
|
|
207
|
+
}
|
|
192
208
|
const options = buildRunOptions(settings, mode);
|
|
193
209
|
if (!options.ok) {
|
|
194
210
|
const where = label === undefined ? '' : `conversion ${label}: `;
|
|
@@ -346,7 +362,9 @@ export async function runCli(argv, env) {
|
|
|
346
362
|
.option('--namespace <name>', 'namespace of the generated classes: PHP for Doctrine (default: App\\Entity) and Laravel (default: App\\Models), C# for EF Core (default: App.Models), Java package for JPA and Spring Data Neo4j (default: app.models)')
|
|
347
363
|
.option('--go-package <name>', 'Go package name of the GORM models (default: models)')
|
|
348
364
|
.option('--prisma-version <version>', 'Prisma major version of the generator and datasource blocks (6 | 7) (default: 6; 7 writes the prisma-client generator and no datasource url)')
|
|
349
|
-
.option('--style <name>', `layout of the SQLAlchemy, Sequelize, EF Core, JPA and Neo4j output (${OUTPUT_STYLES.join(' | ')}): sqlalchemy | sqlmodel for --to sqlalchemy (default: sqlalchemy), init | define for --to sequelize (default: init), annotations | fluent for --to efcore (default: annotations), jakarta | javax for --to jpa (default: jakarta), community | enterprise for --to neo4j (default: community; enterprise adds the statements that need Neo4j Enterprise Edition)`)
|
|
365
|
+
.option('--style <name>', `layout of the SQLAlchemy, Sequelize, EF Core, JPA and Neo4j output (${OUTPUT_STYLES.join(' | ')}): sqlalchemy | sqlmodel for --to sqlalchemy (default: sqlalchemy), init | define | v6 | v7 for --to sequelize (default: init; v6 is the same as init, v7 writes Sequelize 7 decorators), annotations | fluent for --to efcore (default: annotations), jakarta | javax for --to jpa (default: jakarta), community | enterprise for --to neo4j (default: community; enterprise adds the statements that need Neo4j Enterprise Edition)`)
|
|
366
|
+
.option('--jpa-key <mode>', `how the JPA output writes a composite primary key (${JPA_KEY_MODES.join(' | ')}): idclass writes an @IdClass class (default), embedded writes an @Embeddable key class with @EmbeddedId (and @MapsId on a relationship in the key); a single-column key is always an @Id; only --to jpa reads it`)
|
|
367
|
+
.option('--lombok', 'write Lombok annotations (@Getter, @Setter, @NoArgsConstructor; @EqualsAndHashCode on key classes) instead of hand-written accessors in the JPA output; the project needs Lombok; only --to jpa reads it')
|
|
350
368
|
.option('--dry-run', 'run the conversion and report what would be written, without touching any file')
|
|
351
369
|
.option('--check', 'exit with code 3 if an output file is missing or differs from the conversion; writes nothing')
|
|
352
370
|
.option('--config <path>', 'read settings from this JSON config file instead of searching for ormbridge.config.json')
|
package/dist/cliRunner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliRunner.js","sourceRoot":"","sources":["../src/cliRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cliRunner.js","sourceRoot":"","sources":["../src/cliRunner.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Result } from './result.js';
|
|
2
|
+
import { type JpaKeyMode } from './emitters/jpa.js';
|
|
2
3
|
import { type OutputStyle } from './styles.js';
|
|
3
4
|
/** File names searched for in each directory, in priority order. */
|
|
4
5
|
export declare const CONFIG_FILE_NAMES: readonly string[];
|
|
@@ -24,11 +25,15 @@ export interface ConversionConfig {
|
|
|
24
25
|
/** Prisma major version of the generated header (6 or 7). */
|
|
25
26
|
prismaVersion?: 6 | 7;
|
|
26
27
|
/**
|
|
27
|
-
* Layout of the SQLAlchemy output (`sqlalchemy` or `sqlmodel`), the Sequelize output (`init` or `
|
|
28
|
+
* Layout of the SQLAlchemy output (`sqlalchemy` or `sqlmodel`), the Sequelize output (`init`, `define`, `v6` or `v7`) or the
|
|
28
29
|
* EF Core output (`annotations` or `fluent`) or the JPA output (`jakarta` or `javax`).
|
|
29
30
|
* Which one applies depends on `to`, which is checked when the conversion runs.
|
|
30
31
|
*/
|
|
31
32
|
style?: OutputStyle;
|
|
33
|
+
/** How the JPA output writes a composite primary key: `idclass` (default) or `embedded` (`@EmbeddedId`). */
|
|
34
|
+
jpaKey?: JpaKeyMode;
|
|
35
|
+
/** Write Lombok annotations instead of hand-written accessors in the JPA output (default false). */
|
|
36
|
+
lombok?: boolean;
|
|
32
37
|
/** Write the `x-` convention keywords into JSON Schema output (default true). */
|
|
33
38
|
conventions?: boolean;
|
|
34
39
|
}
|
package/dist/config.js
CHANGED
|
@@ -2,6 +2,7 @@ import { readFile, stat } from 'node:fs/promises';
|
|
|
2
2
|
import { dirname, join, resolve } from 'node:path';
|
|
3
3
|
import { PRISMA_PROVIDERS } from './emitters/prisma.js';
|
|
4
4
|
import { describeThrown, err, ok } from './result.js';
|
|
5
|
+
import { isJpaKeyMode, JPA_KEY_MODES, } from './emitters/jpa.js';
|
|
5
6
|
import { isOutputStyle, OUTPUT_STYLES } from './styles.js';
|
|
6
7
|
/** File names searched for in each directory, in priority order. */
|
|
7
8
|
export const CONFIG_FILE_NAMES = [
|
|
@@ -23,6 +24,8 @@ const CONVERSION_KEYS = [
|
|
|
23
24
|
'goPackage',
|
|
24
25
|
'prismaVersion',
|
|
25
26
|
'style',
|
|
27
|
+
'jpaKey',
|
|
28
|
+
'lombok',
|
|
26
29
|
'conventions',
|
|
27
30
|
];
|
|
28
31
|
/**
|
|
@@ -210,6 +213,20 @@ function parseConversion(raw, prefix, baseDirectory) {
|
|
|
210
213
|
}
|
|
211
214
|
config.style = style;
|
|
212
215
|
}
|
|
216
|
+
const jpaKey = raw['jpaKey'];
|
|
217
|
+
if (jpaKey !== undefined) {
|
|
218
|
+
if (typeof jpaKey !== 'string' || !isJpaKeyMode(jpaKey)) {
|
|
219
|
+
return fail('jpaKey', `must be one of ${JPA_KEY_MODES.join(', ')} (got ${describeValue(jpaKey)}).`);
|
|
220
|
+
}
|
|
221
|
+
config.jpaKey = jpaKey;
|
|
222
|
+
}
|
|
223
|
+
const lombok = raw['lombok'];
|
|
224
|
+
if (lombok !== undefined) {
|
|
225
|
+
if (typeof lombok !== 'boolean') {
|
|
226
|
+
return fail('lombok', `must be true or false (got ${describeValue(lombok)}).`);
|
|
227
|
+
}
|
|
228
|
+
config.lombok = lombok;
|
|
229
|
+
}
|
|
213
230
|
const conventions = raw['conventions'];
|
|
214
231
|
if (conventions !== undefined) {
|
|
215
232
|
if (typeof conventions !== 'boolean') {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,aAAa,CAAC;AAE7E,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,uBAAuB;IACvB,mBAAmB;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/emitters/jpa.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MultiFileEmitOutput } from '../formats.js';
|
|
2
2
|
import type { IrSchema } from '../ir.js';
|
|
3
3
|
import { type NamingMode } from '../transforms.js';
|
|
4
|
-
import { type JpaStyle } from './jpaTypes.js';
|
|
4
|
+
import { type JpaKeyMode, type JpaStyle } from './jpaTypes.js';
|
|
5
5
|
import type { PrismaProvider } from './prisma.js';
|
|
6
6
|
/**
|
|
7
7
|
* Writes Hibernate / JPA entities (Java): one `@Entity` class per model, a Java `enum` per enum (with an
|
|
@@ -14,8 +14,12 @@ import type { PrismaProvider } from './prisma.js';
|
|
|
14
14
|
* it back.
|
|
15
15
|
*/
|
|
16
16
|
export { DEFAULT_JPA_PACKAGE, isValidJavaPackage } from './jpaNames.js';
|
|
17
|
-
export type { JpaStyle } from './jpaTypes.js';
|
|
17
|
+
export type { JpaKeyMode, JpaStyle } from './jpaTypes.js';
|
|
18
18
|
export declare const JPA_STYLES: readonly JpaStyle[];
|
|
19
|
+
/** The ways to write a composite primary key: an `@IdClass` class (default) or an `@Embeddable` with `@EmbeddedId`. */
|
|
20
|
+
export declare const JPA_KEY_MODES: readonly JpaKeyMode[];
|
|
21
|
+
/** True when a value is one of the JPA key modes (`--jpa-key`). */
|
|
22
|
+
export declare function isJpaKeyMode(value: string): value is JpaKeyMode;
|
|
19
23
|
/** True when a value is one of the JPA `--style` values. */
|
|
20
24
|
export declare function isJpaStyle(value: string): value is JpaStyle;
|
|
21
25
|
export interface JpaEmitOptions {
|
|
@@ -28,6 +32,17 @@ export interface JpaEmitOptions {
|
|
|
28
32
|
naming: NamingMode;
|
|
29
33
|
/** The persistence API; defaults to `jakarta`. */
|
|
30
34
|
style?: JpaStyle;
|
|
35
|
+
/**
|
|
36
|
+
* How a composite primary key is written: `idclass` (default; `@IdClass` and `@Id` on each key attribute) or
|
|
37
|
+
* `embedded` (an `@Embeddable` key class and one `@EmbeddedId`; a relationship in the key gets `@MapsId`).
|
|
38
|
+
* A single-column key is always an `@Id`.
|
|
39
|
+
*/
|
|
40
|
+
keyMode?: JpaKeyMode;
|
|
41
|
+
/**
|
|
42
|
+
* Write Lombok annotations (`@Getter`, `@Setter`, `@NoArgsConstructor`; `@EqualsAndHashCode` on key classes)
|
|
43
|
+
* in place of hand-written accessors (default false).
|
|
44
|
+
*/
|
|
45
|
+
lombok?: boolean;
|
|
31
46
|
/** Java package of the generated classes; defaults to `app.models`. */
|
|
32
47
|
packageName?: string;
|
|
33
48
|
/** Write the `// <auto-generated>` comment at the top of every file (default true). */
|
package/dist/emitters/jpa.js
CHANGED
|
@@ -3,8 +3,9 @@ import { normalizeSchema } from '../transforms.js';
|
|
|
3
3
|
import { buildColumn, } from './jpaColumns.js';
|
|
4
4
|
import { planEnums, renderConverterBody, renderEnumBody } from './jpaEnums.js';
|
|
5
5
|
import { annotation } from './jpaFormat.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { keyOf } from './jpaKeys.js';
|
|
7
|
+
import { renderKeyClass } from './jpaKeyClass.js';
|
|
8
|
+
import { classNameOf, javaString, RESERVED_TYPE_NAMES, attributeNameOf, uniqueName, DEFAULT_JPA_PACKAGE, } from './jpaNames.js';
|
|
8
9
|
import { addInverseRelations, addOwningRelations, } from './jpaRelations.js';
|
|
9
10
|
import { renderEntity, renderFile } from './jpaRender.js';
|
|
10
11
|
import { tableAnnotation } from './jpaTable.js';
|
|
@@ -22,6 +23,12 @@ import { COCKROACH_PREFIX, cockroachSequentialWarning, isCockroach, } from './co
|
|
|
22
23
|
*/
|
|
23
24
|
export { DEFAULT_JPA_PACKAGE, isValidJavaPackage } from './jpaNames.js';
|
|
24
25
|
export const JPA_STYLES = ['jakarta', 'javax'];
|
|
26
|
+
/** The ways to write a composite primary key: an `@IdClass` class (default) or an `@Embeddable` with `@EmbeddedId`. */
|
|
27
|
+
export const JPA_KEY_MODES = ['idclass', 'embedded'];
|
|
28
|
+
/** True when a value is one of the JPA key modes (`--jpa-key`). */
|
|
29
|
+
export function isJpaKeyMode(value) {
|
|
30
|
+
return JPA_KEY_MODES.includes(value);
|
|
31
|
+
}
|
|
25
32
|
/** True when a value is one of the JPA `--style` values. */
|
|
26
33
|
export function isJpaStyle(value) {
|
|
27
34
|
return JPA_STYLES.includes(value);
|
|
@@ -45,6 +52,7 @@ export function emitJpa(schema, options) {
|
|
|
45
52
|
const layout = {
|
|
46
53
|
packageName: options.packageName ?? DEFAULT_JPA_PACKAGE,
|
|
47
54
|
header: options.header !== false,
|
|
55
|
+
lombok: options.lombok === true,
|
|
48
56
|
};
|
|
49
57
|
const files = {};
|
|
50
58
|
planAndRender(prepared, options, style, layout, files, warnings);
|
|
@@ -166,8 +174,10 @@ function planAndRender(schema, options, style, layout, files, warnings) {
|
|
|
166
174
|
keyTypes.set(model.name, found);
|
|
167
175
|
}
|
|
168
176
|
}
|
|
177
|
+
const keyMode = options.keyMode ?? 'idclass';
|
|
169
178
|
const relationContext = {
|
|
170
179
|
style,
|
|
180
|
+
keyMode,
|
|
171
181
|
schema,
|
|
172
182
|
plans,
|
|
173
183
|
keys,
|
|
@@ -190,7 +200,9 @@ function planAndRender(schema, options, style, layout, files, warnings) {
|
|
|
190
200
|
const imports = plan.imports;
|
|
191
201
|
plan.classAnnotations.push(annotation(imports.persistence('Entity')), tableAnnotation({ model, imports, warn }));
|
|
192
202
|
if (info.parts.length > 1) {
|
|
203
|
+
const embedded = keyMode === 'embedded';
|
|
193
204
|
const parts = [];
|
|
205
|
+
const moved = [];
|
|
194
206
|
for (const part of info.parts) {
|
|
195
207
|
if (part.kind === 'field') {
|
|
196
208
|
const column = built.get(part.field);
|
|
@@ -200,7 +212,14 @@ function planAndRender(schema, options, style, layout, files, warnings) {
|
|
|
200
212
|
name,
|
|
201
213
|
type: column.boxedType,
|
|
202
214
|
imports: column.attribute.imports,
|
|
215
|
+
...(embedded
|
|
216
|
+
? {
|
|
217
|
+
// The key class holds the column; the @Id of the entity attribute is not needed there.
|
|
218
|
+
annotations: column.attribute.annotations.filter((node) => node.name !== 'Id'),
|
|
219
|
+
}
|
|
220
|
+
: {}),
|
|
203
221
|
});
|
|
222
|
+
moved.push(column.attribute);
|
|
204
223
|
}
|
|
205
224
|
}
|
|
206
225
|
else {
|
|
@@ -211,10 +230,22 @@ function planAndRender(schema, options, style, layout, files, warnings) {
|
|
|
211
230
|
warn(`${model.name}.${part.relation.name}: the relation is part of the composite primary key but could not be written, so it is missing from the key.`);
|
|
212
231
|
}
|
|
213
232
|
else {
|
|
233
|
+
// The imports of the target's key are shared, so the key class gets a set of its own.
|
|
234
|
+
const partImports = new Imports(style);
|
|
235
|
+
partImports.merge(found.imports);
|
|
214
236
|
parts.push({
|
|
215
237
|
name: found.attribute,
|
|
216
238
|
type: found.type,
|
|
217
|
-
imports:
|
|
239
|
+
imports: partImports,
|
|
240
|
+
...(embedded
|
|
241
|
+
? {
|
|
242
|
+
annotations: [
|
|
243
|
+
annotation(partImports.persistence('Column'), [
|
|
244
|
+
['name', javaString(found.column)],
|
|
245
|
+
]),
|
|
246
|
+
],
|
|
247
|
+
}
|
|
248
|
+
: {}),
|
|
218
249
|
});
|
|
219
250
|
}
|
|
220
251
|
}
|
|
@@ -222,10 +253,27 @@ function planAndRender(schema, options, style, layout, files, warnings) {
|
|
|
222
253
|
const idName = uniqueName(`${plan.className}Id`, typeNames);
|
|
223
254
|
plan.idClass = { name: idName, parts };
|
|
224
255
|
const idImports = plan.imports;
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
256
|
+
if (embedded) {
|
|
257
|
+
// The key attributes move into the @Embeddable class; one @EmbeddedId attribute takes their place.
|
|
258
|
+
const firstAt = Math.max(0, Math.min(...moved.map((attribute) => plan.attributes.indexOf(attribute))));
|
|
259
|
+
plan.attributes = plan.attributes.filter((attribute) => !moved.includes(attribute));
|
|
260
|
+
const idAttribute = uniqueName('id', plan.used);
|
|
261
|
+
plan.attributes.splice(moved.length === 0 ? 0 : firstAt, 0, {
|
|
262
|
+
name: idAttribute,
|
|
263
|
+
type: idName,
|
|
264
|
+
annotations: [annotation(idImports.persistence('EmbeddedId'))],
|
|
265
|
+
imports: new Imports(style),
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
plan.classAnnotations.push(annotation(idImports.persistence('IdClass'), [
|
|
270
|
+
[undefined, `${idName}.class`],
|
|
271
|
+
]));
|
|
272
|
+
}
|
|
273
|
+
const rendered = renderKeyClass(idName, parts, style, {
|
|
274
|
+
embeddable: embedded,
|
|
275
|
+
lombok: layout.lombok === true,
|
|
276
|
+
});
|
|
229
277
|
files[pathOf(layout.packageName, idName)] = renderFile(layout, rendered.imports, rendered.lines);
|
|
230
278
|
}
|
|
231
279
|
if (info.parts.length === 1 && info.parts[0]?.kind === 'relation') {
|
package/dist/emitters/jpa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jpa.js","sourceRoot":"","sources":["../../src/emitters/jpa.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jpa.js","sourceRoot":"","sources":["../../src/emitters/jpa.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Imports, type IdPart, type JpaStyle } from './jpaTypes.js';
|
|
2
|
+
/** Writes the key class of a composite primary key: the `@IdClass` class or the `@Embeddable` class of an `@EmbeddedId`. */
|
|
3
|
+
export interface KeyClassOptions {
|
|
4
|
+
/** True for the `@Embeddable` class of an `@EmbeddedId`; false for the plain class of an `@IdClass`. */
|
|
5
|
+
embeddable: boolean;
|
|
6
|
+
/** Write Lombok annotations in place of the constructors, accessors, `equals` and `hashCode`. */
|
|
7
|
+
lombok: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The text of a key class file body: fields, constructors, `equals` and `hashCode`. The `@IdClass` class has
|
|
11
|
+
* plain fields; the `@Embeddable` class of an `@EmbeddedId` also carries the column annotations and the accessors.
|
|
12
|
+
* With Lombok the annotations `@NoArgsConstructor`, `@AllArgsConstructor` and `@EqualsAndHashCode` (and, for the
|
|
13
|
+
* embeddable, `@Getter` and `@Setter`) replace the methods.
|
|
14
|
+
*/
|
|
15
|
+
export declare function renderKeyClass(name: string, parts: readonly IdPart[], style: JpaStyle, options?: KeyClassOptions): {
|
|
16
|
+
imports: Imports;
|
|
17
|
+
lines: string[];
|
|
18
|
+
};
|