@kavo/prisma 0.21.4 → 0.22.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 CHANGED
@@ -21,8 +21,9 @@ name to the schema (`class Author {}` ↔ `model Author { … }`). See
21
21
  `docs/internals/adr/0017-prisma-marker-classes-and-entity-registry.md` for why.
22
22
 
23
23
  ```ts
24
- import { PrismaClient, Prisma } from "@prisma/client";
24
+ import { PrismaClient } from "./generated/prisma/client";
25
25
  import { createPrismaKavo } from "@kavo/prisma";
26
+ import metadata from "./generated/kavo-metadata";
26
27
 
27
28
  class Author {
28
29
  id!: number;
@@ -36,7 +37,7 @@ class Book {
36
37
 
37
38
  const prisma = new PrismaClient();
38
39
  const kavo = createPrismaKavo(prisma, {
39
- datamodel: Prisma.dmmf.datamodel,
40
+ metadata,
40
41
  entities: [Author, Book],
41
42
  });
42
43
 
@@ -1,16 +1,5 @@
1
- /**
2
- * The subset of Prisma's DMMF (`Prisma.dmmf.datamodel`) this adapter reads.
3
- * Modeled locally rather than imported from `@prisma/client` or
4
- * `@prisma/generator-helper`, for the same reason as {@link
5
- * PrismaClientLike}: `Prisma.dmmf` is a stable, documented runtime export
6
- * (the mechanism Prisma's own generator ecosystem — `zod-prisma`,
7
- * `prisma-erd-generator`, and others — relies on to read a schema without
8
- * a generated client), but its *type* only resolves post-generation. A
9
- * duck-typed subset keeps `@kavo/prisma` buildable without one, and the
10
- * real `Prisma.dmmf.datamodel` a consumer passes in satisfies this
11
- * structurally.
12
- */
13
- export interface PrismaDatamodel {
1
+ /** Metadata generated by Kavo's Prisma 7 generator at `prisma generate`. */
2
+ export interface PrismaMetadata {
14
3
  readonly models: readonly PrismaModel[];
15
4
  readonly enums: readonly PrismaEnum[];
16
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datamodel.d.ts","sourceRoot":"","sources":["../src/datamodel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"datamodel.d.ts","sourceRoot":"","sources":["../src/datamodel.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { mkdir, writeFile } from "node:fs/promises";
2
+ import { createRequire } from "node:module";
3
+ import { resolve } from "node:path";
4
+ const require = createRequire(import.meta.url);
5
+ const { generatorHandler } = require("@prisma/generator-helper");
6
+ function generatedModule(metadata) {
7
+ return `// Generated by @kavo/prisma. Do not edit.\nexport const prismaMetadata = ${JSON.stringify(metadata, null, 2)} as const;\n\nexport default prismaMetadata;\n`;
8
+ }
9
+ generatorHandler({
10
+ onManifest() {
11
+ return {
12
+ defaultOutput: "./generated/kavo-metadata.ts",
13
+ prettyName: "Kavo Prisma metadata",
14
+ };
15
+ },
16
+ async onGenerate(options) {
17
+ const output = options.generator.output?.value;
18
+ if (output === null || output === undefined) {
19
+ throw new Error("@kavo/prisma requires an output path for generated metadata");
20
+ }
21
+ const outputPath = resolve(output);
22
+ await mkdir(resolve(outputPath, ".."), { recursive: true });
23
+ await writeFile(outputPath, generatedModule(options.dmmf.datamodel), "utf8");
24
+ },
25
+ });
26
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAA8C,CAAC;AAE9G,SAAS,eAAe,CAAC,QAAiB;IACxC,OAAO,6EAA6E,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,gDAAgD,CAAC;AACxK,CAAC;AAED,gBAAgB,CAAC;IACf,UAAU;QACR,OAAO;YACL,aAAa,EAAE,8BAA8B;YAC7C,UAAU,EAAE,sBAAsB;SACnC,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,OAAO;QACtB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;QAC/C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;CACF,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,5 +4,5 @@ export { translateFilter, type FilterTranslatorOptions, type PrismaWhere } from
4
4
  export { PrismaRepositoryAdapter } from "./prisma-repository-adapter.js";
5
5
  export { createInfrastructure, createPrismaKavo, type PrismaInfrastructureOptions } from "./infrastructure.js";
6
6
  export { delegateName, type PrismaClientLike, type PrismaModelDelegate } from "./prisma-client-like.js";
