@prisma-next/sqlite 0.12.0-dev.5 → 0.12.0-dev.51
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/dist/config.d.mts.map +1 -1
- package/dist/config.mjs +4 -2
- package/dist/config.mjs.map +1 -1
- package/dist/contract-builder.d.mts +8 -7
- package/dist/contract-builder.d.mts.map +1 -1
- package/dist/contract-builder.mjs +9 -12
- package/dist/contract-builder.mjs.map +1 -1
- package/package.json +20 -20
- package/src/config/define-config.ts +4 -2
- package/src/contract/define-contract.ts +15 -24
package/dist/config.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.mts","names":[],"sources":["../src/config/define-config.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"config.d.mts","names":[],"sources":["../src/config/define-config.ts"],"mappings":";;;;UAaiB,mBAAA;EAAA,SACN,QAAA;EAAA,SACA,UAAA;EAAA,SACA,EAAA;IAAA,SACE,UAAA;EAAA;EAAA,SAEF,UAAA,YAAsB,0BAA0B;EAAA,SAChD,UAAA;IAAA,SACE,GAAA;EAAA;AAAA;AAAA,iBAYG,YAAA,CAAa,OAAA,EAAS,mBAAA,GAAsB,gBAAgB"}
|
package/dist/config.mjs
CHANGED
|
@@ -4,7 +4,8 @@ import sqliteDriver from "@prisma-next/driver-sqlite/control";
|
|
|
4
4
|
import sql from "@prisma-next/family-sql/control";
|
|
5
5
|
import { prismaContract } from "@prisma-next/sql-contract-psl/provider";
|
|
6
6
|
import { typescriptContractFromPath } from "@prisma-next/sql-contract-ts/config-types";
|
|
7
|
-
import sqlite from "@prisma-next/target-sqlite/control";
|
|
7
|
+
import sqlite, { sqliteCreateNamespace } from "@prisma-next/target-sqlite/control";
|
|
8
|
+
import sqlitePackRef from "@prisma-next/target-sqlite/pack";
|
|
8
9
|
import { ifDefined } from "@prisma-next/utils/defined";
|
|
9
10
|
import { extname, join } from "pathe";
|
|
10
11
|
//#region src/config/define-config.ts
|
|
@@ -24,7 +25,8 @@ function defineConfig(options) {
|
|
|
24
25
|
extensionPacks: extensions,
|
|
25
26
|
contract: extname(options.contract) === ".ts" ? typescriptContractFromPath(options.contract, output) : prismaContract(options.contract, {
|
|
26
27
|
output,
|
|
27
|
-
target:
|
|
28
|
+
target: sqlitePackRef,
|
|
29
|
+
createNamespace: sqliteCreateNamespace
|
|
28
30
|
}),
|
|
29
31
|
...ifDefined("db", options.db),
|
|
30
32
|
...ifDefined("migrations", options.migrations)
|
package/dist/config.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","names":["coreDefineConfig"],"sources":["../src/config/define-config.ts"],"sourcesContent":["import sqliteAdapter from '@prisma-next/adapter-sqlite/control';\nimport type { PrismaNextConfig } from '@prisma-next/config/config-types';\nimport { defineConfig as coreDefineConfig } from '@prisma-next/config/config-types';\nimport sqliteDriver from '@prisma-next/driver-sqlite/control';\nimport sql from '@prisma-next/family-sql/control';\nimport type { ControlExtensionDescriptor } from '@prisma-next/framework-components/control';\nimport { prismaContract } from '@prisma-next/sql-contract-psl/provider';\nimport { typescriptContractFromPath } from '@prisma-next/sql-contract-ts/config-types';\nimport sqlite from '@prisma-next/target-sqlite/control';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport { extname, join } from 'pathe';\n\nexport interface SqliteConfigOptions {\n readonly contract: string;\n readonly outputPath?: string;\n readonly db?: {\n readonly connection?: string;\n };\n readonly extensions?: readonly ControlExtensionDescriptor<'sql', 'sqlite'>[];\n readonly migrations?: {\n readonly dir?: string;\n };\n}\n\nfunction deriveOutputPath(contractPath: string): string {\n const ext = extname(contractPath);\n if (ext.length === 0) {\n return `${contractPath}.json`;\n }\n return `${contractPath.slice(0, -ext.length)}.json`;\n}\n\nexport function defineConfig(options: SqliteConfigOptions): PrismaNextConfig<'sql', 'sqlite'> {\n const extensions = options.extensions ?? [];\n const output =\n options.outputPath !== undefined\n ? join(options.outputPath, 'contract.json')\n : deriveOutputPath(options.contract);\n const ext = extname(options.contract);\n\n const contractConfig =\n ext === '.ts'\n ? typescriptContractFromPath(options.contract, output)\n : prismaContract(options.contract, {\n output,\n target:
|
|
1
|
+
{"version":3,"file":"config.mjs","names":["coreDefineConfig"],"sources":["../src/config/define-config.ts"],"sourcesContent":["import sqliteAdapter from '@prisma-next/adapter-sqlite/control';\nimport type { PrismaNextConfig } from '@prisma-next/config/config-types';\nimport { defineConfig as coreDefineConfig } from '@prisma-next/config/config-types';\nimport sqliteDriver from '@prisma-next/driver-sqlite/control';\nimport sql from '@prisma-next/family-sql/control';\nimport type { ControlExtensionDescriptor } from '@prisma-next/framework-components/control';\nimport { prismaContract } from '@prisma-next/sql-contract-psl/provider';\nimport { typescriptContractFromPath } from '@prisma-next/sql-contract-ts/config-types';\nimport sqlite, { sqliteCreateNamespace } from '@prisma-next/target-sqlite/control';\nimport sqlitePackRef from '@prisma-next/target-sqlite/pack';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport { extname, join } from 'pathe';\n\nexport interface SqliteConfigOptions {\n readonly contract: string;\n readonly outputPath?: string;\n readonly db?: {\n readonly connection?: string;\n };\n readonly extensions?: readonly ControlExtensionDescriptor<'sql', 'sqlite'>[];\n readonly migrations?: {\n readonly dir?: string;\n };\n}\n\nfunction deriveOutputPath(contractPath: string): string {\n const ext = extname(contractPath);\n if (ext.length === 0) {\n return `${contractPath}.json`;\n }\n return `${contractPath.slice(0, -ext.length)}.json`;\n}\n\nexport function defineConfig(options: SqliteConfigOptions): PrismaNextConfig<'sql', 'sqlite'> {\n const extensions = options.extensions ?? [];\n const output =\n options.outputPath !== undefined\n ? join(options.outputPath, 'contract.json')\n : deriveOutputPath(options.contract);\n const ext = extname(options.contract);\n\n const contractConfig =\n ext === '.ts'\n ? typescriptContractFromPath(options.contract, output)\n : prismaContract(options.contract, {\n output,\n target: sqlitePackRef,\n createNamespace: sqliteCreateNamespace,\n });\n\n return coreDefineConfig({\n family: sql,\n target: sqlite,\n adapter: sqliteAdapter,\n driver: sqliteDriver,\n extensionPacks: extensions,\n contract: contractConfig,\n ...ifDefined('db', options.db),\n ...ifDefined('migrations', options.migrations),\n });\n}\n"],"mappings":";;;;;;;;;;;AAyBA,SAAS,iBAAiB,cAA8B;CACtD,MAAM,MAAM,QAAQ,YAAY;CAChC,IAAI,IAAI,WAAW,GACjB,OAAO,GAAG,aAAa;CAEzB,OAAO,GAAG,aAAa,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;AAC/C;AAEA,SAAgB,aAAa,SAAiE;CAC5F,MAAM,aAAa,QAAQ,cAAc,CAAC;CAC1C,MAAM,SACJ,QAAQ,eAAe,KAAA,IACnB,KAAK,QAAQ,YAAY,eAAe,IACxC,iBAAiB,QAAQ,QAAQ;CAYvC,OAAOA,eAAiB;EACtB,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,gBAAgB;EAChB,UAjBU,QAAQ,QAAQ,QAGxB,MAAM,QACJ,2BAA2B,QAAQ,UAAU,MAAM,IACnD,eAAe,QAAQ,UAAU;GAC/B;GACA,QAAQ;GACR,iBAAiB;EACnB,CAAC;EASL,GAAG,UAAU,MAAM,QAAQ,EAAE;EAC7B,GAAG,UAAU,cAAc,QAAQ,UAAU;CAC/C,CAAC;AACH"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import sqlitePackRef from "@prisma-next/target-sqlite/pack";
|
|
2
|
+
import { ComposedAuthoringHelpers, ComposedAuthoringHelpers as ComposedAuthoringHelpers$1, ContractDefinition, ContractInput, ContractInput as ContractInput$1, ContractModelBuilder, FieldNode, ForeignKeyNode, IndexNode, ModelLike, ModelLike as ModelLike$1, ModelNode, PrimaryKeyNode, RelationNode, ScalarFieldBuilder, UniqueConstraintNode, buildBoundContract, field, model, rel } from "@prisma-next/sql-contract-ts/contract-builder";
|
|
2
3
|
import sqlFamilyPack from "@prisma-next/family-sql/pack";
|
|
3
|
-
import sqlitePack from "@prisma-next/target-sqlite/pack";
|
|
4
4
|
import { ExtensionPackRef } from "@prisma-next/framework-components/components";
|
|
5
5
|
import { StorageTypeInstance } from "@prisma-next/sql-contract/types";
|
|
6
6
|
|
|
7
7
|
//#region src/contract/define-contract.d.ts
|
|
8
8
|
type SqlFamily = typeof sqlFamilyPack;
|
|
9
|
-
type SqlitePack = typeof
|
|
9
|
+
type SqlitePack = typeof sqlitePackRef;
|
|
10
10
|
type TypesConstraint = Record<string, StorageTypeInstance>;
|
|
11
11
|
type ModelsConstraint = Record<string, ModelLike$1>;
|
|
12
|
-
type SqliteResult<Types extends TypesConstraint, Models extends ModelsConstraint, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> =
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
15
|
-
|
|
12
|
+
type SqliteResult<Types extends TypesConstraint, Models extends ModelsConstraint, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = ReturnType<typeof buildBoundContract<SqlFamily, SqlitePack, {
|
|
13
|
+
readonly types?: Types;
|
|
14
|
+
readonly models?: Models;
|
|
15
|
+
readonly extensionPacks?: ExtensionPacks;
|
|
16
|
+
}>>;
|
|
16
17
|
type SqliteBaseScaffold<ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = Omit<ContractInput$1<SqlFamily, SqlitePack, Record<never, never>, Record<never, never>, ExtensionPacks>, 'family' | 'target' | 'types' | 'models'>;
|
|
17
18
|
type SqliteDefinition<Types extends TypesConstraint, Models extends ModelsConstraint, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = SqliteBaseScaffold<ExtensionPacks> & {
|
|
18
19
|
readonly types?: Types;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-builder.d.mts","names":[],"sources":["../src/contract/define-contract.ts"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"contract-builder.d.mts","names":[],"sources":["../src/contract/define-contract.ts"],"mappings":";;;;;;;KAYK,SAAA,UAAmB,aAAa;AAAA,KAChC,UAAA,UAAoB,aAAU;AAAA,KAE9B,eAAA,GAAkB,MAAM,SAAS,mBAAA;AAAA,KACjC,gBAAA,GAAmB,MAAM,SAAS,WAAA;AAAA,KAElC,YAAA,eACW,eAAA,iBACC,gBAAA,yBACQ,MAAA,SAAe,gBAAA,gCACpC,UAAA,QACK,kBAAA,CACL,SAAA,EACA,UAAA;EAAA,SACW,KAAA,GAAQ,KAAA;EAAA,SAAgB,MAAA,GAAS,MAAA;EAAA,SAAiB,cAAA,GAAiB,cAAA;AAAA;AAAA,KAI7E,kBAAA,wBACoB,MAAA,SAAe,gBAAA,gCACpC,IAAA,CACF,eAAA,CAAc,SAAA,EAAW,UAAA,EAAY,MAAA,gBAAsB,MAAA,gBAAsB,cAAA;AAAA,KAI9E,gBAAA,eACW,eAAA,iBACC,gBAAA,yBACQ,MAAA,SAAe,gBAAA,gCACpC,kBAAA,CAAmB,cAAA;EAAA,SACZ,KAAA,GAAQ,KAAA;EAAA,SACR,MAAA,GAAS,MAAA;AAAA;AAAA,KAGf,cAAA,wBACoB,MAAA,SAAe,gBAAA,gCACpC,kBAAA,CAAmB,cAAA;AAAA,iBAEP,cAAA,qBACM,eAAA,GAAkB,MAAA,qCACjB,gBAAA,GAAmB,MAAA,6CAEpC,MAAA,SAAe,gBAAA,yCAAA,CAGnB,UAAA,EAAY,gBAAA,CAAiB,KAAA,EAAO,MAAA,EAAQ,cAAA,IAC3C,YAAA,CAAa,KAAA,EAAO,MAAA,EAAQ,cAAA;AAAA,iBAEf,cAAA,qBACM,eAAA,GAAkB,MAAA,qCACjB,gBAAA,GAAmB,MAAA,6CAEpC,MAAA,SAAe,gBAAA,yCAAA,CAGnB,QAAA,EAAU,cAAA,CAAe,cAAA,GACzB,OAAA,GAAU,OAAA,EAAS,0BAAA,CAAyB,SAAA,EAAW,UAAA,EAAY,cAAA;EAAA,SACxD,KAAA,GAAQ,KAAA;EAAA,SACR,MAAA,GAAS,MAAA;AAAA,IAEnB,YAAA,CAAa,KAAA,EAAO,MAAA,EAAQ,cAAA"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { sqliteCreateNamespace } from "@prisma-next/target-sqlite/control";
|
|
2
|
+
import sqlitePackRef from "@prisma-next/target-sqlite/pack";
|
|
3
|
+
import { buildBoundContract, field, model, rel } from "@prisma-next/sql-contract-ts/contract-builder";
|
|
2
4
|
import sqlFamilyPack from "@prisma-next/family-sql/pack";
|
|
3
|
-
import sqlitePack from "@prisma-next/target-sqlite/pack";
|
|
4
5
|
//#region src/contract/define-contract.ts
|
|
5
|
-
function defineContract(
|
|
6
|
-
const
|
|
7
|
-
...
|
|
8
|
-
|
|
9
|
-
target: sqlitePack
|
|
6
|
+
function defineContract(definition, factory) {
|
|
7
|
+
const bound = {
|
|
8
|
+
...definition,
|
|
9
|
+
createNamespace: sqliteCreateNamespace
|
|
10
10
|
};
|
|
11
|
-
if (factory !== void 0)
|
|
12
|
-
|
|
13
|
-
return defineContract$1(scaffoldOnly, factory);
|
|
14
|
-
}
|
|
15
|
-
return defineContract$1(full);
|
|
11
|
+
if (factory !== void 0) return buildBoundContract(sqlFamilyPack, sqlitePackRef, bound, factory);
|
|
12
|
+
return buildBoundContract(sqlFamilyPack, sqlitePackRef, bound);
|
|
16
13
|
}
|
|
17
14
|
//#endregion
|
|
18
15
|
export { defineContract, field, model, rel };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-builder.mjs","names":["
|
|
1
|
+
{"version":3,"file":"contract-builder.mjs","names":["sqlitePack"],"sources":["../src/contract/define-contract.ts"],"sourcesContent":["import sqlFamilyPack from '@prisma-next/family-sql/pack';\nimport type { ExtensionPackRef } from '@prisma-next/framework-components/components';\nimport type { StorageTypeInstance } from '@prisma-next/sql-contract/types';\nimport type {\n ComposedAuthoringHelpers,\n ContractInput,\n ModelLike,\n} from '@prisma-next/sql-contract-ts/contract-builder';\nimport { buildBoundContract } from '@prisma-next/sql-contract-ts/contract-builder';\nimport { sqliteCreateNamespace } from '@prisma-next/target-sqlite/control';\nimport sqlitePack from '@prisma-next/target-sqlite/pack';\n\ntype SqlFamily = typeof sqlFamilyPack;\ntype SqlitePack = typeof sqlitePack;\n\ntype TypesConstraint = Record<string, StorageTypeInstance>;\ntype ModelsConstraint = Record<string, ModelLike>;\n\ntype SqliteResult<\n Types extends TypesConstraint,\n Models extends ModelsConstraint,\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = ReturnType<\n typeof buildBoundContract<\n SqlFamily,\n SqlitePack,\n { readonly types?: Types; readonly models?: Models; readonly extensionPacks?: ExtensionPacks }\n >\n>;\n\ntype SqliteBaseScaffold<\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = Omit<\n ContractInput<SqlFamily, SqlitePack, Record<never, never>, Record<never, never>, ExtensionPacks>,\n 'family' | 'target' | 'types' | 'models'\n>;\n\ntype SqliteDefinition<\n Types extends TypesConstraint,\n Models extends ModelsConstraint,\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = SqliteBaseScaffold<ExtensionPacks> & {\n readonly types?: Types;\n readonly models?: Models;\n};\n\ntype SqliteScaffold<\n ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,\n> = SqliteBaseScaffold<ExtensionPacks>;\n\nexport function defineContract<\n const Types extends TypesConstraint = Record<never, never>,\n const Models extends ModelsConstraint = Record<never, never>,\n const ExtensionPacks extends\n | Record<string, ExtensionPackRef<'sql', string>>\n | undefined = undefined,\n>(\n definition: SqliteDefinition<Types, Models, ExtensionPacks>,\n): SqliteResult<Types, Models, ExtensionPacks>;\n\nexport function defineContract<\n const Types extends TypesConstraint = Record<never, never>,\n const Models extends ModelsConstraint = Record<never, never>,\n const ExtensionPacks extends\n | Record<string, ExtensionPackRef<'sql', string>>\n | undefined = undefined,\n>(\n scaffold: SqliteScaffold<ExtensionPacks>,\n factory: (helpers: ComposedAuthoringHelpers<SqlFamily, SqlitePack, ExtensionPacks>) => {\n readonly types?: Types;\n readonly models?: Models;\n },\n): SqliteResult<Types, Models, ExtensionPacks>;\n\n// Implementation — delegates to buildBoundContract which pre-binds family/target,\n// carrying zero casts at this layer.\nexport function defineContract(\n definition: SqliteDefinition<TypesConstraint, ModelsConstraint, undefined>,\n factory?: (helpers: ComposedAuthoringHelpers<SqlFamily, SqlitePack, undefined>) => {\n readonly types?: TypesConstraint;\n readonly models?: ModelsConstraint;\n },\n): SqliteResult<TypesConstraint, ModelsConstraint, undefined> {\n const bound = { ...definition, createNamespace: sqliteCreateNamespace };\n if (factory !== undefined) {\n return buildBoundContract(sqlFamilyPack, sqlitePack, bound, factory);\n }\n return buildBoundContract(sqlFamilyPack, sqlitePack, bound);\n}\n"],"mappings":";;;;;AA4EA,SAAgB,eACd,YACA,SAI4D;CAC5D,MAAM,QAAQ;EAAE,GAAG;EAAY,iBAAiB;CAAsB;CACtE,IAAI,YAAY,KAAA,GACd,OAAO,mBAAmB,eAAeA,eAAY,OAAO,OAAO;CAErE,OAAO,mBAAmB,eAAeA,eAAY,KAAK;AAC5D"}
|
package/package.json
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma-next/sqlite",
|
|
3
|
-
"version": "0.12.0-dev.
|
|
3
|
+
"version": "0.12.0-dev.51",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"description": "One-liner lazy SQLite client composition for Prisma Next",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@prisma-next/adapter-sqlite": "0.12.0-dev.
|
|
10
|
-
"@prisma-next/cli": "0.12.0-dev.
|
|
11
|
-
"@prisma-next/config": "0.12.0-dev.
|
|
12
|
-
"@prisma-next/contract": "0.12.0-dev.
|
|
13
|
-
"@prisma-next/driver-sqlite": "0.12.0-dev.
|
|
14
|
-
"@prisma-next/family-sql": "0.12.0-dev.
|
|
15
|
-
"@prisma-next/framework-components": "0.12.0-dev.
|
|
16
|
-
"@prisma-next/sql-builder": "0.12.0-dev.
|
|
17
|
-
"@prisma-next/sql-contract": "0.12.0-dev.
|
|
18
|
-
"@prisma-next/sql-contract-psl": "0.12.0-dev.
|
|
19
|
-
"@prisma-next/sql-contract-ts": "0.12.0-dev.
|
|
20
|
-
"@prisma-next/sql-orm-client": "0.12.0-dev.
|
|
21
|
-
"@prisma-next/sql-relational-core": "0.12.0-dev.
|
|
22
|
-
"@prisma-next/sql-runtime": "0.12.0-dev.
|
|
23
|
-
"@prisma-next/target-sqlite": "0.12.0-dev.
|
|
24
|
-
"@prisma-next/utils": "0.12.0-dev.
|
|
9
|
+
"@prisma-next/adapter-sqlite": "0.12.0-dev.51",
|
|
10
|
+
"@prisma-next/cli": "0.12.0-dev.51",
|
|
11
|
+
"@prisma-next/config": "0.12.0-dev.51",
|
|
12
|
+
"@prisma-next/contract": "0.12.0-dev.51",
|
|
13
|
+
"@prisma-next/driver-sqlite": "0.12.0-dev.51",
|
|
14
|
+
"@prisma-next/family-sql": "0.12.0-dev.51",
|
|
15
|
+
"@prisma-next/framework-components": "0.12.0-dev.51",
|
|
16
|
+
"@prisma-next/sql-builder": "0.12.0-dev.51",
|
|
17
|
+
"@prisma-next/sql-contract": "0.12.0-dev.51",
|
|
18
|
+
"@prisma-next/sql-contract-psl": "0.12.0-dev.51",
|
|
19
|
+
"@prisma-next/sql-contract-ts": "0.12.0-dev.51",
|
|
20
|
+
"@prisma-next/sql-orm-client": "0.12.0-dev.51",
|
|
21
|
+
"@prisma-next/sql-relational-core": "0.12.0-dev.51",
|
|
22
|
+
"@prisma-next/sql-runtime": "0.12.0-dev.51",
|
|
23
|
+
"@prisma-next/target-sqlite": "0.12.0-dev.51",
|
|
24
|
+
"@prisma-next/utils": "0.12.0-dev.51",
|
|
25
25
|
"pathe": "^2.0.3"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@prisma-next/test-utils": "0.12.0-dev.
|
|
29
|
-
"@prisma-next/tsconfig": "0.12.0-dev.
|
|
30
|
-
"@prisma-next/tsdown": "0.12.0-dev.
|
|
28
|
+
"@prisma-next/test-utils": "0.12.0-dev.51",
|
|
29
|
+
"@prisma-next/tsconfig": "0.12.0-dev.51",
|
|
30
|
+
"@prisma-next/tsdown": "0.12.0-dev.51",
|
|
31
31
|
"tsdown": "0.22.0",
|
|
32
32
|
"typescript": "5.9.3",
|
|
33
33
|
"vitest": "4.1.6"
|
|
@@ -6,7 +6,8 @@ import sql from '@prisma-next/family-sql/control';
|
|
|
6
6
|
import type { ControlExtensionDescriptor } from '@prisma-next/framework-components/control';
|
|
7
7
|
import { prismaContract } from '@prisma-next/sql-contract-psl/provider';
|
|
8
8
|
import { typescriptContractFromPath } from '@prisma-next/sql-contract-ts/config-types';
|
|
9
|
-
import sqlite from '@prisma-next/target-sqlite/control';
|
|
9
|
+
import sqlite, { sqliteCreateNamespace } from '@prisma-next/target-sqlite/control';
|
|
10
|
+
import sqlitePackRef from '@prisma-next/target-sqlite/pack';
|
|
10
11
|
import { ifDefined } from '@prisma-next/utils/defined';
|
|
11
12
|
import { extname, join } from 'pathe';
|
|
12
13
|
|
|
@@ -43,7 +44,8 @@ export function defineConfig(options: SqliteConfigOptions): PrismaNextConfig<'sq
|
|
|
43
44
|
? typescriptContractFromPath(options.contract, output)
|
|
44
45
|
: prismaContract(options.contract, {
|
|
45
46
|
output,
|
|
46
|
-
target:
|
|
47
|
+
target: sqlitePackRef,
|
|
48
|
+
createNamespace: sqliteCreateNamespace,
|
|
47
49
|
});
|
|
48
50
|
|
|
49
51
|
return coreDefineConfig({
|
|
@@ -6,7 +6,8 @@ import type {
|
|
|
6
6
|
ContractInput,
|
|
7
7
|
ModelLike,
|
|
8
8
|
} from '@prisma-next/sql-contract-ts/contract-builder';
|
|
9
|
-
import {
|
|
9
|
+
import { buildBoundContract } from '@prisma-next/sql-contract-ts/contract-builder';
|
|
10
|
+
import { sqliteCreateNamespace } from '@prisma-next/target-sqlite/control';
|
|
10
11
|
import sqlitePack from '@prisma-next/target-sqlite/pack';
|
|
11
12
|
|
|
12
13
|
type SqlFamily = typeof sqlFamilyPack;
|
|
@@ -19,13 +20,13 @@ type SqliteResult<
|
|
|
19
20
|
Types extends TypesConstraint,
|
|
20
21
|
Models extends ModelsConstraint,
|
|
21
22
|
ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,
|
|
22
|
-
> =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
> = ReturnType<
|
|
24
|
+
typeof buildBoundContract<
|
|
25
|
+
SqlFamily,
|
|
26
|
+
SqlitePack,
|
|
27
|
+
{ readonly types?: Types; readonly models?: Models; readonly extensionPacks?: ExtensionPacks }
|
|
28
|
+
>
|
|
29
|
+
>;
|
|
29
30
|
|
|
30
31
|
type SqliteBaseScaffold<
|
|
31
32
|
ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined,
|
|
@@ -71,28 +72,18 @@ export function defineContract<
|
|
|
71
72
|
},
|
|
72
73
|
): SqliteResult<Types, Models, ExtensionPacks>;
|
|
73
74
|
|
|
75
|
+
// Implementation — delegates to buildBoundContract which pre-binds family/target,
|
|
76
|
+
// carrying zero casts at this layer.
|
|
74
77
|
export function defineContract(
|
|
75
|
-
|
|
78
|
+
definition: SqliteDefinition<TypesConstraint, ModelsConstraint, undefined>,
|
|
76
79
|
factory?: (helpers: ComposedAuthoringHelpers<SqlFamily, SqlitePack, undefined>) => {
|
|
77
80
|
readonly types?: TypesConstraint;
|
|
78
81
|
readonly models?: ModelsConstraint;
|
|
79
82
|
},
|
|
80
83
|
): SqliteResult<TypesConstraint, ModelsConstraint, undefined> {
|
|
81
|
-
const
|
|
82
|
-
...scaffold,
|
|
83
|
-
family: sqlFamilyPack,
|
|
84
|
-
target: sqlitePack,
|
|
85
|
-
} as ContractInput;
|
|
84
|
+
const bound = { ...definition, createNamespace: sqliteCreateNamespace };
|
|
86
85
|
if (factory !== undefined) {
|
|
87
|
-
|
|
88
|
-
return baseDefineContract(
|
|
89
|
-
scaffoldOnly,
|
|
90
|
-
factory as Parameters<typeof baseDefineContract>[1],
|
|
91
|
-
) as unknown as SqliteResult<TypesConstraint, ModelsConstraint, undefined>;
|
|
86
|
+
return buildBoundContract(sqlFamilyPack, sqlitePack, bound, factory);
|
|
92
87
|
}
|
|
93
|
-
return
|
|
94
|
-
TypesConstraint,
|
|
95
|
-
ModelsConstraint,
|
|
96
|
-
undefined
|
|
97
|
-
>;
|
|
88
|
+
return buildBoundContract(sqlFamilyPack, sqlitePack, bound);
|
|
98
89
|
}
|