@prisma/orm-toolchain 8.0.0-rc.4-dev.15 → 8.0.0-rc.4-dev.17
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/{aggregate-BOlLu7k7.mjs → aggregate-EMuVN6hq.mjs} +8 -8
- package/dist/{aggregate-BOlLu7k7.mjs.map → aggregate-EMuVN6hq.mjs.map} +1 -1
- package/dist/cli.mjs +60 -65
- package/dist/cli.mjs.map +1 -1
- package/dist/cli__control-api.mjs +1 -1
- package/dist/cli__migration-cli.mjs +3 -3
- package/dist/cli__migration-cli.mjs.map +1 -1
- package/dist/{contract-snapshot-store-BAmQkHe5-BJFpuIQQ.mjs → contract-snapshot-store-qGrwlGmt-Cf2NFzRL.mjs} +3 -3
- package/dist/{contract-snapshot-store-BAmQkHe5-BJFpuIQQ.mjs.map → contract-snapshot-store-qGrwlGmt-Cf2NFzRL.mjs.map} +1 -1
- package/dist/{errors-CcEpbfnE-CsSXrttT.mjs → errors-SoLLYLtw-DMxVbVs9.mjs} +9 -9
- package/dist/errors-SoLLYLtw-DMxVbVs9.mjs.map +1 -0
- package/dist/{graph-membership-BoITerZB-C2-x1Qp6.mjs → graph-membership-DY1Onbc3-CwBd6wuB.mjs} +3 -3
- package/dist/{graph-membership-BoITerZB-C2-x1Qp6.mjs.map → graph-membership-DY1Onbc3-CwBd6wuB.mjs.map} +1 -1
- package/dist/{invariants-DcFfhJMZ-BHDWZP9k.mjs → invariants-Cww4bv0v-BEiFxmbX.mjs} +3 -3
- package/dist/{invariants-DcFfhJMZ-BHDWZP9k.mjs.map → invariants-Cww4bv0v-BEiFxmbX.mjs.map} +1 -1
- package/dist/{io-DsViRB_O-Ci1kJGBg.mjs → io-BmWQNxRP-DQqbcPsS.mjs} +5 -5
- package/dist/{io-DsViRB_O-Ci1kJGBg.mjs.map → io-BmWQNxRP-DQqbcPsS.mjs.map} +1 -1
- package/dist/{migration-CWSj4pMr.mjs → migration-B9w-7dKe.mjs} +3 -3
- package/dist/{migration-CWSj4pMr.mjs.map → migration-B9w-7dKe.mjs.map} +1 -1
- package/dist/{migration-graph-DwXAHP6T-NgmP2DNz.mjs → migration-graph-CW4bMmTz-B5xFtFVB.mjs} +3 -3
- package/dist/{migration-graph-DwXAHP6T-NgmP2DNz.mjs.map → migration-graph-CW4bMmTz-B5xFtFVB.mjs.map} +1 -1
- package/dist/migration-tools.mjs +12 -12
- package/dist/migration-tools__aggregate.mjs +1 -1
- package/dist/migration-tools__contract-snapshot-store.mjs +1 -1
- package/dist/migration-tools__errors.mjs +1 -1
- package/dist/migration-tools__invariants.mjs +1 -1
- package/dist/migration-tools__io.mjs +1 -1
- package/dist/migration-tools__migration-graph.mjs +2 -2
- package/dist/migration-tools__migration.mjs +1 -1
- package/dist/migration-tools__ref-resolution.mjs +1 -1
- package/dist/migration-tools__refs.mjs +1 -1
- package/dist/migration-tools__spaces.mjs +2 -2
- package/dist/{ref-DJkSkzAt-DCYlpVrB.mjs → ref-XdaDN3GF-Io-mSVS6.mjs} +51 -51
- package/dist/ref-XdaDN3GF-Io-mSVS6.mjs.map +1 -0
- package/dist/{ref-resolution-Cbdejrwt.mjs → ref-resolution-D77jPigU.mjs} +2 -2
- package/dist/{ref-resolution-Cbdejrwt.mjs.map → ref-resolution-D77jPigU.mjs.map} +1 -1
- package/dist/{refs-KVVlm3lE-BcqdpdYD.mjs → refs-BpSpzdYB-BcDelHGt.mjs} +9 -9
- package/dist/refs-BpSpzdYB-BcDelHGt.mjs.map +1 -0
- package/dist/{spaces-CHrjWRoZ.mjs → spaces-BCZiAZQn.mjs} +6 -6
- package/dist/{spaces-CHrjWRoZ.mjs.map → spaces-BCZiAZQn.mjs.map} +1 -1
- package/dist/{verify-contract-spaces-DomK5uP5-CyI3hD3Q.mjs → verify-contract-spaces-CrxvgpwD-D5LLXGci.mjs} +7 -7
- package/dist/{verify-contract-spaces-DomK5uP5-CyI3hD3Q.mjs.map → verify-contract-spaces-CrxvgpwD-D5LLXGci.mjs.map} +1 -1
- package/dist/vite-plugin-contract-emit.mjs +1 -1
- package/package.json +12 -12
- package/dist/errors-CcEpbfnE-CsSXrttT.mjs.map +0 -1
- package/dist/ref-DJkSkzAt-DCYlpVrB.mjs.map +0 -1
- package/dist/refs-KVVlm3lE-BcqdpdYD.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"refs-KVVlm3lE-BcqdpdYD.mjs","names":[],"sources":["../../../../1-framework/3-tooling/migration/dist/refs-KVVlm3lE.mjs"],"sourcesContent":["import { b as errorInvalidRefName, t as MigrationToolsError, x as errorInvalidRefValue, y as errorInvalidRefFile } from \"./errors-CcEpbfnE.mjs\";\nimport { dirname, join, relative } from \"pathe\";\nimport { mkdir, readFile, readdir, rename, rmdir, unlink, writeFile } from \"node:fs/promises\";\nimport { type } from \"arktype\";\n//#region src/refs.ts\n/**\n* The system head ref lives at `refs/head.json`. It is read (and its\n* corruption judged) through `readContractSpaceHeadRef`, not as a\n* user-authored ref, so {@link readRefsTolerant} excludes it.\n*/\nconst HEAD_REF_NAME = \"head\";\nconst REF_NAME_PATTERN = /^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\/[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/;\nconst REF_VALUE_PATTERN = /^(empty|[0-9a-f]{64})$/;\nfunction validateRefName(name) {\n\tif (name.length === 0) return false;\n\tif (name.includes(\"..\")) return false;\n\tif (name.includes(\"//\")) return false;\n\tif (name.startsWith(\".\")) return false;\n\treturn REF_NAME_PATTERN.test(name);\n}\nfunction validateRefValue(value) {\n\treturn REF_VALUE_PATTERN.test(value);\n}\nconst RefEntrySchema = type({\n\thash: \"string\",\n\tinvariants: \"string[]\"\n}).narrow((entry, ctx) => {\n\tif (!validateRefValue(entry.hash)) return ctx.mustBe(`a valid contract hash (got \"${entry.hash}\")`);\n\treturn true;\n});\nfunction refFilePath(refsDir, name) {\n\treturn join(refsDir, `${name}.json`);\n}\nfunction refNameFromPath(refsDir, filePath) {\n\treturn relative(refsDir, filePath).replace(/\\.json$/, \"\");\n}\nasync function readRef(refsDir, name) {\n\tif (!validateRefName(name)) throw errorInvalidRefName(name);\n\tconst filePath = refFilePath(refsDir, name);\n\tlet raw;\n\ttry {\n\t\traw = await readFile(filePath, \"utf-8\");\n\t} catch (error) {\n\t\tif (error instanceof Error && error.code === \"ENOENT\") throw new MigrationToolsError(\"MIGRATION.UNKNOWN_REF\", `Unknown ref \"${name}\"`, {\n\t\t\twhy: `No ref file found at \"${filePath}\".`,\n\t\t\tfix: `Create the ref with: prisma ref set ${name} <hash>`,\n\t\t\tnextActions: [{\n\t\t\t\tkind: \"run-command\",\n\t\t\t\tlabel: `Create the ref \"${name}\"`,\n\t\t\t\tcommand: `{bin} ref set ${name} <hash>`\n\t\t\t}],\n\t\t\tmeta: {\n\t\t\t\trefName: name,\n\t\t\t\tfilePath\n\t\t\t}\n\t\t});\n\t\tthrow error;\n\t}\n\tlet parsed;\n\ttry {\n\t\tparsed = JSON.parse(raw);\n\t} catch {\n\t\tthrow errorInvalidRefFile(filePath, \"Failed to parse as JSON\");\n\t}\n\tconst result = RefEntrySchema(parsed);\n\tif (result instanceof type.errors) throw errorInvalidRefFile(filePath, result.summary);\n\treturn result;\n}\nasync function readRefs(refsDir) {\n\tlet entries;\n\ttry {\n\t\tentries = await readdir(refsDir, {\n\t\t\trecursive: true,\n\t\t\tencoding: \"utf-8\"\n\t\t});\n\t} catch (error) {\n\t\tif (error instanceof Error && error.code === \"ENOENT\") return {};\n\t\tthrow error;\n\t}\n\tconst jsonFiles = entries.filter((entry) => entry.endsWith(\".json\") && !entry.endsWith(\".contract.json\"));\n\tconst refs = {};\n\tfor (const jsonFile of jsonFiles) {\n\t\tconst filePath = join(refsDir, jsonFile);\n\t\tconst name = refNameFromPath(refsDir, filePath);\n\t\tlet raw;\n\t\ttry {\n\t\t\traw = await readFile(filePath, \"utf-8\");\n\t\t} catch (error) {\n\t\t\tconst code = error instanceof Error ? error.code : void 0;\n\t\t\tif (code === \"ENOENT\" || code === \"EISDIR\") continue;\n\t\t\tthrow error;\n\t\t}\n\t\tlet parsed;\n\t\ttry {\n\t\t\tparsed = JSON.parse(raw);\n\t\t} catch {\n\t\t\tthrow errorInvalidRefFile(filePath, \"Failed to parse as JSON\");\n\t\t}\n\t\tconst result = RefEntrySchema(parsed);\n\t\tif (result instanceof type.errors) throw errorInvalidRefFile(filePath, result.summary);\n\t\trefs[name] = result;\n\t}\n\treturn refs;\n}\n/**\n* Read a space's user-authored refs without ever throwing on disk\n* content. A ref whose JSON is unparseable or whose shape fails\n* {@link RefEntrySchema} is omitted from `refs` and reported as a\n* {@link RefLoadProblem}; the remaining well-formed refs are still\n* returned. A missing `refs/` directory yields no refs and no problems.\n*\n* `refs/head.json` is deliberately skipped here: the system head ref is\n* read through `readContractSpaceHeadRef` (which validates head-ref\n* shape, distinct from the strict user-ref hash grammar), so it is judged\n* there and never doubles as a user ref. Genuine I/O faults (EACCES, EIO,\n* …) still propagate — only parse / schema problems are made tolerant.\n*/\nasync function readRefsTolerant(refsDir) {\n\tlet entries;\n\ttry {\n\t\tentries = await readdir(refsDir, {\n\t\t\trecursive: true,\n\t\t\tencoding: \"utf-8\"\n\t\t});\n\t} catch (error) {\n\t\tif (error instanceof Error && error.code === \"ENOENT\") return {\n\t\t\trefs: {},\n\t\t\tproblems: []\n\t\t};\n\t\tthrow error;\n\t}\n\tconst jsonFiles = entries.filter((entry) => entry.endsWith(\".json\") && !entry.endsWith(\".contract.json\") && entry !== `head.json`);\n\tconst refs = {};\n\tconst problems = [];\n\tfor (const jsonFile of jsonFiles) {\n\t\tconst filePath = join(refsDir, jsonFile);\n\t\tconst name = refNameFromPath(refsDir, filePath);\n\t\tlet raw;\n\t\ttry {\n\t\t\traw = await readFile(filePath, \"utf-8\");\n\t\t} catch (error) {\n\t\t\tconst code = error instanceof Error ? error.code : void 0;\n\t\t\tif (code === \"ENOENT\" || code === \"EISDIR\") continue;\n\t\t\tthrow error;\n\t\t}\n\t\tlet parsed;\n\t\ttry {\n\t\t\tparsed = JSON.parse(raw);\n\t\t} catch (e) {\n\t\t\tproblems.push({\n\t\t\t\trefName: name,\n\t\t\t\tdetail: e instanceof Error ? e.message : String(e)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst result = RefEntrySchema(parsed);\n\t\tif (result instanceof type.errors) {\n\t\t\tproblems.push({\n\t\t\t\trefName: name,\n\t\t\t\tdetail: result.summary\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\trefs[name] = result;\n\t}\n\treturn {\n\t\trefs,\n\t\tproblems\n\t};\n}\nasync function writeRef(refsDir, name, entry) {\n\tif (!validateRefName(name)) throw errorInvalidRefName(name);\n\tif (!validateRefValue(entry.hash)) throw errorInvalidRefValue(entry.hash);\n\tconst filePath = refFilePath(refsDir, name);\n\tconst dir = dirname(filePath);\n\tawait mkdir(dir, { recursive: true });\n\tconst tmpPath = join(dir, `.${name.split(\"/\").pop()}.json.${Date.now()}.tmp`);\n\tawait writeFile(tmpPath, `${JSON.stringify({\n\t\thash: entry.hash,\n\t\tinvariants: [...entry.invariants]\n\t}, null, 2)}\\n`);\n\tawait rename(tmpPath, filePath);\n}\nasync function deleteRef(refsDir, name) {\n\tif (!validateRefName(name)) throw errorInvalidRefName(name);\n\tconst filePath = refFilePath(refsDir, name);\n\ttry {\n\t\tawait unlink(filePath);\n\t} catch (error) {\n\t\tif (error instanceof Error && error.code === \"ENOENT\") throw new MigrationToolsError(\"MIGRATION.UNKNOWN_REF\", `Unknown ref \"${name}\"`, {\n\t\t\twhy: `No ref file found at \"${filePath}\".`,\n\t\t\tfix: \"Run `prisma ref list` to see available refs.\",\n\t\t\tnextActions: [{\n\t\t\t\tkind: \"run-command\",\n\t\t\t\tlabel: \"List the available refs\",\n\t\t\t\tcommand: \"{bin} ref list\"\n\t\t\t}],\n\t\t\tmeta: {\n\t\t\t\trefName: name,\n\t\t\t\tfilePath\n\t\t\t}\n\t\t});\n\t\tthrow error;\n\t}\n\tlet dir = dirname(filePath);\n\twhile (dir !== refsDir && dir.startsWith(refsDir)) try {\n\t\tawait rmdir(dir);\n\t\tdir = dirname(dir);\n\t} catch (error) {\n\t\tconst code = error instanceof Error ? error.code : void 0;\n\t\tif (code === \"ENOTEMPTY\" || code === \"EEXIST\" || code === \"ENOENT\") break;\n\t\tthrow error;\n\t}\n}\n/**\n* Index user-authored refs by the contract hash each ref points at.\n* Each bucket is sorted lex-asc for deterministic output.\n*/\nfunction refsByContractHash(refs) {\n\tconst byHash = /* @__PURE__ */ new Map();\n\tfor (const [name, entry] of Object.entries(refs)) {\n\t\tconst bucket = byHash.get(entry.hash);\n\t\tif (bucket) bucket.push(name);\n\t\telse byHash.set(entry.hash, [name]);\n\t}\n\tfor (const bucket of byHash.values()) bucket.sort();\n\treturn byHash;\n}\n/**\n* Read `migrations/<space>/refs/*.json` and index by destination hash.\n* Returns an empty map when the refs directory does not exist.\n*/\nasync function resolveRefsByContractHash(refsDir) {\n\treturn refsByContractHash(await readRefs(refsDir));\n}\nfunction resolveRef(refs, name) {\n\tif (!validateRefName(name)) throw errorInvalidRefName(name);\n\tif (!Object.hasOwn(refs, name)) throw new MigrationToolsError(\"MIGRATION.UNKNOWN_REF\", `Unknown ref \"${name}\"`, {\n\t\twhy: `No ref named \"${name}\" exists.`,\n\t\tfix: `Available refs: ${Object.keys(refs).join(\", \") || \"(none)\"}. Create a ref with: prisma ref set ${name} <hash>`,\n\t\tnextActions: [{\n\t\t\tkind: \"run-command\",\n\t\t\tlabel: `Create the ref \"${name}\"`,\n\t\t\tcommand: `{bin} ref set ${name} <hash>`,\n\t\t\treason: `Available refs: ${Object.keys(refs).join(\", \") || \"(none)\"}.`\n\t\t}],\n\t\tmeta: {\n\t\t\trefName: name,\n\t\t\tavailableRefs: Object.keys(refs)\n\t\t}\n\t});\n\treturn refs[name];\n}\n//#endregion\nexport { readRefsTolerant as a, resolveRefsByContractHash as c, writeRef as d, readRefs as i, validateRefName as l, deleteRef as n, refsByContractHash as o, readRef as r, resolveRef as s, HEAD_REF_NAME as t, validateRefValue as u };\n\n//# sourceMappingURL=refs-KVVlm3lE.mjs.map"],"mappings":"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"}
|