7
- export type { PrismaDatamodel, PrismaEnum, PrismaField, PrismaModel } from "./datamodel.js";
7
+ export type { PrismaEnum, PrismaField, PrismaMetadata, PrismaModel } from "./datamodel.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,KAAK,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACxG,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,KAAK,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACxG,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import type { ClassRef, KavoInfrastructure, KavoInstance, KavoOptions } from "@kavo/core";
2
- import type { PrismaDatamodel } from "./datamodel.js";
2
+ import type { PrismaMetadata } from "./datamodel.js";
3
3
  import type { PrismaClientLike } from "./prisma-client-like.js";
4
4
  /**
5
5
  * What Prisma needs beyond the client instance, mirroring what TypeORM's
6
6
  * `DataSource` supplies for free:
7
7
  *
8
- * - `datamodel` — Prisma's DMMF (`Prisma.dmmf.datamodel` from the
9
- * generated client), the metadata seam's data source.
8
+ * - `metadata` — the module generated by Kavo's Prisma 7 generator during
9
+ * `prisma generate`.
10
10
  * - `entities` — every marker class this Kavo root will call `createCrud`
11
11
  * with. Prisma models have no runtime class the way TypeORM's
12
12
  * `@Entity()` classes do, so each entity needs a caller-declared class
@@ -16,7 +16,7 @@ import type { PrismaClientLike } from "./prisma-client-like.js";
16
16
  * front. See `docs/internals/adr/0017-prisma-marker-classes-and-entity-registry.md`.
17
17
  */
