pray-cli 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cli/commands/plan.d.ts.map +1 -1
  3. package/dist/cli/commands/plan.js +4 -4
  4. package/dist/cli/commands/plan.js.map +1 -1
  5. package/dist/cli/commands/update-core.d.ts +1 -0
  6. package/dist/cli/commands/update-core.d.ts.map +1 -1
  7. package/dist/cli/commands/update-core.js +25 -10
  8. package/dist/cli/commands/update-core.js.map +1 -1
  9. package/dist/cli/commands/update-latest.d.ts.map +1 -1
  10. package/dist/cli/commands/update-latest.js +15 -23
  11. package/dist/cli/commands/update-latest.js.map +1 -1
  12. package/dist/cli/help.d.ts.map +1 -1
  13. package/dist/cli/help.js +5 -1
  14. package/dist/cli/help.js.map +1 -1
  15. package/dist/cli/main.d.ts.map +1 -1
  16. package/dist/cli/main.js +150 -133
  17. package/dist/cli/main.js.map +1 -1
  18. package/dist/cli/materialize.d.ts.map +1 -1
  19. package/dist/cli/materialize.js +5 -1
  20. package/dist/cli/materialize.js.map +1 -1
  21. package/dist/lockfile/index.d.ts.map +1 -1
  22. package/dist/lockfile/index.js +4 -3
  23. package/dist/lockfile/index.js.map +1 -1
  24. package/dist/lockfile/types.d.ts +2 -2
  25. package/dist/lockfile/types.js +1 -1
  26. package/dist/manifest/edit.d.ts.map +1 -1
  27. package/dist/manifest/edit.js +3 -3
  28. package/dist/manifest/edit.js.map +1 -1
  29. package/dist/render/dest.d.ts +2 -1
  30. package/dist/render/dest.d.ts.map +1 -1
  31. package/dist/render/dest.js +46 -9
  32. package/dist/render/dest.js.map +1 -1
  33. package/dist/render/destination-io.d.ts +2 -0
  34. package/dist/render/destination-io.d.ts.map +1 -1
  35. package/dist/render/destination-io.js +27 -2
  36. package/dist/render/destination-io.js.map +1 -1
  37. package/dist/render/project.d.ts.map +1 -1
  38. package/dist/render/project.js +6 -1
  39. package/dist/render/project.js.map +1 -1
  40. package/dist/render/rendered-dest.d.ts.map +1 -1
  41. package/dist/render/rendered-dest.js +6 -3
  42. package/dist/render/rendered-dest.js.map +1 -1
  43. package/dist/resolve/project.d.ts +2 -1
  44. package/dist/resolve/project.d.ts.map +1 -1
  45. package/dist/resolve/project.js +1 -2
  46. package/dist/resolve/project.js.map +1 -1
  47. package/dist/transaction/hooks.d.ts +7 -0
  48. package/dist/transaction/hooks.d.ts.map +1 -0
  49. package/dist/transaction/hooks.js +10 -0
  50. package/dist/transaction/hooks.js.map +1 -0
  51. package/dist/transaction/index.d.ts +3 -0
  52. package/dist/transaction/index.d.ts.map +1 -0
  53. package/dist/transaction/index.js +81 -0
  54. package/dist/transaction/index.js.map +1 -0
  55. package/dist/transaction/journal.d.ts +19 -0
  56. package/dist/transaction/journal.d.ts.map +1 -0
  57. package/dist/transaction/journal.js +189 -0
  58. package/dist/transaction/journal.js.map +1 -0
  59. package/dist/transaction/owner.d.ts +5 -0
  60. package/dist/transaction/owner.d.ts.map +1 -0
  61. package/dist/transaction/owner.js +105 -0
  62. package/dist/transaction/owner.js.map +1 -0
  63. package/dist/transaction/records.d.ts +25 -0
  64. package/dist/transaction/records.d.ts.map +1 -0
  65. package/dist/transaction/records.js +79 -0
  66. package/dist/transaction/records.js.map +1 -0
  67. package/dist/verify/project.d.ts.map +1 -1
  68. package/dist/verify/project.js +4 -3
  69. package/dist/verify/project.js.map +1 -1
  70. package/dist/verify/provisioned.d.ts +2 -1
  71. package/dist/verify/provisioned.d.ts.map +1 -1
  72. package/dist/verify/provisioned.js +12 -5
  73. package/dist/verify/provisioned.js.map +1 -1
  74. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.12.0 (2026-09-07)
