@prisma/orm-toolchain 8.0.0-rc.1-dev.36 → 8.0.0-rc.1-dev.37
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/bin__prisma-next.mjs +4 -4
- package/dist/bin__prisma-next.mjs.map +1 -1
- package/dist/{cli-errors-f5PRtVdm-C6xVKeQn.d.mts → cli-errors-WMw54cyq-DC2OYnd7.d.mts} +5 -3
- package/dist/{cli-errors-f5PRtVdm-C6xVKeQn.d.mts.map → cli-errors-WMw54cyq-DC2OYnd7.d.mts.map} +1 -1
- package/dist/cli.mjs +271 -16
- package/dist/cli.mjs.map +1 -1
- package/dist/cli__commands__contract-emit.mjs +1 -1
- package/dist/cli__commands__migrate.d.mts +2 -2
- package/dist/cli__commands__migration-graph.d.mts +1 -1
- package/dist/cli__commands__migration-list.d.mts +1 -1
- package/dist/cli__commands__migration-log.d.mts +1 -1
- package/dist/cli__commands__migration-plan.d.mts +1 -1
- package/dist/cli__commands__migration-status.d.mts +1 -1
- package/dist/cli__control-api.d.mts +3 -3
- package/dist/cli__control-api.mjs +1 -1
- package/dist/cli__control-api__testing.d.mts +1 -1
- package/dist/contract-emit-BHZYuA91-wlnU7OrE.mjs +2 -0
- package/dist/{contract-emit-BlvUNMHM-BEioUVR5.mjs → contract-emit-Cpj5Qz7z-BXt3HGPC.mjs} +3 -3
- package/dist/{contract-emit-BlvUNMHM-BEioUVR5.mjs.map → contract-emit-Cpj5Qz7z-BXt3HGPC.mjs.map} +1 -1
- package/dist/{contract-emit-CrYO0A8x-60BOqXFr.mjs → contract-emit-Dp1pe06_-Cdpvh5DH.mjs} +3 -3
- package/dist/{contract-emit-CrYO0A8x-60BOqXFr.mjs.map → contract-emit-Dp1pe06_-Cdpvh5DH.mjs.map} +1 -1
- package/dist/{init-SY01IBU--CQFYh2As.mjs → init-DMiJjbrC-C7-PvDyK.mjs} +3 -3
- package/dist/{init-SY01IBU--CQFYh2As.mjs.map → init-DMiJjbrC-C7-PvDyK.mjs.map} +1 -1
- package/dist/{migrate-show-DutwCc2F-BhGfH7D-.d.mts → migrate-show-DRfCIamX-BK6CN3RI.d.mts} +3 -3
- package/dist/{migrate-show-DutwCc2F-BhGfH7D-.d.mts.map → migrate-show-DRfCIamX-BK6CN3RI.d.mts.map} +1 -1
- package/dist/{migration-plan-4cnnP6yM-DXzRfi_A.d.mts → migration-plan-DPp3Orhx-6edvA2e2.d.mts} +3 -3
- package/dist/{migration-plan-4cnnP6yM-DXzRfi_A.d.mts.map → migration-plan-DPp3Orhx-6edvA2e2.d.mts.map} +1 -1
- package/dist/vite-plugin-contract-emit.mjs +1 -1
- package/package.json +12 -12
- package/dist/contract-emit-Csa6R0gt-DvxFlS0O.mjs +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createContractEmitCommand } from "./contract-emit-
|
|
1
|
+
import { t as createContractEmitCommand } from "./contract-emit-Cpj5Qz7z-BXt3HGPC.mjs";
|
|
2
2
|
export { createContractEmitCommand };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as MigratePathDecision, j as PerSpaceExecutionEntry } from "./cli-errors-
|
|
2
|
-
import { n as MigrateShowMigration } from "./migrate-show-
|
|
1
|
+
import { O as MigratePathDecision, j as PerSpaceExecutionEntry } from "./cli-errors-WMw54cyq-DC2OYnd7.mjs";
|
|
2
|
+
import { n as MigrateShowMigration } from "./migrate-show-DRfCIamX-BK6CN3RI.mjs";
|
|
3
3
|
import { Command } from "commander";
|
|
4
4
|
//#region ../../../1-framework/3-tooling/cli/dist/commands/migrate.d.mts
|
|
5
5
|
//#region src/commands/migrate.d.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as MigrationGraph } from "./graph-bDjJ4GL9-BhFevsJS.mjs";
|
|
2
|
-
import { t as CliStructuredError$2 } from "./cli-errors-
|
|
2
|
+
import { t as CliStructuredError$2 } from "./cli-errors-WMw54cyq-DC2OYnd7.mjs";
|
|
3
3
|
import { o as MigrationSpaceGraphEntry } from "./schemas-Bm2e3Hk1-qLKF0B36.mjs";
|
|
4
4
|
import { n as TerminalUI } from "./terminal-ui-BN4QOsm5-Bf3pim46.mjs";
|
|
5
5
|
import { n as GlobalFlags, t as CommonCommandOptions } from "./global-flags-BpoOYtNZ-CHZD3fud.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as MigrationGraph } from "./graph-bDjJ4GL9-BhFevsJS.mjs";
|
|
2
|
-
import { t as CliStructuredError$2 } from "./cli-errors-
|
|
2
|
+
import { t as CliStructuredError$2 } from "./cli-errors-WMw54cyq-DC2OYnd7.mjs";
|
|
3
3
|
import { c as ContractSpaceAggregate } from "./aggregate-CA6bJ8UO.mjs";
|
|
4
4
|
import { r as MigrationListResult } from "./schemas-Bm2e3Hk1-qLKF0B36.mjs";
|
|
5
5
|
import { n as TerminalUI, t as GlyphMode } from "./terminal-ui-BN4QOsm5-Bf3pim46.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as CliStructuredError$2 } from "./cli-errors-
|
|
1
|
+
import { t as CliStructuredError$2 } from "./cli-errors-WMw54cyq-DC2OYnd7.mjs";
|
|
2
2
|
import { i as MigrationLogResult } from "./schemas-Bm2e3Hk1-qLKF0B36.mjs";
|
|
3
3
|
import { n as TerminalUI } from "./terminal-ui-BN4QOsm5-Bf3pim46.mjs";
|
|
4
4
|
import { n as GlobalFlags, t as CommonCommandOptions } from "./global-flags-BpoOYtNZ-CHZD3fud.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as GlobalFlags } from "./global-flags-BpoOYtNZ-CHZD3fud.mjs";
|
|
2
|
-
import { i as MigrationPlanResult } from "./migration-plan-
|
|
2
|
+
import { i as MigrationPlanResult } from "./migration-plan-DPp3Orhx-6edvA2e2.mjs";
|
|
3
3
|
import { Result } from "@prisma/orm-framework/utils/result";
|
|
4
4
|
import { Command } from "commander";
|
|
5
5
|
//#region ../../../1-framework/3-tooling/cli/dist/commands/migration-plan.d.mts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as CliStructuredError$2 } from "./cli-errors-
|
|
1
|
+
import { t as CliStructuredError$2 } from "./cli-errors-WMw54cyq-DC2OYnd7.mjs";
|
|
2
2
|
import { c as MigrationStatusEntry, d as StatusDiagnosticJson, l as MigrationStatusResult, p as migrationStatusJsonResultSchema, u as MigrationStatusSpace } from "./schemas-Bm2e3Hk1-qLKF0B36.mjs";
|
|
3
3
|
import { n as TerminalUI } from "./terminal-ui-BN4QOsm5-Bf3pim46.mjs";
|
|
4
4
|
import { n as GlobalFlags, t as CommonCommandOptions } from "./global-flags-BpoOYtNZ-CHZD3fud.mjs";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { i as Refs, n as RefEntry } from "./refs-BNCUu58Y-BIso5Jfg.mjs";
|
|
2
2
|
import { n as MigrationGraph } from "./graph-bDjJ4GL9-BhFevsJS.mjs";
|
|
3
3
|
import { r as MigrationRef, t as ContractRef } from "./ref-resolution-COGOSL57.mjs";
|
|
4
|
-
import { A as OnControlProgress, C as EmitResult, D as IntrospectOptions, E as ExecuteDbVerifyResult, F as executeDbVerify, M as SchemaVerifyOptions, N as SignOptions, P as VerifyOptions, S as EmitOptions, T as ExecuteDbVerifyOptions, _ as DbUpdateResult, a as ControlClient, b as EmitFailure, d as DbInitOptions, f as DbInitResult, g as DbUpdateOptions, h as DbUpdateFailureCode, i as ControlActionName, l as DbInitFailure, m as DbUpdateFailure, n as ContractEmitOptions, o as ControlClientOptions, p as DbInitSuccess, r as ContractEmitResult, s as ControlProgressEvent, t as CliStructuredError$2, u as DbInitFailureCode, v as DbUpdateSuccess, w as EmitSuccess, x as EmitFailureCode, y as EmitContractConfig } from "./cli-errors-
|
|
4
|
+
import { A as OnControlProgress, C as EmitResult, D as IntrospectOptions, E as ExecuteDbVerifyResult, F as executeDbVerify, M as SchemaVerifyOptions, N as SignOptions, P as VerifyOptions, S as EmitOptions, T as ExecuteDbVerifyOptions, _ as DbUpdateResult, a as ControlClient, b as EmitFailure, d as DbInitOptions, f as DbInitResult, g as DbUpdateOptions, h as DbUpdateFailureCode, i as ControlActionName, l as DbInitFailure, m as DbUpdateFailure, n as ContractEmitOptions, o as ControlClientOptions, p as DbInitSuccess, r as ContractEmitResult, s as ControlProgressEvent, t as CliStructuredError$2, u as DbInitFailureCode, v as DbUpdateSuccess, w as EmitSuccess, x as EmitFailureCode, y as EmitContractConfig } from "./cli-errors-WMw54cyq-DC2OYnd7.mjs";
|
|
5
5
|
import { n as OnDiskMigrationPackage } from "./package-CfWiDNrr-ZR4HM_Iz.mjs";
|
|
6
6
|
import { c as ContractSpaceAggregate, d as IntegrityQueryOptions, p as IntegrityViolation, t as AggregateContractSpace } from "./aggregate-CA6bJ8UO.mjs";
|
|
7
|
-
import { i as executeMigrateShowPlan, n as MigrateShowMigration, r as MigrateShowPlanSuccess, t as ExecuteMigrateShowPlanOptions } from "./migrate-show-
|
|
7
|
+
import { i as executeMigrateShowPlan, n as MigrateShowMigration, r as MigrateShowPlanSuccess, t as ExecuteMigrateShowPlanOptions } from "./migrate-show-DRfCIamX-BK6CN3RI.mjs";
|
|
8
8
|
import { n as MigrationCheckResult, o as MigrationSpaceGraphEntry, r as MigrationListResult, s as MigrationSpaceListEntry } from "./schemas-Bm2e3Hk1-qLKF0B36.mjs";
|
|
9
9
|
import { t as CommonCommandOptions } from "./global-flags-BpoOYtNZ-CHZD3fud.mjs";
|
|
10
10
|
import "./package-N9PPdFV_.mjs";
|
|
11
|
-
import { a as executeMigrationPlanCommand, i as MigrationPlanResult, n as ContractSpaceSeedPhaseRecord, o as runContractSpaceSeedPhase, r as ContractSpaceSeedPhaseResult, t as ContractSpaceSeedPhaseInputs } from "./migration-plan-
|
|
11
|
+
import { a as executeMigrationPlanCommand, i as MigrationPlanResult, n as ContractSpaceSeedPhaseRecord, o as runContractSpaceSeedPhase, r as ContractSpaceSeedPhaseResult, t as ContractSpaceSeedPhaseInputs } from "./migration-plan-DPp3Orhx-6edvA2e2.mjs";
|
|
12
12
|
import { r as PrismaNextConfig$1 } from "./index-mCsi_ND5.mjs";
|
|
13
13
|
import { TargetBoundComponentDescriptor } from "@prisma/orm-framework/components/components";
|
|
14
14
|
import { ControlAdapterInstance, ControlDriverInstance, ControlExtensionDescriptor, ControlFamilyInstance, ControlStack, SignDatabaseResult, TargetMigrationsCapability, VerifyDatabaseResult, VerifyDatabaseSchemaResult } from "@prisma/orm-framework/components/control";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as enrichContract } from "./contract-enrichment-DrMvvY2A-DxNGeF4d.mjs";
|
|
2
|
-
import { n as executeContractEmit, t as disposeEmitQueue } from "./contract-emit-
|
|
2
|
+
import { n as executeContractEmit, t as disposeEmitQueue } from "./contract-emit-Dp1pe06_-Cdpvh5DH.mjs";
|
|
3
3
|
import { a as loadContractSpaceAggregateForCli, c as refuseDeclaredExtensionTargetMismatch, i as loadContractRawSafely, l as refusePackageCorruptionOnAggregate, n as buildContractSpaceAggregate, o as mapIntegrityViolations, r as buildReadAggregate, s as refuseContractSpaceIntegrity, t as appContractStandInFromIdentity } from "./contract-space-aggregate-loader-BpdB-mHG-BiU0IUeb.mjs";
|
|
4
4
|
import { i as executeDbVerify, n as executeDbInit, r as executeDbUpdate, t as createControlClient } from "./client-BqhVohc5-DFRVWFps.mjs";
|
|
5
5
|
import { a as readContractIR, i as executeRefAdvancement, n as buildRefAdvancementFields, o as resolveRefAdvancementFields, r as computeRefAdvancementName, t as advanceRefSafely } from "./ref-advancement-DaZBzm7m-WoqnFAyr.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as EmitResult, E as ExecuteDbVerifyResult, _ as DbUpdateResult, a as ControlClient, f as DbInitResult, k as MigrateResult } from "./cli-errors-
|
|
1
|
+
import { C as EmitResult, E as ExecuteDbVerifyResult, _ as DbUpdateResult, a as ControlClient, f as DbInitResult, k as MigrateResult } from "./cli-errors-WMw54cyq-DC2OYnd7.mjs";
|
|
2
2
|
import { CoreSchemaView, OperationPreview, SignDatabaseResult, VerifyDatabaseResult, VerifyDatabaseSchemaResult } from "@prisma/orm-framework/components/control";
|
|
3
3
|
import { ContractMarkerRecord, LedgerEntryRecord } from "@prisma/orm-framework/contract/types";
|
|
4
4
|
import { AuthoringPslBlockDescriptorNamespace } from "@prisma/orm-framework/components/authoring";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { o as loadConfigForSections } from "./exports-BZLNbtkY.mjs";
|
|
2
2
|
import { N as errorUnexpected, t as CliStructuredError$1 } from "./cli-errors-C6_pH59O-CzD4SYcJ.mjs";
|
|
3
3
|
import { r as getEmittedArtifactPaths } from "./exports-BCLg4CiV-05kuwcb0.mjs";
|
|
4
|
-
import { n as executeContractEmit } from "./contract-emit-
|
|
4
|
+
import { n as executeContractEmit } from "./contract-emit-Dp1pe06_-Cdpvh5DH.mjs";
|
|
5
5
|
import { p as isVerbose, r as createTerminalUI } from "./terminal-ui-Cqz4LVL7-B0mcVdLy.mjs";
|
|
6
6
|
import { b as setCommandExamples, c as formatSuccessMessage, m as parseGlobalFlagsOrExit, s as formatStyledHeader, t as addGlobalOptions, u as handleResult, y as setCommandDescriptions } from "./command-helpers-kD9CO1hd-BPhnkBin.mjs";
|
|
7
7
|
import { t as createProgressAdapter } from "./progress-adapter-CjAeTxY_-BXYSd1eY.mjs";
|
|
@@ -10,7 +10,7 @@ import { ifDefined } from "@prisma/orm-framework/utils/defined";
|
|
|
10
10
|
import { dirname, join, relative, resolve } from "pathe";
|
|
11
11
|
import { notOk, ok } from "@prisma/orm-framework/utils/result";
|
|
12
12
|
import { Command } from "commander";
|
|
13
|
-
//#region ../../../1-framework/3-tooling/cli/dist/contract-emit-
|
|
13
|
+
//#region ../../../1-framework/3-tooling/cli/dist/contract-emit-Cpj5Qz7z.mjs
|
|
14
14
|
/**
|
|
15
15
|
* Formats human-readable output for contract emit.
|
|
16
16
|
*/
|
|
@@ -151,4 +151,4 @@ function createContractEmitCommand() {
|
|
|
151
151
|
//#endregion
|
|
152
152
|
export { createContractEmitCommand as t };
|
|
153
153
|
|
|
154
|
-
//# sourceMappingURL=contract-emit-
|
|
154
|
+
//# sourceMappingURL=contract-emit-Cpj5Qz7z-BXt3HGPC.mjs.map
|
package/dist/{contract-emit-BlvUNMHM-BEioUVR5.mjs.map → contract-emit-Cpj5Qz7z-BXt3HGPC.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-emit-BlvUNMHM-BEioUVR5.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/contract-emit-BlvUNMHM.mjs"],"sourcesContent":["import { M as errorUnexpected, t as CliStructuredError$1 } from \"./cli-errors-C6_pH59O.mjs\";\nimport { t as executeContractEmit } from \"./contract-emit-CrYO0A8x.mjs\";\nimport { h as isVerbose, t as createTerminalUI } from \"./terminal-ui-Cqz4LVL7.mjs\";\nimport { C as formatSuccessMessage, S as formatStyledHeader, _ as parseGlobalFlagsOrExit, d as setCommandExamples, t as addGlobalOptions, u as setCommandDescriptions, v as handleResult } from \"./command-helpers-kD9CO1hd.mjs\";\nimport { t as createProgressAdapter } from \"./progress-adapter-CjAeTxY_.mjs\";\nimport { Command } from \"commander\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { getEmittedArtifactPaths } from \"@internal/emitter\";\nimport { errorContractConfigMissing } from \"@internal/errors/control\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { dirname, join, relative, resolve } from \"pathe\";\n//#region src/utils/formatters/emit.ts\n/**\n* Formats human-readable output for contract emit.\n*/\nfunction formatEmitOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst lines = [];\n\tconst jsonPath = relative(process.cwd(), result.files.json);\n\tconst dtsPath = relative(process.cwd(), result.files.dts);\n\tlines.push(`✔ Emitted contract.json → ${jsonPath}`);\n\tlines.push(`✔ Emitted contract.d.ts → ${dtsPath}`);\n\tlines.push(` storageHash: ${result.storageHash}`);\n\tif (result.executionHash) lines.push(` executionHash: ${result.executionHash}`);\n\tif (result.profileHash) lines.push(` profileHash: ${result.profileHash}`);\n\tif (isVerbose(flags, 1)) lines.push(` Total time: ${result.timings.total}ms`);\n\treturn lines.join(\"\\n\");\n}\n/**\n* Formats JSON output for contract emit.\n*/\nfunction formatEmitJson(result) {\n\tconst output = {\n\t\tok: true,\n\t\tstorageHash: result.storageHash,\n\t\t...ifDefined(\"executionHash\", result.executionHash),\n\t\t...result.profileHash ? { profileHash: result.profileHash } : {},\n\t\toutDir: result.outDir,\n\t\tfiles: result.files,\n\t\ttimings: result.timings\n\t};\n\treturn JSON.stringify(output, null, 2);\n}\n//#endregion\n//#region src/commands/contract-emit.ts\n/**\n* Loads the config once, for both the styled header's display paths and the\n* emit itself — `executeContractEmit` takes the loaded config rather than\n* reading it a second time.\n*/\nasync function resolveEmitContext(configOption, outputPath) {\n\tconst displayConfigPath = configOption ? relative(process.cwd(), resolve(configOption)) : \"prisma-next.config.ts\";\n\tconst configResult = await loadConfigForSections(configOption, [\n\t\t\"contract\",\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t\"extensions\"\n\t]);\n\tif (!configResult.ok) return configResult;\n\tconst config = configResult.value;\n\tconst effectiveJsonPath = outputPath !== void 0 ? join(outputPath, \"contract.json\") : config.contract?.output;\n\tif (!effectiveJsonPath) return notOk(errorContractConfigMissing({ why: \"Config.contract.output is required for emit. Define it in your config: contract: { source: ..., output: ... }\" }));\n\ttry {\n\t\tconst { jsonPath: outputJsonPath, dtsPath: outputDtsPath } = getEmittedArtifactPaths(effectiveJsonPath);\n\t\treturn ok({\n\t\t\tconfig,\n\t\t\tdisplayConfigPath,\n\t\t\toutputJsonPath,\n\t\t\toutputDtsPath\n\t\t});\n\t} catch (error) {\n\t\treturn notOk(errorContractConfigMissing({ why: error instanceof Error ? error.message : String(error) }));\n\t}\n}\nasync function executeContractEmitCommand(options, flags, ui, startTime) {\n\tconst outputPath = options.outputPath !== void 0 ? resolve(options.outputPath) : void 0;\n\tconst emitContextResult = await resolveEmitContext(options.config, outputPath);\n\tif (!emitContextResult.ok) return emitContextResult;\n\tconst { config, displayConfigPath, outputJsonPath, outputDtsPath } = emitContextResult.value;\n\tif (!flags.json && !flags.quiet) ui.stderr(formatStyledHeader({\n\t\tcommand: \"contract emit\",\n\t\tdescription: \"Emit your contract artifacts\",\n\t\turl: \"https://pris.ly/contract-emit\",\n\t\tdetails: [\n\t\t\t{\n\t\t\t\tlabel: \"config\",\n\t\t\t\tvalue: displayConfigPath\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"contract\",\n\t\t\t\tvalue: relative(process.cwd(), outputJsonPath)\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"types\",\n\t\t\t\tvalue: relative(process.cwd(), outputDtsPath)\n\t\t\t}\n\t\t],\n\t\tflags\n\t}));\n\tconst onProgress = createProgressAdapter({\n\t\tui,\n\t\tflags\n\t});\n\tconst configPath = options.config ? resolve(options.config) : \"prisma-next.config.ts\";\n\tlet result;\n\ttry {\n\t\tresult = await executeContractEmit({\n\t\t\tconfig,\n\t\t\tcwd: process.cwd(),\n\t\t\tconfigPath,\n\t\t\tonProgress,\n\t\t\t...ifDefined(\"outputPath\", outputPath)\n\t\t});\n\t} catch (error) {\n\t\tif (CliStructuredError$1.is(error)) return notOk(error);\n\t\treturn notOk(errorUnexpected(\"Unexpected error during contract emit\", { why: error instanceof Error ? error.message : String(error) }));\n\t}\n\tif (result.validationWarning) ui.warn(result.validationWarning);\n\treturn ok({\n\t\tstorageHash: result.storageHash,\n\t\t...ifDefined(\"executionHash\", result.executionHash),\n\t\tprofileHash: result.profileHash,\n\t\toutDir: dirname(result.files.json),\n\t\tfiles: result.files,\n\t\ttimings: { total: Date.now() - startTime }\n\t});\n}\nfunction createContractEmitCommand() {\n\tconst command = new Command(\"emit\");\n\tsetCommandDescriptions(command, \"Emit your contract artifacts\", \"Reads your contract source (TypeScript or Prisma schema) and emits contract.json and\\ncontract.d.ts. The contract.json contains the canonical contract structure, and\\ncontract.d.ts provides TypeScript types for type-safe query building.\");\n\tsetCommandExamples(command, [\n\t\t\"prisma-next contract emit\",\n\t\t\"prisma-next contract emit --config ./custom-config.ts\",\n\t\t\"prisma-next contract emit --output-path ./generated\"\n\t]);\n\taddGlobalOptions(command).option(\"--config <path>\", \"Path to prisma-next.config.ts\").option(\"--output-path <dir>\", \"Directory to write contract.json and contract.d.ts into\").action(async (options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst exitCode = handleResult(await executeContractEmitCommand(options, flags, ui, Date.now()), flags, ui, (emitResult) => {\n\t\t\tif (flags.json) ui.output(formatEmitJson(emitResult));\n\t\t\telse {\n\t\t\t\tconst output = formatEmitOutput(emitResult, flags);\n\t\t\t\tif (output) ui.log(output);\n\t\t\t\tif (!flags.quiet) ui.success(formatSuccessMessage(flags));\n\t\t\t}\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\n//#endregion\nexport { createContractEmitCommand as t };\n\n//# sourceMappingURL=contract-emit-BlvUNMHM.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract-emit-Cpj5Qz7z-BXt3HGPC.mjs","names":[],"sources":["../../../../1-framework/3-tooling/cli/dist/contract-emit-Cpj5Qz7z.mjs"],"sourcesContent":["import { M as errorUnexpected, t as CliStructuredError$1 } from \"./cli-errors-C6_pH59O.mjs\";\nimport { t as executeContractEmit } from \"./contract-emit-Dp1pe06_.mjs\";\nimport { h as isVerbose, t as createTerminalUI } from \"./terminal-ui-Cqz4LVL7.mjs\";\nimport { C as formatSuccessMessage, S as formatStyledHeader, _ as parseGlobalFlagsOrExit, d as setCommandExamples, t as addGlobalOptions, u as setCommandDescriptions, v as handleResult } from \"./command-helpers-kD9CO1hd.mjs\";\nimport { t as createProgressAdapter } from \"./progress-adapter-CjAeTxY_.mjs\";\nimport { Command } from \"commander\";\nimport { loadConfigForSections } from \"@internal/config-loader\";\nimport { getEmittedArtifactPaths } from \"@internal/emitter\";\nimport { errorContractConfigMissing } from \"@internal/errors/control\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { dirname, join, relative, resolve } from \"pathe\";\n//#region src/utils/formatters/emit.ts\n/**\n* Formats human-readable output for contract emit.\n*/\nfunction formatEmitOutput(result, flags) {\n\tif (flags.quiet) return \"\";\n\tconst lines = [];\n\tconst jsonPath = relative(process.cwd(), result.files.json);\n\tconst dtsPath = relative(process.cwd(), result.files.dts);\n\tlines.push(`✔ Emitted contract.json → ${jsonPath}`);\n\tlines.push(`✔ Emitted contract.d.ts → ${dtsPath}`);\n\tlines.push(` storageHash: ${result.storageHash}`);\n\tif (result.executionHash) lines.push(` executionHash: ${result.executionHash}`);\n\tif (result.profileHash) lines.push(` profileHash: ${result.profileHash}`);\n\tif (isVerbose(flags, 1)) lines.push(` Total time: ${result.timings.total}ms`);\n\treturn lines.join(\"\\n\");\n}\n/**\n* Formats JSON output for contract emit.\n*/\nfunction formatEmitJson(result) {\n\tconst output = {\n\t\tok: true,\n\t\tstorageHash: result.storageHash,\n\t\t...ifDefined(\"executionHash\", result.executionHash),\n\t\t...result.profileHash ? { profileHash: result.profileHash } : {},\n\t\toutDir: result.outDir,\n\t\tfiles: result.files,\n\t\ttimings: result.timings\n\t};\n\treturn JSON.stringify(output, null, 2);\n}\n//#endregion\n//#region src/commands/contract-emit.ts\n/**\n* Loads the config once, for both the styled header's display paths and the\n* emit itself — `executeContractEmit` takes the loaded config rather than\n* reading it a second time.\n*/\nasync function resolveEmitContext(configOption, outputPath) {\n\tconst displayConfigPath = configOption ? relative(process.cwd(), resolve(configOption)) : \"prisma-next.config.ts\";\n\tconst configResult = await loadConfigForSections(configOption, [\n\t\t\"contract\",\n\t\t\"family\",\n\t\t\"target\",\n\t\t\"adapter\",\n\t\t\"extensions\"\n\t]);\n\tif (!configResult.ok) return configResult;\n\tconst config = configResult.value;\n\tconst effectiveJsonPath = outputPath !== void 0 ? join(outputPath, \"contract.json\") : config.contract?.output;\n\tif (!effectiveJsonPath) return notOk(errorContractConfigMissing({ why: \"Config.contract.output is required for emit. Define it in your config: contract: { source: ..., output: ... }\" }));\n\ttry {\n\t\tconst { jsonPath: outputJsonPath, dtsPath: outputDtsPath } = getEmittedArtifactPaths(effectiveJsonPath);\n\t\treturn ok({\n\t\t\tconfig,\n\t\t\tdisplayConfigPath,\n\t\t\toutputJsonPath,\n\t\t\toutputDtsPath\n\t\t});\n\t} catch (error) {\n\t\treturn notOk(errorContractConfigMissing({ why: error instanceof Error ? error.message : String(error) }));\n\t}\n}\nasync function executeContractEmitCommand(options, flags, ui, startTime) {\n\tconst outputPath = options.outputPath !== void 0 ? resolve(options.outputPath) : void 0;\n\tconst emitContextResult = await resolveEmitContext(options.config, outputPath);\n\tif (!emitContextResult.ok) return emitContextResult;\n\tconst { config, displayConfigPath, outputJsonPath, outputDtsPath } = emitContextResult.value;\n\tif (!flags.json && !flags.quiet) ui.stderr(formatStyledHeader({\n\t\tcommand: \"contract emit\",\n\t\tdescription: \"Emit your contract artifacts\",\n\t\turl: \"https://pris.ly/contract-emit\",\n\t\tdetails: [\n\t\t\t{\n\t\t\t\tlabel: \"config\",\n\t\t\t\tvalue: displayConfigPath\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"contract\",\n\t\t\t\tvalue: relative(process.cwd(), outputJsonPath)\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"types\",\n\t\t\t\tvalue: relative(process.cwd(), outputDtsPath)\n\t\t\t}\n\t\t],\n\t\tflags\n\t}));\n\tconst onProgress = createProgressAdapter({\n\t\tui,\n\t\tflags\n\t});\n\tconst configPath = options.config ? resolve(options.config) : \"prisma-next.config.ts\";\n\tlet result;\n\ttry {\n\t\tresult = await executeContractEmit({\n\t\t\tconfig,\n\t\t\tcwd: process.cwd(),\n\t\t\tconfigPath,\n\t\t\tonProgress,\n\t\t\t...ifDefined(\"outputPath\", outputPath)\n\t\t});\n\t} catch (error) {\n\t\tif (CliStructuredError$1.is(error)) return notOk(error);\n\t\treturn notOk(errorUnexpected(\"Unexpected error during contract emit\", { why: error instanceof Error ? error.message : String(error) }));\n\t}\n\tif (result.validationWarning) ui.warn(result.validationWarning);\n\treturn ok({\n\t\tstorageHash: result.storageHash,\n\t\t...ifDefined(\"executionHash\", result.executionHash),\n\t\tprofileHash: result.profileHash,\n\t\toutDir: dirname(result.files.json),\n\t\tfiles: result.files,\n\t\ttimings: { total: Date.now() - startTime }\n\t});\n}\nfunction createContractEmitCommand() {\n\tconst command = new Command(\"emit\");\n\tsetCommandDescriptions(command, \"Emit your contract artifacts\", \"Reads your contract source (TypeScript or Prisma schema) and emits contract.json and\\ncontract.d.ts. The contract.json contains the canonical contract structure, and\\ncontract.d.ts provides TypeScript types for type-safe query building.\");\n\tsetCommandExamples(command, [\n\t\t\"prisma-next contract emit\",\n\t\t\"prisma-next contract emit --config ./custom-config.ts\",\n\t\t\"prisma-next contract emit --output-path ./generated\"\n\t]);\n\taddGlobalOptions(command).option(\"--config <path>\", \"Path to prisma-next.config.ts\").option(\"--output-path <dir>\", \"Directory to write contract.json and contract.d.ts into\").action(async (options) => {\n\t\tconst flags = parseGlobalFlagsOrExit(options);\n\t\tconst ui = createTerminalUI(flags);\n\t\tconst exitCode = handleResult(await executeContractEmitCommand(options, flags, ui, Date.now()), flags, ui, (emitResult) => {\n\t\t\tif (flags.json) ui.output(formatEmitJson(emitResult));\n\t\t\telse {\n\t\t\t\tconst output = formatEmitOutput(emitResult, flags);\n\t\t\t\tif (output) ui.log(output);\n\t\t\t\tif (!flags.quiet) ui.success(formatSuccessMessage(flags));\n\t\t\t}\n\t\t});\n\t\tprocess.exit(exitCode);\n\t});\n\treturn command;\n}\n//#endregion\nexport { createContractEmitCommand as t };\n\n//# sourceMappingURL=contract-emit-Cpj5Qz7z.mjs.map"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { basename, dirname, join } from "pathe";
|
|
|
9
9
|
import { mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
|
|
10
10
|
import { createControlStack } from "@prisma/orm-framework/components/control";
|
|
11
11
|
import { abortable } from "@prisma/orm-framework/utils/abortable";
|
|
12
|
-
//#region ../../../1-framework/3-tooling/cli/dist/contract-emit-
|
|
12
|
+
//#region ../../../1-framework/3-tooling/cli/dist/contract-emit-Dp1pe06_.mjs
|
|
13
13
|
/**
|
|
14
14
|
* Per-output FIFO queue for `executeContractEmit`.
|
|
15
15
|
*
|
|
@@ -294,7 +294,7 @@ async function executeContractEmit(options) {
|
|
|
294
294
|
emitResult = await unlessAborted(emit(deserializedContract, stack, config.family.emission, {
|
|
295
295
|
outputJsonPath,
|
|
296
296
|
serializeContract,
|
|
297
|
-
resolveImportSpecifier: createProjectSpecifierResolver(configPath),
|
|
297
|
+
resolveImportSpecifier: createProjectSpecifierResolver(configPath ?? outputJsonPath),
|
|
298
298
|
...ifDefined("shouldPreserveEmpty", contractSerializer.shouldPreserveEmpty),
|
|
299
299
|
...ifDefined("sortStorage", contractSerializer.sortStorage)
|
|
300
300
|
}));
|
|
@@ -327,4 +327,4 @@ async function executeContractEmit(options) {
|
|
|
327
327
|
//#endregion
|
|
328
328
|
export { executeContractEmit as n, disposeEmitQueue as t };
|
|
329
329
|
|
|
330
|
-
//# sourceMappingURL=contract-emit-
|
|
330
|
+
//# sourceMappingURL=contract-emit-Dp1pe06_-Cdpvh5DH.mjs.map
|
package/dist/{contract-emit-CrYO0A8x-60BOqXFr.mjs.map → contract-emit-Dp1pe06_-Cdpvh5DH.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-emit-CrYO0A8x-60BOqXFr.mjs","names":["errorRuntime","errorContractConfigMissing"],"sources":["../../../../1-framework/3-tooling/cli/dist/contract-emit-CrYO0A8x.mjs"],"sourcesContent":["import { D as errorRuntime, a as errorContractConfigMissing } from \"./cli-errors-C6_pH59O.mjs\";\nimport { t as assertFrameworkComponentsCompatible } from \"./framework-components-CPFWl2Ix.mjs\";\nimport { t as createProjectSpecifierResolver } from \"./project-import-root-BPuwl2j1.mjs\";\nimport { t as enrichContract } from \"./contract-enrichment-DrMvvY2A.mjs\";\nimport { createRequire } from \"node:module\";\nimport { emit, getEmittedArtifactPaths } from \"@internal/emitter\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { basename, dirname, join } from \"pathe\";\nimport { mkdir, readFile, rename, rm, writeFile } from \"node:fs/promises\";\nimport { createControlStack } from \"@internal/framework-components/control\";\nimport { abortable } from \"@internal/utils/abortable\";\n//#region src/utils/emit-queue.ts\n/**\n* Per-output FIFO queue for `executeContractEmit`.\n*\n* Ensures that at most one emit (load → resolve source → emit bytes → publish)\n* runs per output JSON path at a time. Concurrent calls for the same path\n* line up behind the in-flight one and run in submission order; the user-visible\n* outcome is \"last submission wins on disk\" without any supersession bookkeeping.\n*\n* Long-lived hosts (Vite dev server, watch CLIs) must call `disposeEmitQueue`\n* when they stop publishing to a path, otherwise the module-global `Map`\n* accumulates one entry per unique output path for the lifetime of the process.\n*/\nconst emitQueues = /* @__PURE__ */ new Map();\nfunction queueEmitByOutput(outputJsonPath, action) {\n\tconst next = (emitQueues.get(outputJsonPath) ?? Promise.resolve()).then(action, action);\n\temitQueues.set(outputJsonPath, next);\n\treturn next;\n}\nfunction disposeEmitQueue(outputJsonPath) {\n\temitQueues.delete(outputJsonPath);\n}\n//#endregion\n//#region src/utils/publish-contract-artifact-pair.ts\nfunction isRecord$1(value) {\n\treturn typeof value === \"object\" && value !== null;\n}\nfunction createTempArtifactPath(path, publicationToken, phase) {\n\treturn join(dirname(path), `.${basename(path)}.${process.pid}.${publicationToken}.${phase}.tmp`);\n}\nasync function readExistingArtifact(path) {\n\ttry {\n\t\treturn { content: await readFile(path, \"utf-8\") };\n\t} catch (error) {\n\t\tif (isRecord$1(error) && error[\"code\"] === \"ENOENT\") return \"remove\";\n\t\tthrow error;\n\t}\n}\nasync function restoreArtifact(path, previous, publicationToken) {\n\tif (previous === \"remove\") {\n\t\tawait rm(path, { force: true });\n\t\treturn;\n\t}\n\tconst restorePath = createTempArtifactPath(path, publicationToken, \"rollback\");\n\tawait writeFile(restorePath, previous.content, \"utf-8\");\n\ttry {\n\t\tawait rename(restorePath, path);\n\t} finally {\n\t\tawait rm(restorePath, { force: true });\n\t}\n}\nfunction withRollbackFailureCause(error, rollbackFailures) {\n\tconst rollbackCause = new AggregateError(rollbackFailures, \"Failed to restore published artifacts\");\n\tif (error instanceof Error) {\n\t\tObject.defineProperty(error, \"cause\", {\n\t\t\tvalue: rollbackCause,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t});\n\t\treturn error;\n\t}\n\treturn new Error(String(error), { cause: rollbackCause });\n}\nasync function publishPairWithRollback(entries, publicationToken) {\n\tconst replaced = [];\n\ttry {\n\t\tfor (const entry of entries) {\n\t\t\tawait rename(entry.tempPath, entry.outputPath);\n\t\t\treplaced.push(entry);\n\t\t}\n\t} catch (error) {\n\t\tconst rollbackFailures = (await Promise.allSettled(replaced.map((entry) => restoreArtifact(entry.outputPath, entry.previous, publicationToken)))).flatMap((result) => result.status === \"rejected\" ? [result.reason] : []);\n\t\tif (rollbackFailures.length > 0) throw withRollbackFailureCause(error, rollbackFailures);\n\t\tthrow error;\n\t}\n}\nasync function publishContractArtifactPair({ outputJsonPath, outputDtsPath, contractJson, contractDts, publicationToken, beforePublish }) {\n\tconst tempJsonPath = createTempArtifactPath(outputJsonPath, publicationToken, \"next\");\n\tconst tempDtsPath = createTempArtifactPath(outputDtsPath, publicationToken, \"next\");\n\ttry {\n\t\tawait writeFile(tempJsonPath, contractJson, \"utf-8\");\n\t\tawait writeFile(tempDtsPath, contractDts, \"utf-8\");\n\t\tif (await beforePublish?.() === false) return false;\n\t\tconst previousJson = await readExistingArtifact(outputJsonPath);\n\t\tawait publishPairWithRollback([{\n\t\t\ttempPath: tempDtsPath,\n\t\t\toutputPath: outputDtsPath,\n\t\t\tprevious: await readExistingArtifact(outputDtsPath)\n\t\t}, {\n\t\t\ttempPath: tempJsonPath,\n\t\t\toutputPath: outputJsonPath,\n\t\t\tprevious: previousJson\n\t\t}], publicationToken);\n\t\treturn true;\n\t} finally {\n\t\tawait Promise.allSettled([rm(tempJsonPath, { force: true }), rm(tempDtsPath, { force: true })]);\n\t}\n}\n//#endregion\n//#region src/utils/validate-contract-deps.ts\nconst IMPORT_PATTERN = /import\\s+type\\s+.*?\\s+from\\s+['\"](@[^/]+\\/[^/'\"]+)/g;\nfunction extractPackageSpecifiers(dtsContent) {\n\tconst packages = /* @__PURE__ */ new Set();\n\tfor (const match of dtsContent.matchAll(IMPORT_PATTERN)) {\n\t\tconst pkg = match[1];\n\t\tif (pkg) packages.add(pkg);\n\t}\n\treturn [...packages];\n}\nfunction validateContractDeps(dtsContent, projectRoot) {\n\tconst packages = extractPackageSpecifiers(dtsContent);\n\tconst resolve = createRequire(`${projectRoot}/package.json`);\n\tconst missing = [];\n\tfor (const pkg of packages) try {\n\t\tresolve.resolve(`${pkg}/package.json`);\n\t} catch {\n\t\tmissing.push(pkg);\n\t}\n\tif (missing.length === 0) return { missing };\n\treturn {\n\t\tmissing,\n\t\twarning: [\n\t\t\t\"contract.d.ts imports types from packages that are not installed:\",\n\t\t\tmissing.map((p) => ` - ${p}`).join(\"\\n\"),\n\t\t\t\"\",\n\t\t\t\"Install them with your package manager:\",\n\t\t\t...missing.map((p) => ` ${p}`)\n\t\t].join(\"\\n\")\n\t};\n}\n//#endregion\n//#region src/control-api/operations/contract-emit.ts\nconst EMIT_ACTION = \"emit\";\nfunction isRecord(value) {\n\treturn typeof value === \"object\" && value !== null;\n}\nfunction startSpan(onProgress, spanId, label) {\n\tonProgress?.({\n\t\taction: EMIT_ACTION,\n\t\tkind: \"spanStart\",\n\t\tspanId,\n\t\tlabel\n\t});\n}\nfunction endSpan(onProgress, spanId, outcome) {\n\tonProgress?.({\n\t\taction: EMIT_ACTION,\n\t\tkind: \"spanEnd\",\n\t\tspanId,\n\t\toutcome\n\t});\n}\nfunction failedToResolveContractSource(why, fix, meta, cause) {\n\treturn errorRuntime(\"CONTRACT.SOURCE_LOAD_FAILED\", \"Failed to resolve contract source\", {\n\t\twhy,\n\t\tfix,\n\t\t...ifDefined(\"meta\", meta),\n\t\t...ifDefined(\"cause\", cause)\n\t});\n}\nfunction diagnosticLocationSuffix(diagnostic) {\n\tconst sourceId = typeof diagnostic[\"sourceId\"] === \"string\" ? diagnostic[\"sourceId\"] : void 0;\n\tconst span = isRecord(diagnostic[\"span\"]) ? diagnostic[\"span\"] : void 0;\n\tconst start = span && isRecord(span[\"start\"]) ? span[\"start\"] : void 0;\n\tconst line = start && typeof start[\"line\"] === \"number\" ? start[\"line\"] : void 0;\n\tconst column = start && typeof start[\"column\"] === \"number\" ? start[\"column\"] : void 0;\n\tif (sourceId && line !== void 0 && column !== void 0) return ` (${sourceId}:${line}:${column})`;\n\tif (sourceId) return ` (${sourceId})`;\n\treturn \"\";\n}\nfunction mapDiagnosticsToIssues(diagnostics) {\n\tconst issues = [];\n\tfor (const raw of diagnostics) {\n\t\tif (!isRecord(raw)) continue;\n\t\tconst code = typeof raw[\"code\"] === \"string\" ? raw[\"code\"] : \"diagnostic\";\n\t\tconst message = typeof raw[\"message\"] === \"string\" ? raw[\"message\"] : \"\";\n\t\tissues.push({\n\t\t\tkind: code,\n\t\t\tmessage: `${message}${diagnosticLocationSuffix(raw)}`\n\t\t});\n\t}\n\treturn issues;\n}\nfunction validateProviderResult(providerResult) {\n\tif (!isRecord(providerResult) || typeof providerResult[\"ok\"] !== \"boolean\") return {\n\t\tok: false,\n\t\terror: failedToResolveContractSource(\"Contract source provider returned malformed result shape.\", \"Ensure contract.source.load resolves to ok(Contract) or notOk({ summary, diagnostics }).\")\n\t};\n\tif (providerResult[\"ok\"]) {\n\t\tif (!(\"value\" in providerResult)) return {\n\t\t\tok: false,\n\t\t\terror: failedToResolveContractSource(\"Contract source provider returned malformed success result: missing value.\", \"Ensure contract.source.load success payload is ok(Contract).\")\n\t\t};\n\t\treturn {\n\t\t\tok: true,\n\t\t\tvalue: providerResult[\"value\"]\n\t\t};\n\t}\n\tconst failure = providerResult[\"failure\"];\n\tif (!isRecord(failure) || typeof failure[\"summary\"] !== \"string\" || !Array.isArray(failure[\"diagnostics\"])) return {\n\t\tok: false,\n\t\terror: failedToResolveContractSource(\"Contract source provider returned malformed failure result: expected summary and diagnostics.\", \"Ensure contract.source.load failure payload is notOk({ summary, diagnostics, meta? }).\")\n\t};\n\treturn {\n\t\tok: false,\n\t\terror: failedToResolveContractSource(String(failure[\"summary\"]), \"Fix contract source diagnostics and return ok(Contract).\", {\n\t\t\tdiagnostics: failure[\"diagnostics\"],\n\t\t\tissues: mapDiagnosticsToIssues(failure[\"diagnostics\"]),\n\t\t\t...ifDefined(\"providerMeta\", failure[\"meta\"])\n\t\t})\n\t};\n}\n/**\n* Canonical contract emit operation.\n*\n* This is the SINGLE publication path used by both the CLI command\n* (`prisma-next contract emit`) and the Vite plugin\n* (`@internal/vite-plugin-contract-emit`). New callers must go through this\n* function rather than re-implementing load → emit → publish.\n*\n* The whole flow (load config → resolve source → emit bytes → atomic publish)\n* is serialized per output JSON path via `queueEmitByOutput`. Concurrent calls\n* for the same output line up FIFO; the user-visible outcome is \"last\n* submission wins on disk\" without any supersession bookkeeping. Within a\n* single emit, `publishContractArtifactPair` stages temp files, renames\n* `contract.d.ts` before `contract.json`, and attempts to restore the previous\n* pair if either rename fails — so type-only consumers never observe a\n* mismatched pair.\n*\n* @throws {CliStructuredError} on config/source/validation problems\n* @throws {DOMException} `AbortError` if cancelled via `signal`\n*/\nasync function executeContractEmit(options) {\n\tconst { config, configPath, outputPath, signal = new AbortController().signal, onProgress } = options;\n\tconst unlessAborted = abortable(signal);\n\tif (!config.contract) throw errorContractConfigMissing({ why: \"Config.contract is required for emit. Define it in your config: contract: { source: ..., output: ... }\" });\n\tconst contractConfig = config.contract;\n\tconst effectiveOutput = outputPath !== void 0 ? join(outputPath, \"contract.json\") : contractConfig.output;\n\tif (!effectiveOutput) throw errorContractConfigMissing({ why: \"Contract config must have output path. This should not happen if defineConfig() was used.\" });\n\tif (typeof contractConfig.source?.load !== \"function\") throw errorContractConfigMissing({ why: \"Contract config must include a valid source provider object\" });\n\tlet outputPaths;\n\ttry {\n\t\toutputPaths = getEmittedArtifactPaths(effectiveOutput);\n\t} catch (error) {\n\t\tthrow errorContractConfigMissing({ why: error instanceof Error ? error.message : String(error) });\n\t}\n\tconst { jsonPath: outputJsonPath, dtsPath: outputDtsPath } = outputPaths;\n\treturn queueEmitByOutput(outputJsonPath, async () => {\n\t\tconst stack = createControlStack(config);\n\t\tconst sourceContext = {\n\t\t\tcomposedExtensions: stack.extensions.map((p) => p.id),\n\t\t\tcomposedExtensionContracts: stack.extensionContracts,\n\t\t\tauthoringContributions: stack.authoringContributions,\n\t\t\tcodecLookup: stack.codecLookup,\n\t\t\tcontrolMutationDefaults: stack.controlMutationDefaults,\n\t\t\tresolvedInputs: contractConfig.source.inputs ?? [],\n\t\t\tcapabilities: stack.capabilities\n\t\t};\n\t\tstartSpan(onProgress, \"resolveSource\", \"Resolving contract source...\");\n\t\tlet providerResult;\n\t\ttry {\n\t\t\tproviderResult = await unlessAborted(contractConfig.source.load(sourceContext));\n\t\t} catch (error) {\n\t\t\tendSpan(onProgress, \"resolveSource\", \"error\");\n\t\t\tif (signal.aborted || isRecord(error) && error[\"name\"] === \"AbortError\") throw error;\n\t\t\tthrow failedToResolveContractSource(error instanceof Error ? error.message : String(error), \"Ensure contract.source.load resolves to ok(Contract) or returns structured diagnostics.\", void 0, error);\n\t\t}\n\t\tconst validatedContract = validateProviderResult(providerResult);\n\t\tif (!validatedContract.ok) {\n\t\t\tendSpan(onProgress, \"resolveSource\", \"error\");\n\t\t\tthrow validatedContract.error;\n\t\t}\n\t\tendSpan(onProgress, \"resolveSource\", \"ok\");\n\t\tstartSpan(onProgress, \"emit\", \"Emitting contract...\");\n\t\tlet emitResult;\n\t\ttry {\n\t\t\tconst familyInstance = config.family.create(stack);\n\t\t\tconst rawComponents = [\n\t\t\t\tconfig.target,\n\t\t\t\tconfig.adapter,\n\t\t\t\t...config.extensions ?? []\n\t\t\t];\n\t\t\tconst frameworkComponents = assertFrameworkComponentsCompatible(config.family.familyId, config.target.targetId, rawComponents);\n\t\t\tconst enrichedIR = enrichContract(validatedContract.value, frameworkComponents);\n\t\t\tconst rawContractJson = config.target.contractSerializer.serializeContract(enrichedIR);\n\t\t\tconst deserializedContract = familyInstance.deserializeContract(rawContractJson);\n\t\t\tconst { contractSerializer } = config.target;\n\t\t\tconst serializeContract = (c) => contractSerializer.serializeContract(c);\n\t\t\temitResult = await unlessAborted(emit(deserializedContract, stack, config.family.emission, {\n\t\t\t\toutputJsonPath,\n\t\t\t\tserializeContract,\n\t\t\t\tresolveImportSpecifier: createProjectSpecifierResolver(configPath),\n\t\t\t\t...ifDefined(\"shouldPreserveEmpty\", contractSerializer.shouldPreserveEmpty),\n\t\t\t\t...ifDefined(\"sortStorage\", contractSerializer.sortStorage)\n\t\t\t}));\n\t\t} catch (error) {\n\t\t\tendSpan(onProgress, \"emit\", \"error\");\n\t\t\tthrow error;\n\t\t}\n\t\tendSpan(onProgress, \"emit\", \"ok\");\n\t\tawait unlessAborted(mkdir(dirname(outputJsonPath), { recursive: true }));\n\t\tawait publishContractArtifactPair({\n\t\t\toutputJsonPath,\n\t\t\toutputDtsPath,\n\t\t\tcontractJson: emitResult.contractJson,\n\t\t\tcontractDts: emitResult.contractDts,\n\t\t\tpublicationToken: String(process.hrtime.bigint())\n\t\t});\n\t\tconst validationWarning = validateContractDeps(emitResult.contractDts, dirname(outputDtsPath)).warning;\n\t\treturn {\n\t\t\tstorageHash: emitResult.storageHash,\n\t\t\t...ifDefined(\"executionHash\", emitResult.executionHash),\n\t\t\tprofileHash: emitResult.profileHash,\n\t\t\tfiles: {\n\t\t\t\tjson: outputJsonPath,\n\t\t\t\tdts: outputDtsPath\n\t\t\t},\n\t\t\t...ifDefined(\"validationWarning\", validationWarning)\n\t\t};\n\t});\n}\n//#endregion\nexport { disposeEmitQueue as n, executeContractEmit as t };\n\n//# sourceMappingURL=contract-emit-CrYO0A8x.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract-emit-Dp1pe06_-Cdpvh5DH.mjs","names":["errorRuntime","errorContractConfigMissing"],"sources":["../../../../1-framework/3-tooling/cli/dist/contract-emit-Dp1pe06_.mjs"],"sourcesContent":["import { D as errorRuntime, a as errorContractConfigMissing } from \"./cli-errors-C6_pH59O.mjs\";\nimport { t as assertFrameworkComponentsCompatible } from \"./framework-components-CPFWl2Ix.mjs\";\nimport { t as createProjectSpecifierResolver } from \"./project-import-root-BPuwl2j1.mjs\";\nimport { t as enrichContract } from \"./contract-enrichment-DrMvvY2A.mjs\";\nimport { createRequire } from \"node:module\";\nimport { emit, getEmittedArtifactPaths } from \"@internal/emitter\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { basename, dirname, join } from \"pathe\";\nimport { mkdir, readFile, rename, rm, writeFile } from \"node:fs/promises\";\nimport { createControlStack } from \"@internal/framework-components/control\";\nimport { abortable } from \"@internal/utils/abortable\";\n//#region src/utils/emit-queue.ts\n/**\n* Per-output FIFO queue for `executeContractEmit`.\n*\n* Ensures that at most one emit (load → resolve source → emit bytes → publish)\n* runs per output JSON path at a time. Concurrent calls for the same path\n* line up behind the in-flight one and run in submission order; the user-visible\n* outcome is \"last submission wins on disk\" without any supersession bookkeeping.\n*\n* Long-lived hosts (Vite dev server, watch CLIs) must call `disposeEmitQueue`\n* when they stop publishing to a path, otherwise the module-global `Map`\n* accumulates one entry per unique output path for the lifetime of the process.\n*/\nconst emitQueues = /* @__PURE__ */ new Map();\nfunction queueEmitByOutput(outputJsonPath, action) {\n\tconst next = (emitQueues.get(outputJsonPath) ?? Promise.resolve()).then(action, action);\n\temitQueues.set(outputJsonPath, next);\n\treturn next;\n}\nfunction disposeEmitQueue(outputJsonPath) {\n\temitQueues.delete(outputJsonPath);\n}\n//#endregion\n//#region src/utils/publish-contract-artifact-pair.ts\nfunction isRecord$1(value) {\n\treturn typeof value === \"object\" && value !== null;\n}\nfunction createTempArtifactPath(path, publicationToken, phase) {\n\treturn join(dirname(path), `.${basename(path)}.${process.pid}.${publicationToken}.${phase}.tmp`);\n}\nasync function readExistingArtifact(path) {\n\ttry {\n\t\treturn { content: await readFile(path, \"utf-8\") };\n\t} catch (error) {\n\t\tif (isRecord$1(error) && error[\"code\"] === \"ENOENT\") return \"remove\";\n\t\tthrow error;\n\t}\n}\nasync function restoreArtifact(path, previous, publicationToken) {\n\tif (previous === \"remove\") {\n\t\tawait rm(path, { force: true });\n\t\treturn;\n\t}\n\tconst restorePath = createTempArtifactPath(path, publicationToken, \"rollback\");\n\tawait writeFile(restorePath, previous.content, \"utf-8\");\n\ttry {\n\t\tawait rename(restorePath, path);\n\t} finally {\n\t\tawait rm(restorePath, { force: true });\n\t}\n}\nfunction withRollbackFailureCause(error, rollbackFailures) {\n\tconst rollbackCause = new AggregateError(rollbackFailures, \"Failed to restore published artifacts\");\n\tif (error instanceof Error) {\n\t\tObject.defineProperty(error, \"cause\", {\n\t\t\tvalue: rollbackCause,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t});\n\t\treturn error;\n\t}\n\treturn new Error(String(error), { cause: rollbackCause });\n}\nasync function publishPairWithRollback(entries, publicationToken) {\n\tconst replaced = [];\n\ttry {\n\t\tfor (const entry of entries) {\n\t\t\tawait rename(entry.tempPath, entry.outputPath);\n\t\t\treplaced.push(entry);\n\t\t}\n\t} catch (error) {\n\t\tconst rollbackFailures = (await Promise.allSettled(replaced.map((entry) => restoreArtifact(entry.outputPath, entry.previous, publicationToken)))).flatMap((result) => result.status === \"rejected\" ? [result.reason] : []);\n\t\tif (rollbackFailures.length > 0) throw withRollbackFailureCause(error, rollbackFailures);\n\t\tthrow error;\n\t}\n}\nasync function publishContractArtifactPair({ outputJsonPath, outputDtsPath, contractJson, contractDts, publicationToken, beforePublish }) {\n\tconst tempJsonPath = createTempArtifactPath(outputJsonPath, publicationToken, \"next\");\n\tconst tempDtsPath = createTempArtifactPath(outputDtsPath, publicationToken, \"next\");\n\ttry {\n\t\tawait writeFile(tempJsonPath, contractJson, \"utf-8\");\n\t\tawait writeFile(tempDtsPath, contractDts, \"utf-8\");\n\t\tif (await beforePublish?.() === false) return false;\n\t\tconst previousJson = await readExistingArtifact(outputJsonPath);\n\t\tawait publishPairWithRollback([{\n\t\t\ttempPath: tempDtsPath,\n\t\t\toutputPath: outputDtsPath,\n\t\t\tprevious: await readExistingArtifact(outputDtsPath)\n\t\t}, {\n\t\t\ttempPath: tempJsonPath,\n\t\t\toutputPath: outputJsonPath,\n\t\t\tprevious: previousJson\n\t\t}], publicationToken);\n\t\treturn true;\n\t} finally {\n\t\tawait Promise.allSettled([rm(tempJsonPath, { force: true }), rm(tempDtsPath, { force: true })]);\n\t}\n}\n//#endregion\n//#region src/utils/validate-contract-deps.ts\nconst IMPORT_PATTERN = /import\\s+type\\s+.*?\\s+from\\s+['\"](@[^/]+\\/[^/'\"]+)/g;\nfunction extractPackageSpecifiers(dtsContent) {\n\tconst packages = /* @__PURE__ */ new Set();\n\tfor (const match of dtsContent.matchAll(IMPORT_PATTERN)) {\n\t\tconst pkg = match[1];\n\t\tif (pkg) packages.add(pkg);\n\t}\n\treturn [...packages];\n}\nfunction validateContractDeps(dtsContent, projectRoot) {\n\tconst packages = extractPackageSpecifiers(dtsContent);\n\tconst resolve = createRequire(`${projectRoot}/package.json`);\n\tconst missing = [];\n\tfor (const pkg of packages) try {\n\t\tresolve.resolve(`${pkg}/package.json`);\n\t} catch {\n\t\tmissing.push(pkg);\n\t}\n\tif (missing.length === 0) return { missing };\n\treturn {\n\t\tmissing,\n\t\twarning: [\n\t\t\t\"contract.d.ts imports types from packages that are not installed:\",\n\t\t\tmissing.map((p) => ` - ${p}`).join(\"\\n\"),\n\t\t\t\"\",\n\t\t\t\"Install them with your package manager:\",\n\t\t\t...missing.map((p) => ` ${p}`)\n\t\t].join(\"\\n\")\n\t};\n}\n//#endregion\n//#region src/control-api/operations/contract-emit.ts\nconst EMIT_ACTION = \"emit\";\nfunction isRecord(value) {\n\treturn typeof value === \"object\" && value !== null;\n}\nfunction startSpan(onProgress, spanId, label) {\n\tonProgress?.({\n\t\taction: EMIT_ACTION,\n\t\tkind: \"spanStart\",\n\t\tspanId,\n\t\tlabel\n\t});\n}\nfunction endSpan(onProgress, spanId, outcome) {\n\tonProgress?.({\n\t\taction: EMIT_ACTION,\n\t\tkind: \"spanEnd\",\n\t\tspanId,\n\t\toutcome\n\t});\n}\nfunction failedToResolveContractSource(why, fix, meta, cause) {\n\treturn errorRuntime(\"CONTRACT.SOURCE_LOAD_FAILED\", \"Failed to resolve contract source\", {\n\t\twhy,\n\t\tfix,\n\t\t...ifDefined(\"meta\", meta),\n\t\t...ifDefined(\"cause\", cause)\n\t});\n}\nfunction diagnosticLocationSuffix(diagnostic) {\n\tconst sourceId = typeof diagnostic[\"sourceId\"] === \"string\" ? diagnostic[\"sourceId\"] : void 0;\n\tconst span = isRecord(diagnostic[\"span\"]) ? diagnostic[\"span\"] : void 0;\n\tconst start = span && isRecord(span[\"start\"]) ? span[\"start\"] : void 0;\n\tconst line = start && typeof start[\"line\"] === \"number\" ? start[\"line\"] : void 0;\n\tconst column = start && typeof start[\"column\"] === \"number\" ? start[\"column\"] : void 0;\n\tif (sourceId && line !== void 0 && column !== void 0) return ` (${sourceId}:${line}:${column})`;\n\tif (sourceId) return ` (${sourceId})`;\n\treturn \"\";\n}\nfunction mapDiagnosticsToIssues(diagnostics) {\n\tconst issues = [];\n\tfor (const raw of diagnostics) {\n\t\tif (!isRecord(raw)) continue;\n\t\tconst code = typeof raw[\"code\"] === \"string\" ? raw[\"code\"] : \"diagnostic\";\n\t\tconst message = typeof raw[\"message\"] === \"string\" ? raw[\"message\"] : \"\";\n\t\tissues.push({\n\t\t\tkind: code,\n\t\t\tmessage: `${message}${diagnosticLocationSuffix(raw)}`\n\t\t});\n\t}\n\treturn issues;\n}\nfunction validateProviderResult(providerResult) {\n\tif (!isRecord(providerResult) || typeof providerResult[\"ok\"] !== \"boolean\") return {\n\t\tok: false,\n\t\terror: failedToResolveContractSource(\"Contract source provider returned malformed result shape.\", \"Ensure contract.source.load resolves to ok(Contract) or notOk({ summary, diagnostics }).\")\n\t};\n\tif (providerResult[\"ok\"]) {\n\t\tif (!(\"value\" in providerResult)) return {\n\t\t\tok: false,\n\t\t\terror: failedToResolveContractSource(\"Contract source provider returned malformed success result: missing value.\", \"Ensure contract.source.load success payload is ok(Contract).\")\n\t\t};\n\t\treturn {\n\t\t\tok: true,\n\t\t\tvalue: providerResult[\"value\"]\n\t\t};\n\t}\n\tconst failure = providerResult[\"failure\"];\n\tif (!isRecord(failure) || typeof failure[\"summary\"] !== \"string\" || !Array.isArray(failure[\"diagnostics\"])) return {\n\t\tok: false,\n\t\terror: failedToResolveContractSource(\"Contract source provider returned malformed failure result: expected summary and diagnostics.\", \"Ensure contract.source.load failure payload is notOk({ summary, diagnostics, meta? }).\")\n\t};\n\treturn {\n\t\tok: false,\n\t\terror: failedToResolveContractSource(String(failure[\"summary\"]), \"Fix contract source diagnostics and return ok(Contract).\", {\n\t\t\tdiagnostics: failure[\"diagnostics\"],\n\t\t\tissues: mapDiagnosticsToIssues(failure[\"diagnostics\"]),\n\t\t\t...ifDefined(\"providerMeta\", failure[\"meta\"])\n\t\t})\n\t};\n}\n/**\n* Canonical contract emit operation.\n*\n* This is the SINGLE publication path used by both the CLI command\n* (`prisma-next contract emit`) and the Vite plugin\n* (`@internal/vite-plugin-contract-emit`). New callers must go through this\n* function rather than re-implementing load → emit → publish.\n*\n* The whole flow (load config → resolve source → emit bytes → atomic publish)\n* is serialized per output JSON path via `queueEmitByOutput`. Concurrent calls\n* for the same output line up FIFO; the user-visible outcome is \"last\n* submission wins on disk\" without any supersession bookkeeping. Within a\n* single emit, `publishContractArtifactPair` stages temp files, renames\n* `contract.d.ts` before `contract.json`, and attempts to restore the previous\n* pair if either rename fails — so type-only consumers never observe a\n* mismatched pair.\n*\n* @throws {CliStructuredError} on config/source/validation problems\n* @throws {DOMException} `AbortError` if cancelled via `signal`\n*/\nasync function executeContractEmit(options) {\n\tconst { config, configPath, outputPath, signal = new AbortController().signal, onProgress } = options;\n\tconst unlessAborted = abortable(signal);\n\tif (!config.contract) throw errorContractConfigMissing({ why: \"Config.contract is required for emit. Define it in your config: contract: { source: ..., output: ... }\" });\n\tconst contractConfig = config.contract;\n\tconst effectiveOutput = outputPath !== void 0 ? join(outputPath, \"contract.json\") : contractConfig.output;\n\tif (!effectiveOutput) throw errorContractConfigMissing({ why: \"Contract config must have output path. This should not happen if defineConfig() was used.\" });\n\tif (typeof contractConfig.source?.load !== \"function\") throw errorContractConfigMissing({ why: \"Contract config must include a valid source provider object\" });\n\tlet outputPaths;\n\ttry {\n\t\toutputPaths = getEmittedArtifactPaths(effectiveOutput);\n\t} catch (error) {\n\t\tthrow errorContractConfigMissing({ why: error instanceof Error ? error.message : String(error) });\n\t}\n\tconst { jsonPath: outputJsonPath, dtsPath: outputDtsPath } = outputPaths;\n\treturn queueEmitByOutput(outputJsonPath, async () => {\n\t\tconst stack = createControlStack(config);\n\t\tconst sourceContext = {\n\t\t\tcomposedExtensions: stack.extensions.map((p) => p.id),\n\t\t\tcomposedExtensionContracts: stack.extensionContracts,\n\t\t\tauthoringContributions: stack.authoringContributions,\n\t\t\tcodecLookup: stack.codecLookup,\n\t\t\tcontrolMutationDefaults: stack.controlMutationDefaults,\n\t\t\tresolvedInputs: contractConfig.source.inputs ?? [],\n\t\t\tcapabilities: stack.capabilities\n\t\t};\n\t\tstartSpan(onProgress, \"resolveSource\", \"Resolving contract source...\");\n\t\tlet providerResult;\n\t\ttry {\n\t\t\tproviderResult = await unlessAborted(contractConfig.source.load(sourceContext));\n\t\t} catch (error) {\n\t\t\tendSpan(onProgress, \"resolveSource\", \"error\");\n\t\t\tif (signal.aborted || isRecord(error) && error[\"name\"] === \"AbortError\") throw error;\n\t\t\tthrow failedToResolveContractSource(error instanceof Error ? error.message : String(error), \"Ensure contract.source.load resolves to ok(Contract) or returns structured diagnostics.\", void 0, error);\n\t\t}\n\t\tconst validatedContract = validateProviderResult(providerResult);\n\t\tif (!validatedContract.ok) {\n\t\t\tendSpan(onProgress, \"resolveSource\", \"error\");\n\t\t\tthrow validatedContract.error;\n\t\t}\n\t\tendSpan(onProgress, \"resolveSource\", \"ok\");\n\t\tstartSpan(onProgress, \"emit\", \"Emitting contract...\");\n\t\tlet emitResult;\n\t\ttry {\n\t\t\tconst familyInstance = config.family.create(stack);\n\t\t\tconst rawComponents = [\n\t\t\t\tconfig.target,\n\t\t\t\tconfig.adapter,\n\t\t\t\t...config.extensions ?? []\n\t\t\t];\n\t\t\tconst frameworkComponents = assertFrameworkComponentsCompatible(config.family.familyId, config.target.targetId, rawComponents);\n\t\t\tconst enrichedIR = enrichContract(validatedContract.value, frameworkComponents);\n\t\t\tconst rawContractJson = config.target.contractSerializer.serializeContract(enrichedIR);\n\t\t\tconst deserializedContract = familyInstance.deserializeContract(rawContractJson);\n\t\t\tconst { contractSerializer } = config.target;\n\t\t\tconst serializeContract = (c) => contractSerializer.serializeContract(c);\n\t\t\temitResult = await unlessAborted(emit(deserializedContract, stack, config.family.emission, {\n\t\t\t\toutputJsonPath,\n\t\t\t\tserializeContract,\n\t\t\t\tresolveImportSpecifier: createProjectSpecifierResolver(configPath ?? outputJsonPath),\n\t\t\t\t...ifDefined(\"shouldPreserveEmpty\", contractSerializer.shouldPreserveEmpty),\n\t\t\t\t...ifDefined(\"sortStorage\", contractSerializer.sortStorage)\n\t\t\t}));\n\t\t} catch (error) {\n\t\t\tendSpan(onProgress, \"emit\", \"error\");\n\t\t\tthrow error;\n\t\t}\n\t\tendSpan(onProgress, \"emit\", \"ok\");\n\t\tawait unlessAborted(mkdir(dirname(outputJsonPath), { recursive: true }));\n\t\tawait publishContractArtifactPair({\n\t\t\toutputJsonPath,\n\t\t\toutputDtsPath,\n\t\t\tcontractJson: emitResult.contractJson,\n\t\t\tcontractDts: emitResult.contractDts,\n\t\t\tpublicationToken: String(process.hrtime.bigint())\n\t\t});\n\t\tconst validationWarning = validateContractDeps(emitResult.contractDts, dirname(outputDtsPath)).warning;\n\t\treturn {\n\t\t\tstorageHash: emitResult.storageHash,\n\t\t\t...ifDefined(\"executionHash\", emitResult.executionHash),\n\t\t\tprofileHash: emitResult.profileHash,\n\t\t\tfiles: {\n\t\t\t\tjson: outputJsonPath,\n\t\t\t\tdts: outputDtsPath\n\t\t\t},\n\t\t\t...ifDefined(\"validationWarning\", validationWarning)\n\t\t};\n\t});\n}\n//#endregion\nexport { disposeEmitQueue as n, executeContractEmit as t };\n\n//# sourceMappingURL=contract-emit-Dp1pe06_.mjs.map"],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ import { execFile } from "node:child_process";
|
|
|
15
15
|
import { promisify } from "node:util";
|
|
16
16
|
import { detect, getUserAgent } from "package-manager-detector/detect";
|
|
17
17
|
import { applyEdits, modify, parse, printParseErrorCode } from "jsonc-parser";
|
|
18
|
-
//#region ../../../1-framework/3-tooling/cli/dist/init-
|
|
18
|
+
//#region ../../../1-framework/3-tooling/cli/dist/init-DMiJjbrC.mjs
|
|
19
19
|
const KNOWN = /* @__PURE__ */ new Set([
|
|
20
20
|
"pnpm",
|
|
21
21
|
"npm",
|
|
@@ -2182,7 +2182,7 @@ async function runEmit(ctx) {
|
|
|
2182
2182
|
const spinner = ctx.ui.spinner();
|
|
2183
2183
|
spinner.start("Emitting contract...");
|
|
2184
2184
|
try {
|
|
2185
|
-
const { executeContractEmit } = await import("./contract-emit-
|
|
2185
|
+
const { executeContractEmit } = await import("./contract-emit-BHZYuA91-wlnU7OrE.mjs");
|
|
2186
2186
|
const { loadConfigForSections } = await import("./exports-BZLNbtkY.mjs").then((n) => n.t);
|
|
2187
2187
|
const configFilePath = join(ctx.baseDir, "prisma-next.config.ts");
|
|
2188
2188
|
const configResult = await loadConfigForSections(configFilePath, [
|
|
@@ -2249,4 +2249,4 @@ function sanitisePackageName(raw) {
|
|
|
2249
2249
|
//#endregion
|
|
2250
2250
|
export { runInit };
|
|
2251
2251
|
|
|
2252
|
-
//# sourceMappingURL=init-
|
|
2252
|
+
//# sourceMappingURL=init-DMiJjbrC-C7-PvDyK.mjs.map
|