18
18
  export interface PrismaInfrastructureOptions {
19
- readonly datamodel: PrismaDatamodel;
19
+ readonly metadata: PrismaMetadata;
20
20
  readonly entities: readonly ClassRef[];
21
21
  /**
22
22
  * Whether the connector supports Prisma's `mode: "insensitive"` string
@@ -28,10 +28,11 @@ export interface PrismaInfrastructureOptions {
28
28
  readonly caseInsensitiveFilters?: boolean;
29
29
  }
30
30
  /**
31
- * The Prisma implementation of core's infrastructure seam: metadata and
31
+ * The Prisma implementation of core's infrastructure seam: generated metadata and
32
32
  * adapters derived from one Prisma Client, cached per entity (metadata
33
33
  * derivation and adapter construction are bootstrap work, not per-request
34
- * work) — same shape as `@kavo/typeorm`'s `createInfrastructure`.
34
+ * work) — same shape as `@kavo/typeorm`'s `createInfrastructure`. The
35
+ * generated metadata boundary is defined by ADR-0053.
35
36
  */
36
37
  export declare function createInfrastructure(prismaClient: PrismaClientLike, options: PrismaInfrastructureOptions): KavoInfrastructure;
37
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"infrastructure.d.ts","sourceRoot":"","sources":["../src/infrastructure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAElB,YAAY,EACZ,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,gBAAgB,EAC9B,OAAO,EAAE,2BAA2B,GACnC,kBAAkB,CAiCpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,gBAAgB,EAC9B,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,GACzE,YAAY,CAMd"}
1
+ {"version":3,"file":"infrastructure.d.ts","sourceRoot":"","sources":["../src/infrastructure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAElB,YAAY,EACZ,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,gBAAgB,EAC9B,OAAO,EAAE,2BAA2B,GACnC,kBAAkB,CAiCpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,gBAAgB,EAC9B,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,GACzE,YAAY,CAMd"}
@@ -2,10 +2,11 @@ import { createKavo } from "@kavo/core";
2
2
  import { buildEntityMetadata, buildRelationGraph } from "./metadata.js";
3
3
  import { PrismaRepositoryAdapter } from "./prisma-repository-adapter.js";
4
4
  /**
5
- * The Prisma implementation of core's infrastructure seam: metadata and
5
+ * The Prisma implementation of core's infrastructure seam: generated metadata and
6
6
  * adapters derived from one Prisma Client, cached per entity (metadata
7
7
  * derivation and adapter construction are bootstrap work, not per-request
8
- * work) — same shape as `@kavo/typeorm`'s `createInfrastructure`.
8
+ * work) — same shape as `@kavo/typeorm`'s `createInfrastructure`. The
9
+ * generated metadata boundary is defined by ADR-0053.
9
10
  */
10
11
  export function createInfrastructure(prismaClient, options) {
11
12
  const byName = new Map(options.entities.map((entity) => [entity.name, entity]));
@@ -15,11 +16,11 @@ export function createInfrastructure(prismaClient, options) {
15
16
  // filter walks models the queried entity's own metadata cannot describe
16
17
  // (`author.posts.title` needs Author's edges too). Bootstrap work, like
17
18
  // metadata derivation and adapter construction.
18
- const relations = buildRelationGraph(options.datamodel);
19
+ const relations = buildRelationGraph(options.metadata);
19
20
  function metadataFor(entity) {
20
21
  let metadata = metadataCache.get(entity);
21
22
  if (metadata === undefined) {
22
- metadata = buildEntityMetadata(options.datamodel, entity, byName);
23
+ metadata = buildEntityMetadata(options.metadata, entity, byName);
23
24
  metadataCache.set(entity, metadata);
24
25
  }
25
26
  return metadata;
@@ -45,10 +46,10 @@ export function createInfrastructure(prismaClient, options) {
45
46
  * declaring the marker classes once.
46
47
  */
47
48
  export function createPrismaKavo(prismaClient, options) {
48
- const { datamodel, entities, caseInsensitiveFilters, ...kavoOptions } = options;
49
+ const { metadata, entities, caseInsensitiveFilters, ...kavoOptions } = options;
49
50
  return createKavo({
50
51
  ...kavoOptions,
51
- infrastructure: createInfrastructure(prismaClient, { datamodel, entities, caseInsensitiveFilters }),
52
+ infrastructure: createInfrastructure(prismaClient, { metadata, entities, caseInsensitiveFilters }),
52
53
  });
53
54
  }
54
55
  //# sourceMappingURL=infrastructure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"infrastructure.js","sourceRoot":"","sources":["../src/infrastructure.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AA6BzE;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAA8B,EAC9B,OAAoC;IAEpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC5D,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,gDAAgD;IAChD,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAExD,SAAS,WAAW,CAAwB,MAAwB;QAClE,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAClE,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,QAAkC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,WAAW;QACX,UAAU,CAAwB,MAAwB;YACxD,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,GAAG,IAAI,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE;oBACvE,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,IAAI,IAAI;oBAC9D,SAAS;iBACV,CAAsB,CAAC;gBACxB,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,OAAoC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAA8B,EAC9B,OAA0E;IAE1E,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,sBAAsB,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;IAChF,OAAO,UAAU,CAAC;QAChB,GAAG,WAAW;QACd,cAAc,EAAE,oBAAoB,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;KACpG,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"infrastructure.js","sourceRoot":"","sources":["../src/infrastructure.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AA6BzE;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAA8B,EAC9B,OAAoC;IAEpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC5D,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,gDAAgD;IAChD,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvD,SAAS,WAAW,CAAwB,MAAwB;QAClE,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjE,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,QAAkC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,WAAW;QACX,UAAU,CAAwB,MAAwB;YACxD,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,GAAG,IAAI,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE;oBACvE,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,IAAI,IAAI;oBAC9D,SAAS;iBACV,CAAsB,CAAC;gBACxB,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,OAAoC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAA8B,EAC9B,OAA0E;IAE1E,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,sBAAsB,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;IAC/E,OAAO,UAAU,CAAC;QAChB,GAAG,WAAW;QACd,cAAc,EAAE,oBAAoB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;KACnG,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { ClassRef, EntityMetadata } from "@kavo/core";
2
- import type { PrismaDatamodel } from "./datamodel.js";
2
+ import type { PrismaMetadata } from "./datamodel.js";
3
3
  /**
4
4
  * Build core's `EntityMetadata` for one entity from Prisma's DMMF.
5
5
  *
@@ -13,7 +13,7 @@ import type { PrismaDatamodel } from "./datamodel.js";
13
13
  * `createInfrastructure` collects it explicitly (see
14
14
  * `docs/internals/adr/0017-prisma-marker-classes-and-entity-registry.md`).
15
15
  */
16
- export declare function buildEntityMetadata<Entity extends object>(datamodel: PrismaDatamodel, entity: ClassRef<Entity>, entities: ReadonlyMap<string, ClassRef>): EntityMetadata<Entity>;
16
+ export declare function buildEntityMetadata<Entity extends object>(metadata: PrismaMetadata, entity: ClassRef<Entity>, entities: ReadonlyMap<string, ClassRef>): EntityMetadata<Entity>;
17
17
  /**
18
18
  * One relation edge, as the filter translator needs to see it: which
19
19
  * Prisma model it lands on, and whether it is a list.
@@ -35,5 +35,5 @@ export interface PrismaRelationEdge {
35
35
  */
36
36
  export type PrismaRelationGraph = ReadonlyMap<string, ReadonlyMap<string, PrismaRelationEdge>>;
37
37
  /** Derive {@link PrismaRelationGraph} from Prisma's DMMF. */
38
- export declare function buildRelationGraph(datamodel: PrismaDatamodel): PrismaRelationGraph;
38
+ export declare function buildRelationGraph(metadata: PrismaMetadata): PrismaRelationGraph;
39
39
  //# sourceMappingURL=metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAgD,MAAM,YAAY,CAAC;AAEzG,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,gBAAgB,CAAC;AAkDnE;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,SAAS,MAAM,EACvD,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,GACtC,cAAc,CAAC,MAAM,CAAC,CA6DxB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IACrC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAE/F,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,eAAe,GAAG,mBAAmB,CAclF"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAgD,MAAM,YAAY,CAAC;AAEzG,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAkDlE;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,SAAS,MAAM,EACvD,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,GACtC,cAAc,CAAC,MAAM,CAAC,CA6DxB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IACrC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAE/F,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,mBAAmB,CAchF"}
package/dist/metadata.js CHANGED
@@ -58,9 +58,9 @@ function isGeneratedField(field) {
58
58
  * `createInfrastructure` collects it explicitly (see
59
59
  * `docs/internals/adr/0017-prisma-marker-classes-and-entity-registry.md`).
60
60
  */
61
- export function buildEntityMetadata(datamodel, entity, entities) {
61
+ export function buildEntityMetadata(metadata, entity, entities) {
62
62
  const modelName = entity.name;
63
- const model = datamodel.models.find((candidate) => candidate.name === modelName);
63
+ const model = metadata.models.find((candidate) => candidate.name === modelName);
64
64
  if (model === undefined) {
65
65
  throw new ConfigurationException(modelName, "entity", `No Prisma model named '${modelName}' in the supplied datamodel — the marker class name must match ` +
66
66
  `the schema's model name exactly`);
@@ -87,7 +87,7 @@ export function buildEntityMetadata(datamodel, entity, entities) {
87
87
  nullable: field.isList ? false : !field.isRequired,
88
88
  generated: isGeneratedField(field),
89
89
  ...(field.kind === "enum" && {
90
- enumValues: (datamodel.enums.find((candidate) => candidate.name === field.type)?.values ?? []).map((value) => value.name),
90
+ enumValues: (metadata.enums.find((candidate) => candidate.name === field.type)?.values ?? []).map((value) => value.name),
91
91
  }),
92
92
  }));
93
93
  const relations = model.fields
@@ -107,8 +107,8 @@ export function buildEntityMetadata(datamodel, entity, entities) {
107
107
  };
108
108
  }
109
109
  /** Derive {@link PrismaRelationGraph} from Prisma's DMMF. */
110
- export function buildRelationGraph(datamodel) {
111
- return new Map(datamodel.models.map((model) => [
110
+ export function buildRelationGraph(metadata) {
111
+ return new Map(metadata.models.map((model) => [
112
112
  model.name,
113
113
  new Map(model.fields
114
114
  .filter((field) => field.kind === "object")
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kavo/prisma",
3
- "version": "0.21.4",
3
+ "version": "0.22.0",
4
4
  "description": "Kavo Prisma adapter — implements @kavo/core's RepositoryAdapter over Prisma Client.",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -26,18 +26,24 @@
26
26
  "files": [
27
27
  "dist"
28
28
  ],
29
+ "bin": {
30
+ "kavo-prisma-generator": "dist/generator.js"
31
+ },
29
32
  "dependencies": {
30
- "@kavo/core": "^0.21.4"
33
+ "@prisma/generator-helper": "^7.10.0",
34
+ "@kavo/core": "^0.22.0"
31
35
  },
32
36
  "peerDependencies": {
33
- "@prisma/client": "^5.0.0 || ^6.0.0"
37
+ "@prisma/client": "^7.0.0"
34
38
  },
35
39
  "devDependencies": {
36
- "@prisma/client": "^6.19.3",
37
- "prisma": "^6.19.3"
40
+ "@prisma/adapter-better-sqlite3": "^7.10.0",
41
+ "@prisma/client": "^7.10.0",
42
+ "better-sqlite3": "^13.0.3",
43
+ "prisma": "^7.10.0"
38
44
  },
39
45
  "scripts": {
40
46
  "build": "tsc -b",
41
- "generate": "prisma generate --schema prisma/schema.prisma && prisma db push --schema prisma/schema.prisma --skip-generate --accept-data-loss"
47
+ "generate": "pnpm run build && prisma generate --schema prisma/schema.prisma && prisma db push --schema prisma/schema.prisma --accept-data-loss"
42
48
  }
43
49
  }