6
+
7
+ - Restore compose files, provisioned destinations, Prayfile, and lock after failed writes, and recover interrupted writes on the next install, plan, or verification on Unix.
8
+ - Preserve later local edits when recovery encounters changed files, and prevent cooperating Pray commands from writing the same project together.
9
+ - Limit destination reads to 32 MiB, saved transaction payload to 64 MiB across 10,000 writes, and grouped conflict details to 100 entries.
10
+ - Keep Prayfile constraints unchanged when `pray update --latest` cannot write destination files.
11
+ - Apply newer versions with `update --latest --json` even when the existing constraints already allow them, and check destination conflicts during `update --latest --dry-run`.
12
+ - Report conflicting file and tree destinations together before changing compose output, with steps that preserve local edits.
13
+
5
14
  ## 1.11.0 (2026-09-04)
6
15
 
7
16
  - Read the whole eight byte tar checksum field so `.praypkg` archives whose checksum is written as seven octal digits unpack instead of failing integrity.
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAIpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO9D,wBAAsB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiD3E;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,EACxD,QAAQ,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,GAC3D,MAAM,CAER"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,4BAA4B,EAE7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO9D,wBAAsB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD3E;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,EACxD,QAAQ,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,GAC3D,MAAM,CAER"}
@@ -1,9 +1,8 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { PrayError } from "../../errors.js";
3
3
  import { buildLockfile, readLockfile } from "../../lockfile/index.js";
4
- import { provisionedDestinationStatus } from "../../render/dest.js";
4
+ import { provisionedDestinationStatus, provisionedDestinationStatuses, } from "../../render/dest.js";
5
5
  import { renderProject } from "../../render/project.js";
6
- import { plannedProvisionedFiles } from "../../render/provisioned.js";
7
6
  import { defaultResolveOptions } from "../../resolve/context.js";
8
7
  import { lockfilePath, resolveCurrentProject, resolveCurrentProjectWithGitRefreshFallback, } from "../invocation.js";
