@mikara89/cap-storage-prisma 2.2.0 → 2.2.1

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/CHANGELOG.md CHANGED
@@ -1,6 +1,22 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ ## [2.2.1](https://github.com/mikara89/cap-nodejs/compare/@mikara89/cap-storage-prisma@2.2.0...@mikara89/cap-storage-prisma@2.2.1) (2026-07-11)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **release:** prevent release-tooling subprocess hang ([0f5790f](https://github.com/mikara89/cap-nodejs/commit/0f5790f243ea35c37a95e02e86b5bfaa6400df45))
11
+ - **release:** restore Lerna release authority ([044f165](https://github.com/mikara89/cap-nodejs/commit/044f1658247a8ba6efb4870ca1c76610138a948e))
12
+
13
+ ### Reverts
14
+
15
+ - Revert "chore(release): prepare 2.3.0" ([de35e0e](https://github.com/mikara89/cap-nodejs/commit/de35e0ef6bec2f4aa6b94092298908be91186c11))
16
+
1
17
  # Changelog
2
18
 
3
- ## 2.3.0
19
+ ## 2.2.0 (2026-06-27)
4
20
 
5
21
  - Release the framework-free Prisma outbox and inbox adapter as a current
6
22
  first-party storage option.
@@ -11,9 +27,3 @@
11
27
  - Cover PostgreSQL and MySQL claim behavior with DB integration tests; keep
12
28
  SQLite as a local and single-process option.
13
29
  - Keep shared SQL-core extraction deferred.
14
-
15
- ## 2.2.0
16
-
17
- - Add the framework-free Prisma publish and received storage adapter.
18
- - Add raw-SQL schema initialization for PostgreSQL, MySQL/MariaDB, and SQLite.
19
- - Add interactive transaction support through `Prisma.TransactionClient`.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 CAP contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -13,6 +13,16 @@ Prisma providers `postgresql`, `mysql`, and `sqlite`; `postgres` and `mariadb`
13
13
  are accepted adapter aliases. Pass the provider explicitly because Prisma does
14
14
  not expose a stable public runtime provider API for adapter logic.
15
15
 
16
+ For the optional NestJS entry point, install the Nest peer dependencies used by
17
+ your application:
18
+
19
+ ```sh
20
+ npm install @nestjs/common @nestjs/core reflect-metadata
21
+ ```
22
+
23
+ Those dependencies are optional when using only the framework-neutral root
24
+ API.
25
+
16
26
  ## Schema
17
27
 
18
28
  Initialize CAP tables through raw SQL without adding CAP models to your Prisma
@@ -57,6 +67,125 @@ values. It does not use generated model delegates or require CAP models in the
57
67
  application schema. Table names are the only dynamic identifiers and are
58
68
  strictly validated before quoting.
59
69
 
70
+ ### NestJS
71
+
72
+ The root import remains framework-neutral. Import Nest integration from the
73
+ explicit `@mikara89/cap-storage-prisma/nest` subpath; it exports
74
+ `PrismaStorageModule`, its `Options`/`AsyncOptions`/`OptionsFactory` types,
75
+ and the existing CAP `PUBLISH_STORAGE` and `RECEIVED_STORAGE` tokens.
76
+
77
+ The module binds `PrismaPublishStorage` and `PrismaReceivedStorage` to those
78
+ CAP tokens. It uses the injected application client and does not call
79
+ `$connect()` or `$disconnect()`: connection lifecycle remains application-owned.
80
+
81
+ Provide a direct application client under any token you choose. There is no
82
+ assumption about a provider called `PrismaService` or a particular Prisma Nest
83
+ library:
84
+
85
+ ```ts
86
+ import { Module } from '@nestjs/common';
87
+ import { PrismaClient } from '@prisma/client';
88
+ import { PrismaStorageModule } from '@mikara89/cap-storage-prisma/nest';
89
+
90
+ export const APP_DATABASE = Symbol('APP_DATABASE');
91
+ const prisma = new PrismaClient();
92
+
93
+ @Module({
94
+ providers: [{ provide: APP_DATABASE, useValue: prisma }],
95
+ exports: [APP_DATABASE],
96
+ })
97
+ export class DatabaseModule {}
98
+
99
+ @Module({
100
+ imports: [
101
+ PrismaStorageModule.forRoot({
102
+ imports: [DatabaseModule],
103
+ clientToken: APP_DATABASE,
104
+ storageOptions: { provider: 'postgresql' },
105
+ }),
106
+ ],
107
+ })
108
+ export class AppModule {}
109
+ ```
110
+
111
+ An application-defined `PrismaService` works when it is exported under your
112
+ chosen token; CAP does not require a particular implementation:
113
+
114
+ ```ts
115
+ import { Injectable, Module } from '@nestjs/common';
116
+ import { PrismaClient } from '@prisma/client';
117
+
118
+ @Injectable()
119
+ export class PrismaService extends PrismaClient {}
120
+
121
+ @Module({
122
+ providers: [
123
+ PrismaService,
124
+ { provide: APP_DATABASE, useExisting: PrismaService },
125
+ ],
126
+ exports: [APP_DATABASE],
127
+ })
128
+ export class DatabaseModule {}
129
+ ```
130
+
131
+ Use `forRootAsync` for application-provided storage options:
132
+
133
+ ```ts
134
+ import { Module } from '@nestjs/common';
135
+ import type { PrismaStorageOptions } from '@mikara89/cap-storage-prisma';
136
+ import { PrismaStorageModule } from '@mikara89/cap-storage-prisma/nest';
137
+
138
+ export const STORAGE_OPTIONS = Symbol('STORAGE_OPTIONS');
139
+
140
+ @Module({
141
+ providers: [
142
+ { provide: STORAGE_OPTIONS, useValue: { provider: 'postgresql' } },
143
+ ],
144
+ exports: [STORAGE_OPTIONS],
145
+ })
146
+ class StorageConfigModule {}
147
+
148
+ PrismaStorageModule.forRootAsync({
149
+ imports: [DatabaseModule, StorageConfigModule],
150
+ clientToken: APP_DATABASE,
151
+ inject: [STORAGE_OPTIONS],
152
+ useFactory: (options: PrismaStorageOptions) => options,
153
+ });
154
+ ```
155
+
156
+ The class and existing-provider variants call exactly
157
+ `createPrismaStorageOptions()`:
158
+
159
+ ```ts
160
+ import { Injectable, Module } from '@nestjs/common';
161
+ import {
162
+ PrismaStorageModule,
163
+ type PrismaStorageOptionsFactory,
164
+ } from '@mikara89/cap-storage-prisma/nest';
165
+
166
+ @Injectable()
167
+ class PrismaOptionsFactory implements PrismaStorageOptionsFactory {
168
+ createPrismaStorageOptions() {
169
+ return { provider: 'postgresql' as const };
170
+ }
171
+ }
172
+
173
+ @Module({ providers: [PrismaOptionsFactory], exports: [PrismaOptionsFactory] })
174
+ class ExistingConfigModule {}
175
+
176
+ PrismaStorageModule.forRootAsync({
177
+ imports: [DatabaseModule],
178
+ clientToken: APP_DATABASE,
179
+ useClass: PrismaOptionsFactory,
180
+ });
181
+
182
+ PrismaStorageModule.forRootAsync({
183
+ imports: [DatabaseModule, ExistingConfigModule],
184
+ clientToken: APP_DATABASE,
185
+ useExisting: PrismaOptionsFactory,
186
+ });
187
+ ```
188
+
60
189
  ## Transactions
61
190
 
62
191
  The transaction context is `Prisma.TransactionClient`. Root operations use the
@@ -0,0 +1,3 @@
1
+ export * from './prisma-storage.module';
2
+ export * from './tokens';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nest/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./prisma-storage.module"), exports);
18
+ __exportStar(require("./tokens"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nest/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,2CAAyB"}
@@ -0,0 +1,23 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import type { InjectionToken, ModuleMetadata, OptionalFactoryDependency, Type } from '@nestjs/common';
3
+ import type { PrismaStorageOptions } from '../prisma-storage-options';
4
+ export interface PrismaStorageModuleOptions {
5
+ clientToken: InjectionToken;
6
+ imports?: ModuleMetadata['imports'];
7
+ storageOptions: PrismaStorageOptions;
8
+ }
9
+ export interface PrismaStorageOptionsFactory {
10
+ createPrismaStorageOptions(): Promise<PrismaStorageOptions> | PrismaStorageOptions;
11
+ }
12
+ export interface PrismaStorageModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
13
+ clientToken: InjectionToken;
14
+ useExisting?: Type<PrismaStorageOptionsFactory>;
15
+ useClass?: Type<PrismaStorageOptionsFactory>;
16
+ useFactory?: (...args: unknown[]) => Promise<PrismaStorageOptions> | PrismaStorageOptions;
17
+ inject?: (InjectionToken | OptionalFactoryDependency)[];
18
+ }
19
+ export declare class PrismaStorageModule {
20
+ static forRoot(options: PrismaStorageModuleOptions): DynamicModule;
21
+ static forRootAsync(options: PrismaStorageModuleAsyncOptions): DynamicModule;
22
+ }
23
+ //# sourceMappingURL=prisma-storage.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma-storage.module.d.ts","sourceRoot":"","sources":["../../src/nest/prisma-storage.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,yBAAyB,EAEzB,IAAI,EACL,MAAM,gBAAgB,CAAC;AAKxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAItE,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,cAAc,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,2BAA2B;IAC1C,0BAA0B,IACtB,OAAO,CAAC,oBAAoB,CAAC,GAC7B,oBAAoB,CAAC;CAC1B;AAED,MAAM,WAAW,+BAAgC,SAAQ,IAAI,CAC3D,cAAc,EACd,SAAS,CACV;IACC,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,CAAC,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,CACX,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAAC;IAC1D,MAAM,CAAC,EAAE,CAAC,cAAc,GAAG,yBAAyB,CAAC,EAAE,CAAC;CACzD;AAGD,qBACa,mBAAmB;IAC9B,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,0BAA0B,GAAG,aAAa;IAOlE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,+BAA+B,GAAG,aAAa;CAQ7E"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PrismaStorageModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const cap_core_1 = require("@mikara89/cap-core");
12
+ const prisma_publish_storage_1 = require("../prisma-publish-storage");
13
+ const prisma_received_storage_1 = require("../prisma-received-storage");
14
+ const PRISMA_STORAGE_OPTIONS = Symbol('CAP_PRISMA_STORAGE_OPTIONS');
15
+ let PrismaStorageModule = class PrismaStorageModule {
16
+ static forRoot(options) {
17
+ return createModule(options.clientToken, options.imports ?? [], {
18
+ provide: PRISMA_STORAGE_OPTIONS,
19
+ useValue: options.storageOptions,
20
+ });
21
+ }
22
+ static forRootAsync(options) {
23
+ return createModule(options.clientToken, options.imports ?? [], createAsyncOptionsProvider(options), options.useClass && !options.useExisting ? [options.useClass] : []);
24
+ }
25
+ };
26
+ exports.PrismaStorageModule = PrismaStorageModule;
27
+ exports.PrismaStorageModule = PrismaStorageModule = __decorate([
28
+ (0, common_1.Module)({})
29
+ ], PrismaStorageModule);
30
+ function createModule(clientToken, imports, optionsProvider, extraProviders = []) {
31
+ return {
32
+ module: PrismaStorageModule,
33
+ imports,
34
+ providers: [
35
+ ...extraProviders,
36
+ optionsProvider,
37
+ {
38
+ provide: cap_core_1.PUBLISH_STORAGE,
39
+ useFactory: (client, options) => new prisma_publish_storage_1.PrismaPublishStorage(client, options),
40
+ inject: [clientToken, PRISMA_STORAGE_OPTIONS],
41
+ },
42
+ {
43
+ provide: cap_core_1.RECEIVED_STORAGE,
44
+ useFactory: (client, options) => new prisma_received_storage_1.PrismaReceivedStorage(client, options),
45
+ inject: [clientToken, PRISMA_STORAGE_OPTIONS],
46
+ },
47
+ ],
48
+ exports: [cap_core_1.PUBLISH_STORAGE, cap_core_1.RECEIVED_STORAGE],
49
+ };
50
+ }
51
+ function createAsyncOptionsProvider(options) {
52
+ if (options.useFactory) {
53
+ return {
54
+ provide: PRISMA_STORAGE_OPTIONS,
55
+ useFactory: options.useFactory,
56
+ inject: options.inject ?? [],
57
+ };
58
+ }
59
+ const factoryToken = options.useExisting ?? options.useClass;
60
+ if (!factoryToken) {
61
+ throw new Error('Invalid PrismaStorageModuleAsyncOptions: must provide useFactory, useExisting, or useClass');
62
+ }
63
+ return {
64
+ provide: PRISMA_STORAGE_OPTIONS,
65
+ useFactory: (factory) => factory.createPrismaStorageOptions(),
66
+ inject: [factoryToken],
67
+ };
68
+ }
69
+ //# sourceMappingURL=prisma-storage.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma-storage.module.js","sourceRoot":"","sources":["../../src/nest/prisma-storage.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAuD;AAQvD,iDAAuE;AAEvE,sEAAiE;AACjE,wEAAmE;AAGnE,MAAM,sBAAsB,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AA6B7D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,MAAM,CAAC,OAAO,CAAC,OAAmC;QAChD,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE;YAC9D,OAAO,EAAE,sBAAsB;YAC/B,QAAQ,EAAE,OAAO,CAAC,cAAc;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAwC;QAC1D,OAAO,YAAY,CACjB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,OAAO,IAAI,EAAE,EACrB,0BAA0B,CAAC,OAAO,CAAC,EACnC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACnE,CAAC;IACJ,CAAC;CACF,CAAA;AAhBY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,mBAAmB,CAgB/B;AAED,SAAS,YAAY,CACnB,WAA2B,EAC3B,OAA+C,EAC/C,eAAyB,EACzB,iBAA6B,EAAE;IAE/B,OAAO;QACL,MAAM,EAAE,mBAAmB;QAC3B,OAAO;QACP,SAAS,EAAE;YACT,GAAG,cAAc;YACjB,eAAe;YACf;gBACE,OAAO,EAAE,0BAAe;gBACxB,UAAU,EAAE,CAAC,MAAuB,EAAE,OAA6B,EAAE,EAAE,CACrE,IAAI,6CAAoB,CAAC,MAAM,EAAE,OAAO,CAAC;gBAC3C,MAAM,EAAE,CAAC,WAAW,EAAE,sBAAsB,CAAC;aAC9C;YACD;gBACE,OAAO,EAAE,2BAAgB;gBACzB,UAAU,EAAE,CAAC,MAAuB,EAAE,OAA6B,EAAE,EAAE,CACrE,IAAI,+CAAqB,CAAC,MAAM,EAAE,OAAO,CAAC;gBAC5C,MAAM,EAAE,CAAC,WAAW,EAAE,sBAAsB,CAAC;aAC9C;SACF;QACD,OAAO,EAAE,CAAC,0BAAe,EAAE,2BAAgB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAwC;IAExC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,sBAAsB;YAC/B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EAAE,CAAC,OAAoC,EAAE,EAAE,CACnD,OAAO,CAAC,0BAA0B,EAAE;QACtC,MAAM,EAAE,CAAC,YAAY,CAAC;KACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { PUBLISH_STORAGE, RECEIVED_STORAGE } from '@mikara89/cap-core';
2
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/nest/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RECEIVED_STORAGE = exports.PUBLISH_STORAGE = void 0;
4
+ var cap_core_1 = require("@mikara89/cap-core");
5
+ Object.defineProperty(exports, "PUBLISH_STORAGE", { enumerable: true, get: function () { return cap_core_1.PUBLISH_STORAGE; } });
6
+ Object.defineProperty(exports, "RECEIVED_STORAGE", { enumerable: true, get: function () { return cap_core_1.RECEIVED_STORAGE; } });
7
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/nest/tokens.ts"],"names":[],"mappings":";;;AAAA,+CAAuE;AAA9D,2GAAA,eAAe,OAAA;AAAE,4GAAA,gBAAgB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikara89/cap-storage-prisma",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Prisma storage adapter for CAP",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -32,13 +32,16 @@
32
32
  "test": "npm run generate:test-clients && jest",
33
33
  "lint": "eslint \"src/**/*.ts\" --fix"
34
34
  },
35
+ "dependencies": {
36
+ "@mikara89/cap-core": "^2.2.0"
37
+ },
35
38
  "peerDependencies": {
36
- "@mikara89/cap-core": "^2.2.0",
37
- "@prisma/client": "^6.0.0"
39
+ "@nestjs/common": "^11.0.0",
40
+ "@nestjs/core": "^11.0.0",
41
+ "@prisma/client": "^6.0.0",
42
+ "reflect-metadata": "^0.2.0"
38
43
  },
39
44
  "devDependencies": {
40
- "@mikara89/cap-core": "file:../cap-core",
41
- "@mikara89/cap-testing": "file:../cap-testing",
42
45
  "@prisma/client": "^6.0.0",
43
46
  "@types/node": "^22.0.0",
44
47
  "prisma": "^6.0.0",
@@ -50,6 +53,25 @@
50
53
  "require": "./dist/index.js",
51
54
  "default": "./dist/index.js"
52
55
  },
56
+ "./nest": {
57
+ "types": "./dist/nest/index.d.ts",
58
+ "require": "./dist/nest/index.js",
59
+ "default": "./dist/nest/index.js"
60
+ },
61
+ "./nest/*": {
62
+ "types": "./dist/nest/*.d.ts",
63
+ "require": "./dist/nest/*.js",
64
+ "default": "./dist/nest/*.js"
65
+ },
53
66
  "./package.json": "./package.json"
54
- }
67
+ },
68
+ "peerDependenciesMeta": {
69
+ "@nestjs/common": {
70
+ "optional": true
71
+ },
72
+ "@nestjs/core": {
73
+ "optional": true
74
+ }
75
+ },
76
+ "gitHead": "603680434b5fd3bec561f400b825ad21a87b1f21"
55
77
  }