9
8
  export async function runPlanCommand(argumentsList) {
@@ -30,12 +29,13 @@ export async function runPlanCommand(argumentsList) {
30
29
  const previous = existsSync(lockfilePath())
31
30
  ? readLockfile(lockfilePath())
32
31
  : undefined;
32
+ const destinations = provisionedDestinationStatuses(project, previous);
33
33
  process.stdout.write("Plan\n");
34
34
  for (const target of rendered) {
35
35
  process.stdout.write(`would render ${target.path}\n`);
36
36
  }
37
- for (const file of plannedProvisionedFiles(project)) {
38
- process.stdout.write(`Provisioned ${file.path}: ${provisionedChange(project, file, previous)}\n`);
37
+ for (const [file, status] of destinations) {
38
+ process.stdout.write(`Provisioned ${file.path}: ${status}\n`);
39
39
  }
40
40
  if (!previous) {
41
41
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare function updateWithManifestConstraints(packageName: string | unde
7
7
  to_constraint: string;
8
8
  registry_latest_version: string;
9
9
  }>): Promise<void>;
10
+ export declare function writeUpdate(project: ResolvedProject, packageName: string | undefined, json: boolean, manifestConstraintUpdates: Parameters<typeof updateWithManifestConstraints>[2], manifestUpdate?: string, dryRun?: boolean): Promise<void>;
10
11
  export declare function printUpdateJsonReport(manifestConstraintUpdates: Array<{
11
12
  name: string;
12
13
  from_constraint: string;
@@ -1 +1 @@
1
- {"version":3,"file":"update-core.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update-core.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAU9D,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED,wBAAsB,6BAA6B,CACjD,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE,OAAO,EACb,yBAAyB,EAAE,KAAK,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC,GACD,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED,wBAAgB,qBAAqB,CACnC,yBAAyB,EAAE,KAAK,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC,EACF,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,OAAO,EAAE,QAAQ,GAAG,SAAS,EAC7B,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,OAAO,EAAE,eAAe,GACvB,IAAI,CAoCN"}
1
+ {"version":3,"file":"update-core.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update-core.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAQxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAW9D,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED,wBAAsB,6BAA6B,CACjD,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE,OAAO,EACb,yBAAyB,EAAE,KAAK,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC,GACD,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE,OAAO,EACb,yBAAyB,EAAE,UAAU,CACnC,OAAO,6BAA6B,CACrC,CAAC,CAAC,CAAC,EACJ,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,UAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CA8Df;AAED,wBAAgB,qBAAqB,CACnC,yBAAyB,EAAE,KAAK,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC,EACF,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,OAAO,EAAE,QAAQ,GAAG,SAAS,EAC7B,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,OAAO,EAAE,eAAe,GACvB,IAAI,CAoCN"}
@@ -1,8 +1,10 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { PrayError } from "../../errors.js";
3
3
  import { buildLockfile, readLockfile, writeLockfile, writeLockfileIfChanged, } from "../../lockfile/index.js";
4
- import { renderProject, writeRenderedTargets } from "../../render/project.js";
4
+ import { provisionedDestinationStatuses } from "../../render/dest.js";
5
+ import { layoutRenderedTargets, renderProject, writeRenderedTargets, } from "../../render/project.js";
5
6
  import { defaultResolveOptions } from "../../resolve/context.js";
7
+ import { writeProjectFile } from "../../transaction/index.js";
6
8
  import { lockfilePath, resolveCurrentProject } from "../invocation.js";
7
9
  import { buildUpdateSummary, constraintBlockedPackagesJson, mergeSelectedPackageUpdate, printConstraintBlockedPackages, printUpdateSummary, } from "./update-report.js";
8
10
  export async function previewRemoteUpdates(selectedPackage, json) {
@@ -40,27 +42,30 @@ export async function previewRemoteUpdates(selectedPackage, json) {
40
42
  process.stdout.write("All packages up to date\n");
41
43
  }
42
44
  export async function updateWithManifestConstraints(packageName, json, manifestConstraintUpdates) {
43
- const projectCheck = await resolveCurrentProject();
44
- if (packageName &&
45
- !projectCheck.manifest.packages.some((entry) => entry.name === packageName)) {
46
- throw PrayError.manifest(`package ${packageName} not found`);
47
- }
48
- const previous = existsSync(lockfilePath())
49
- ? readLockfile(lockfilePath())
50
- : undefined;
51
45
  const project = await resolveCurrentProject({
52
46
  ...defaultResolveOptions(),
53
47
  refreshSourceRevisions: true,
54
48
  ignoreLockedVersions: packageName === undefined,
55
49
  unlockedPackages: packageName ? new Set([packageName]) : new Set(),
56
50
  });
51
+ await writeUpdate(project, packageName, json, manifestConstraintUpdates);
52
+ }
53
+ export async function writeUpdate(project, packageName, json, manifestConstraintUpdates, manifestUpdate, dryRun = false) {
54
+ if (packageName &&
55
+ !project.manifest.packages.some((entry) => entry.name === packageName)) {
56
+ throw PrayError.manifest(`package ${packageName} not found`);
57
+ }
58
+ const previous = existsSync(lockfilePath())
59
+ ? readLockfile(lockfilePath())
60
+ : undefined;
57
61
  const rendered = renderProject(project);
62
+ const laidOut = layoutRenderedTargets(project, rendered);
58
63
  const updatedLockfile = buildLockfile({
59
64
  manifestHash: project.manifestHash,
60
65
  projectRoot: project.projectRoot,
61
66
  manifestSources: project.manifest.sources,
62
67
  manifestTargets: project.manifest.targets,
63
- rendered,
68
+ rendered: laidOut,
64
69
  packages: project.packages,
65
70
  sourceRevisions: project.sourceRevisions,
66
71
  sourceHostKeys: project.sourceHostKeys,
@@ -69,7 +74,17 @@ export async function updateWithManifestConstraints(packageName, json, manifestC
69
74
  const merged = previous && packageName
70
75
  ? mergeSelectedPackageUpdate(previous, updatedLockfile, packageName)
71
76
  : updatedLockfile;
77
+ const destinations = provisionedDestinationStatuses(project, previous);
78
+ if (dryRun) {
79
+ for (const target of laidOut)
80
+ process.stdout.write(`would render ${target.path}\n`);
81
+ for (const [file, status] of destinations)
82
+ process.stdout.write(`${file.path}: ${status}\n`);
83
+ return;
84
+ }
72
85
  writeRenderedTargets(project, rendered, previous);
86
+ if (manifestUpdate !== undefined)
87
+ writeProjectFile(project.manifestPath, manifestUpdate);
73
88
  if (packageName) {
74
89
  writeLockfile(lockfilePath(), merged);
75
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-core.js","sourceRoot":"","sources":["../../../src/cli/commands/update-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-core.js","sourceRoot":"","sources":["../../../src/cli/commands/update-core.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-latest.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update-latest.ts"],"names":[],"mappings":"AAoBA,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE,OAAO,EACb,MAAM,UAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CAoFf"}
1
+ {"version":3,"file":"update-latest.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update-latest.ts"],"names":[],"mappings":"AAaA,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE,OAAO,EACb,MAAM,UAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CAsFf"}
@@ -1,15 +1,16 @@
1
- import { existsSync, readFileSync, writeFileSync } from "node:fs";
1
+ import { readFileSync } from "node:fs";
2
2
  import { latestConstraintForPackage, versionSatisfies, } from "../../constraint.js";
3
3
  import { PrayError } from "../../errors.js";
4
- import { readLockfile } from "../../lockfile/index.js";
5
4
  import { parseManifest } from "../../manifest/index.js";
6
5
  import { replacePackageDeclaration } from "../../manifest/package-declaration.js";
7
6
  import { defaultResolveOptions } from "../../resolve/context.js";
8
- import { lockfilePath, manifestPath, resolveCurrentProject, } from "../invocation.js";
9
- import { printUpdateJsonReport, updateWithManifestConstraints, } from "./update-core.js";
7
+ import { resolveProject } from "../../resolve/project.js";
8
+ import { manifestPath, resolveCurrentProject } from "../invocation.js";
9
+ import { writeUpdate } from "./update-core.js";
10
10
  export async function updateLatestCommand(packageName, json, dryRun = false) {
11
11
  const path = manifestPath();
12
- let manifestText = readFileSync(path, "utf8");
12
+ const originalText = readFileSync(path, "utf8");
13
+ let manifestText = originalText;
13
14
  const project = await resolveCurrentProject({
14
15
  ...defaultResolveOptions(),
15
16
  refreshSourceRevisions: true,
@@ -47,29 +48,20 @@ export async function updateLatestCommand(packageName, json, dryRun = false) {
47
48
  });
48
49
  }
49
50
  if (manifestUpdates.length === 0) {
50
- if (json) {
51
- const current = existsSync(lockfilePath())
52
- ? readLockfile(lockfilePath())
53
- : undefined;
54
- printUpdateJsonReport([], current, current, packageName, project);
55
- return;
56
- }
57
- process.stdout.write("All package constraints already allow registry latest versions\n");
51
+ if (!json)
52
+ process.stdout.write("All package constraints already allow registry latest versions\n");
58
53
  }
59
54
  else if (!json) {
60
55
  for (const update of manifestUpdates) {
61
56
  process.stdout.write(`Prayfile: ${update.name} constraint ${update.from_constraint} -> ${update.to_constraint} (registry latest ${update.registry_latest_version})\n`);
62
57
  }
63
58
  }
64
- if (manifestUpdates.length > 0) {
65
- parseManifest(manifestText);
66
- }
67
- if (dryRun) {
68
- return;
69
- }
70
- if (manifestUpdates.length > 0) {
71
- writeFileSync(path, manifestText, "utf8");
72
- }
73
- await updateWithManifestConstraints(packageName, json, manifestUpdates);
59
+ const candidate = await resolveProject(path, {
60
+ ...defaultResolveOptions(),
61
+ refreshSourceRevisions: true,
62
+ ignoreLockedVersions: packageName === undefined,
63
+ unlockedPackages: packageName ? new Set([packageName]) : new Set(),
64
+ }, parseManifest(manifestText));
65
+ await writeUpdate(candidate, packageName, json, manifestUpdates, manifestText === originalText ? undefined : manifestText, dryRun);
74
66
  }
75
67
  //# sourceMappingURL=update-latest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-latest.js","sourceRoot":"","sources":["../../../src/cli/commands/update-latest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-latest.js","sourceRoot":"","sources":["../../../src/cli/commands/update-latest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAoJA,wBAAgB,eAAe,IAAI,MAAM,CAqBxC;AAED,eAAO,MAAM,SAAS,QAAoB,CAAC;AAE3C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnE;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,CAAC;AAExD,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,kBAAkB,CA+C1E"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAwJA,wBAAgB,eAAe,IAAI,MAAM,CAqBxC;AAED,eAAO,MAAM,SAAS,QAAoB,CAAC;AAE3C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnE;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,CAAC;AAExD,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,kBAAkB,CA+C1E"}
package/dist/cli/help.js CHANGED
@@ -65,7 +65,11 @@ const COMMAND_HELP = {
65
65
  fmt: "rewrite Prayfile to recommended destination DSL\n\n" +
66
66
  "Usage: pray format\n pray fmt",
67
67
  update: "refresh package versions within constraints\n\n" +
68
- "Usage: pray update [package] [--major] [--latest] [--dry-run] [--json]",
68
+ "Usage: pray update [package] [--major] [--latest] [--dry-run] [--json]\n\n" +
69
+ "--latest adjusts constraints to allow the latest package versions.\n" +
70
+ "--latest --dry-run previews those versions and checks destination conflicts.\n" +
71
+ "If a destination conflicts, inspect it and move it aside before retrying.\n" +
72
+ "For files from an older pray, install the original package version first.",
69
73
  plan: "preview install/apply changes\n\nUsage: pray plan [--remote]",
70
74
  outdated: "show constraint vs resolved versions\n\n" +
71
75
  "Usage: pray outdated [--remote]",
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAsCA,wBAAsB,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwLrE"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAuCA,wBAAsB,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwMrE"}
package/dist/cli/main.js CHANGED
@@ -4,6 +4,7 @@ import { readLockfile } from "../lockfile/index.js";
4
4
  import { PACKAGE_VERSION } from "../lockfile/types.js";
5
5
  import { initDistributionRoot } from "../publish/index.js";
6
6
  import { renderProject } from "../render/project.js";
7
+ import { runTransaction } from "../transaction/index.js";
7
8
  import { renderDependencyTree } from "../tree/index.js";
8
9
  import { runTrustCommand } from "../trust/index.js";
9
10
  import { cleanProjectCaches, cleanUnusedRegistryCache, vendorProject, } from "../vendor/index.js";
@@ -50,147 +51,163 @@ export async function runCli(argumentsList) {
50
51
  return 0;
51
52
  }
52
53
  const [command, ...rest] = initializeInvocation(filteredArguments);
53
- switch (command) {
54
- case "version":
55
- case "-V":
56
- case "--version":
57
- process.stdout.write(`pray ${PACKAGE_VERSION} (typescript)\n`);
58
- return 0;
59
- case "help":
60
- case "-h":
61
- case "--help":
62
- process.stdout.write(conciseHelpText());
63
- return 0;
64
- case "manifest":
65
- await printManifest();
66
- return 0;
67
- case "init":
68
- runInit(rest);
69
- return 0;
70
- case "prayer":
71
- if (rest[0] !== "init") {
72
- throw PrayError.unsupported("prayer requires init");
73
- }
74
- runPrayerInit();
75
- return 0;
76
- case "repo":
77
- if (rest[0] !== "init") {
78
- throw PrayError.unsupported("repo requires init");
79
- }
80
- initDistributionRoot(process.cwd());
81
- process.stdout.write("created distribution root\n");
82
- return 0;
83
- case "add":
84
- await runAdd(rest);
85
- return 0;
86
- case "remove":
87
- await runRemove(rest[0]);
88
- return 0;
89
- case "update":
90
- await runUpdateCommand(rest);
91
- return 0;
92
- case "unlock":
93
- await runUnlock(rest[0]);
94
- return 0;
95
- case "install":
96
- case "apply":
97
- await materializeProject({
98
- frozen: rest.includes("--frozen"),
99
- locked: rest.includes("--locked"),
100
- offline: rest.includes("--offline"),
101
- });
102
- return 0;
103
- case "plan":
104
- await runPlanCommand(rest);
105
- return 0;
106
- case "render":
107
- if (rest.includes("--check")) {
54
+ const execute = async () => {
55
+ switch (command) {
56
+ case "version":
57
+ case "-V":
58
+ case "--version":
59
+ process.stdout.write(`pray ${PACKAGE_VERSION} (typescript)\n`);
60
+ return 0;
61
+ case "help":
62
+ case "-h":
63
+ case "--help":
64
+ process.stdout.write(conciseHelpText());
65
+ return 0;
66
+ case "manifest":
67
+ await printManifest();
68
+ return 0;
69
+ case "init":
70
+ runInit(rest);
71
+ return 0;
72
+ case "prayer":
73
+ if (rest[0] !== "init") {
74
+ throw PrayError.unsupported("prayer requires init");
75
+ }
76
+ runPrayerInit();
77
+ return 0;
78
+ case "repo":
79
+ if (rest[0] !== "init") {
80
+ throw PrayError.unsupported("repo requires init");
81
+ }
82
+ initDistributionRoot(process.cwd());
83
+ process.stdout.write("created distribution root\n");
84
+ return 0;
85
+ case "add":
86
+ await runAdd(rest);
87
+ return 0;
88
+ case "remove":
89
+ await runRemove(rest[0]);
90
+ return 0;
91
+ case "update":
92
+ await runUpdateCommand(rest);
93
+ return 0;
94
+ case "unlock":
95
+ await runUnlock(rest[0]);
96
+ return 0;
97
+ case "install":
98
+ case "apply":
99
+ await materializeProject({
100
+ frozen: rest.includes("--frozen"),
101
+ locked: rest.includes("--locked"),
102
+ offline: rest.includes("--offline"),
103
+ });
104
+ return 0;
105
+ case "plan":
106
+ await runPlanCommand(rest);
107
+ return 0;
108
+ case "render":
109
+ if (rest.includes("--check")) {
110
+ const project = await resolveCurrentProject();
111
+ renderProject(project);
112
+ process.stdout.write("render check: ok\n");
113
+ return 0;
114
+ }
115
+ await materializeProject();
116
+ return 0;
117
+ case "verify": {
108
118
  const project = await resolveCurrentProject();
109
- renderProject(project);
110
- process.stdout.write("render check: ok\n");
119
+ const lockfile = readLockfile(lockfilePath());
120
+ verifyProject(project, lockfile, rest.includes("--strict"));
121
+ process.stdout.write("verify: ok\n");
111
122
  return 0;
112
123
  }
113
- await materializeProject();
114
- return 0;
115
- case "verify": {
116
- const project = await resolveCurrentProject();
117
- const lockfile = readLockfile(lockfilePath());
118
- verifyProject(project, lockfile, rest.includes("--strict"));
119
- process.stdout.write("verify: ok\n");
120
- return 0;
121
- }
122
- case "drift": {
123
- const project = await resolveCurrentProject();
124
- const lockfile = readLockfile(lockfilePath());
125
- if (rest.includes("--semantic")) {
126
- verifyProject(project, lockfile, false);
124
+ case "drift": {
125
+ const project = await resolveCurrentProject();
126
+ const lockfile = readLockfile(lockfilePath());
127
+ if (rest.includes("--semantic")) {
128
+ verifyProject(project, lockfile, false);
129
+ }
130
+ else {
131
+ driftProject(project, lockfile);
132
+ }
133
+ process.stdout.write("drift: ok\n");
134
+ return 0;
127
135
  }
128
- else {
129
- driftProject(project, lockfile);
136
+ case "format":
137
+ case "fmt":
138
+ await runFormat();
139
+ return 0;
140
+ case "package":
141
+ await runPackage();
142
+ return 0;
143
+ case "publish":
144
+ await runPublish(rest);
145
+ return 0;
146
+ case "login":
147
+ await runLoginCommand(rest, projectRoot());
148
+ return 0;
149
+ case "upgrade":
150
+ runUpgradeCommand();
151
+ return 0;
152
+ case "serve":
153
+ await runServe(rest);
154
+ return 0;
155
+ case "sync":
156
+ await runSync(rest);
157
+ return 0;
158
+ case "trust":
159
+ await runTrustCommand(rest, projectRoot());
160
+ return 0;
161
+ case "confess":
162
+ await runConfess(rest);
163
+ return 0;
164
+ case "list":
165
+ await runList();
166
+ return 0;
167
+ case "outdated":
168
+ await runOutdated(rest);
169
+ return 0;
170
+ case "explain":
171
+ await runExplain(rest[0]);
172
+ return 0;
173
+ case "vendor": {
174
+ const project = await resolveCurrentProject();
175
+ vendorProject(project);
176
+ return 0;
130
177
  }
131
- process.stdout.write("drift: ok\n");
132
- return 0;
133
- }
134
- case "format":
135
- case "fmt":
136
- await runFormat();
137
- return 0;
138
- case "package":
139
- await runPackage();
140
- return 0;
141
- case "publish":
142
- await runPublish(rest);
143
- return 0;
144
- case "login":
145
- await runLoginCommand(rest, projectRoot());
146
- return 0;
147
- case "upgrade":
148
- runUpgradeCommand();
149
- return 0;
150
- case "serve":
151
- await runServe(rest);
152
- return 0;
153
- case "sync":
154
- await runSync(rest);
155
- return 0;
156
- case "trust":
157
- await runTrustCommand(rest, projectRoot());
158
- return 0;
159
- case "confess":
160
- await runConfess(rest);
161
- return 0;
162
- case "list":
163
- await runList();
164
- return 0;
165
- case "outdated":
166
- await runOutdated(rest);
167
- return 0;
168
- case "explain":
169
- await runExplain(rest[0]);
170
- return 0;
171
- case "vendor": {
172
- const project = await resolveCurrentProject();
173
- vendorProject(project);
174
- return 0;
175
- }
176
- case "clean": {
177
- const options = parseCleanArguments(rest);
178
- if (options.unused) {
179
- cleanUnusedRegistryCache(projectRoot());
178
+ case "clean": {
179
+ const options = parseCleanArguments(rest);
180
+ if (options.unused) {
181
+ cleanUnusedRegistryCache(projectRoot());
182
+ }
183
+ else {
184
+ cleanProjectCaches(projectRoot());
185
+ }
186
+ return 0;
180
187
  }
181
- else {
182
- cleanProjectCaches(projectRoot());
188
+ case "tree": {
189
+ const project = await resolveCurrentProject();
190
+ process.stdout.write(`${renderDependencyTree(project).join("\n")}\n`);
191
+ return 0;
183
192
  }
184
- return 0;
193
+ default:
194
+ throw PrayError.usage(unknownCommandMessage(command ?? ""));
185
195
  }
186
- case "tree": {
187
- const project = await resolveCurrentProject();
188
- process.stdout.write(`${renderDependencyTree(project).join("\n")}\n`);
189
- return 0;
190
- }
191
- default:
192
- throw PrayError.usage(unknownCommandMessage(command ?? ""));
193
- }
196
+ };
197
+ return await ([
198
+ "install",
199
+ "apply",
200
+ "update",
201
+ "unlock",
202
+ "add",
203
+ "remove",
204
+ "render",
205
+ "plan",
206
+ "verify",
207
+ "drift",
208
+ ].includes(command ?? "")
209
+ ? runTransaction(projectRoot(), execute)
210
+ : execute());
194
211
  }
195
212
  catch (error) {
196
213
  if (error instanceof PrayError) {