@msn-control/liftoff 0.6.2 → 0.7.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.
@@ -2,7 +2,6 @@ import type { Readable } from 'node:stream';
2
2
  import type { DependencyCommandPlan } from './project-dependencies.js';
3
3
  import { type CommandRunner } from './process-runner.js';
4
4
  import { PresentationSession } from './terminal.js';
5
- import type { UpdateImpact } from './update-impact.js';
6
5
  import type { CodingAgentId, ProjectOptions, ProjectPlan } from './types.js';
7
6
  interface AgentCheckboxChoice {
8
7
  name: string;
@@ -57,9 +56,6 @@ export declare class InteractivePrompter {
57
56
  confirmPlan(plan: ProjectPlan, yes?: boolean, actionLabel?: string): Promise<boolean>;
58
57
  confirmToolInstallation(prompt: ToolInstallationPrompt | string): Promise<boolean>;
59
58
  confirmFileReplacements(paths: readonly string[]): Promise<boolean>;
60
- presentUpdateImpact(impact: UpdateImpact): void;
61
- confirmSafeUpdate(actionCount: number): Promise<boolean>;
62
- confirmConflictOverwrite(paths: readonly string[], managedPathsRemoved: readonly string[]): Promise<boolean>;
63
59
  confirmDependencyInstallation(commands: DependencyCommandPlan[]): Promise<boolean>;
64
60
  private askRequired;
65
61
  private choose;
@@ -73,7 +69,6 @@ export declare class InteractivePrompter {
73
69
  private discoverAgents;
74
70
  private pathExists;
75
71
  private agentChoiceLabel;
76
- private impactPart;
77
72
  private question;
78
73
  private lineIterator;
79
74
  private releaseLineInput;
@@ -164,66 +164,6 @@ export class InteractivePrompter {
164
164
  this.presentation.bullets('Existing regular files with different content', paths);
165
165
  return this.confirm('Replace every listed file?', false);
166
166
  }
167
- presentUpdateImpact(impact) {
168
- const safeParts = [
169
- this.impactPart(impact.creates.length, 'create', 'creates'),
170
- this.impactPart(impact.restores.length, 'restore', 'restores'),
171
- this.impactPart(impact.replacements.length, 'replace', 'replaces'),
172
- this.impactPart(impact.moves.length, 'move', 'moves'),
173
- this.impactPart(impact.recordedStateRefreshes.length, 'recorded-state refresh', 'recorded-state refreshes')
174
- ].filter((part) => part !== undefined);
175
- const removedPaths = impact.managedPathsRemovedOnOverwrite.length > 0
176
- ? `${impact.managedPathsRemoved.length} safe, ${impact.managedPathsRemovedOnOverwrite.length} more if conflicts are approved`
177
- : `${impact.managedPathsRemoved.length}`;
178
- this.presentation.definitions('Update impact', [
179
- {
180
- label: 'Safe actions',
181
- value: impact.safeActionCount > 0
182
- ? `${impact.safeActionCount} (${safeParts.join(', ')})`
183
- : 'None'
184
- },
185
- {
186
- label: 'Local or user-owned files at risk',
187
- value: impact.localOrUserOwnedFilesAtRisk > 0
188
- ? `${impact.localOrUserOwnedFilesAtRisk} (requires separate consent)`
189
- : '0'
190
- },
191
- { label: 'Managed old paths removed', value: removedPaths },
192
- {
193
- label: 'Orphans preserved',
194
- value: `${impact.orphansPreserved.length} (never deleted automatically)`
195
- },
196
- {
197
- label: 'Manifest updated',
198
- value: impact.manifestWillUpdate ? 'Yes, after an accepted update' : 'No'
199
- },
200
- {
201
- label: 'Dependency definitions',
202
- value: impact.dependencyDefinitions.length > 0
203
- ? impact.dependencyDefinitions.join(', ')
204
- : 'None'
205
- },
206
- { label: 'Dependencies installed', value: 'No' },
207
- {
208
- label: 'Liftoff backup after success',
209
- value: 'No; rollback is available only if the transaction fails'
210
- }
211
- ]);
212
- }
213
- async confirmSafeUpdate(actionCount) {
214
- const noun = actionCount === 1 ? 'action' : 'actions';
215
- return this.confirm(`Apply these ${actionCount} safe update ${noun} now?`, false);
216
- }
217
- async confirmConflictOverwrite(paths, managedPathsRemoved) {
218
- this.presentation.bullets('Local or user-owned files at risk', paths);
219
- if (managedPathsRemoved.length > 0) {
220
- this.presentation.bullets('Managed old paths removed on overwrite', managedPathsRemoved);
221
- }
222
- this.presentation.warning('A successful overwrite permanently replaces the listed local content. ' +
223
- 'Liftoff keeps no backup after success; commit or copy local work first.');
224
- const noun = paths.length === 1 ? 'conflict' : 'conflicts';
225
- return this.confirm(`Overwrite all ${paths.length} listed ${noun}?`, false);
226
- }
227
167
  async confirmDependencyInstallation(commands) {
228
168
  this.presentation.table('Project dependency commands', ['Purpose', 'Working directory', 'Command'], commands.map((command) => [
229
169
  command.label,
@@ -423,12 +363,6 @@ export class InteractivePrompter {
423
363
  ].filter((state) => state !== undefined);
424
364
  return `${agent.label} (${states.length > 0 ? states.join(', ') : 'not observable'})`;
425
365
  }
426
- impactPart(count, singular, plural) {
427
- if (count === 0) {
428
- return undefined;
429
- }
430
- return `${count} ${count === 1 ? singular : plural}`;
431
- }
432
366
  async question(label, defaultValue) {
433
367
  this.presentation.prompt(label, defaultValue);
434
368
  const answer = await this.lineIterator().next();
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
package/dist/templates.js CHANGED
@@ -553,9 +553,9 @@ Copy \`.env.example\` to \`.env\`, then configure only the integrations you use:
553
553
  function renderGeneratedUpdateGuide() {
554
554
  return `## Safe Liftoff Updates
555
555
 
556
- \`liftoff update\` reports drift and, in an interactive terminal, shows the overwrite impact before a default-No prompt for safe managed changes. Local or user-owned conflicts require a separate default-No confirmation. With redirected input or output, or with \`--json\`, update remains a prompt-free read-only check; \`liftoff update --apply\` and \`liftoff update --apply --force\` provide explicit automation consent.
556
+ \`liftoff update\` immediately applies safe managed changes without prompting in interactive, redirected, and automated environments. Use \`liftoff update --check\` for a read-only human drift report, or \`liftoff update --check --json\` as an automation gate that exits 0 when clean and 2 when drift exists.
557
557
 
558
- An occupied destination with different user bytes is reported and preserved without conflict consent, while an identical destination is adopted without rewriting it. Update never deletes orphans or installs dependencies. A failed transaction is rolled back, but Liftoff retains no backup after a successful overwrite, so commit or copy local work first.
558
+ Local or user-owned conflicts are skipped by default. Review the reported paths, commit or copy local work, and use \`liftoff update --force\` only when every listed overwrite is intended. An occupied destination with different user bytes remains preserved without force, while an identical destination is adopted without rewriting it. Update never deletes orphans or installs dependencies. A failed transaction is rolled back, but Liftoff retains no backup after a successful overwrite.
559
559
 
560
560
  Liftoff rejects malformed, traversal, absolute, drive-qualified, UNC, separator-containing, or symlink-escaping manifest paths before artifact access. If the manifest is unsafe or malformed, restore \`liftoff.manifest.json\` from version control or regenerate the project with a matching Liftoff version; do not hand-edit unsafe paths. Run \`liftoff <command> --help\` for command-specific syntax because unknown flags, subcommands, values, and extra arguments fail before any write.
561
561
  `;
@@ -24,8 +24,9 @@ plan -> init or migrate -> validate and doctor -> update -> dev and infra helper
24
24
  | `liftoff migrate <source>` | Creates a new sibling scaffold and filtered source copy without changing the source |
25
25
  | `liftoff validate [project]` | Validates manifest identity, durable files, workload metadata, and framework markers |
26
26
  | `liftoff doctor [project]` | Runs read-only workload-derived project and workstation diagnostics |
27
- | `liftoff update [project]` | Reports drift and, in an interactive terminal, explains impact and asks before applying |
28
- | `liftoff update --apply` | Applies safe changes, preserves unforced conflicts, and records the resulting manifest |
27
+ | `liftoff update [project]` | Applies safe managed drift immediately, preserves unforced conflicts and orphans, and records the resulting manifest |
28
+ | `liftoff update --check` | Reports drift without preflight or mutation; exits 0 when clean and 2 when drift exists |
29
+ | `liftoff update --force` | Applies safe changes and overwrites only the exact guarded conflicts reported by update |
29
30
  | `liftoff dev` | Prints workload-appropriate local development commands; it does not execute them |
30
31
  | `liftoff infra` | Prints OpenTofu guidance for API workloads and reports infrastructure as not applicable for Power Apps |
31
32
  | `liftoff patterns` | Lists GenAI patterns |
@@ -64,30 +65,46 @@ Consent options are documented in [safety and consent](safety-and-consent.md).
64
65
 
65
66
  ```bash
66
67
  liftoff update
68
+ liftoff update --force
67
69
  liftoff update --json
68
- liftoff update --apply
69
- liftoff update --apply --force
70
+ liftoff update --check
71
+ liftoff update --check --json
70
72
  ```
71
73
 
72
- With interactive input and output, plain `liftoff update` first reports drift
73
- and its impact. Safe managed changes use a default-No confirmation. Local or
74
- user-owned conflicts are listed separately and require another default-No
75
- confirmation before replacement. Liftoff collects both decisions before any
76
- preflight or write.
74
+ Plain `liftoff update` is imperative and prompt-free. It applies safe new,
75
+ missing, untouched-upgrade, clean-move, and recorded-state changes in
76
+ interactive terminals, redirected streams, and automation. Local or user-owned
77
+ conflicts are skipped and reported. Orphans are reported without deletion.
77
78
 
78
- With redirected input or output, plain update remains a read-only check and
79
- prints the explicit apply command. `--json` also remains prompt-free and
80
- read-only unless combined with `--apply`. Explicit `--apply` and
81
- `--apply --force` bypass prompts for automation.
79
+ Use `--check` whenever no project bytes may change. Human check mode prints each
80
+ drift state and recommends plain update for safe changes or a reviewed
81
+ `--force` invocation for conflicts. `--check --force` is invalid because check
82
+ mode never authorizes writes.
82
83
 
83
- The impact summary identifies affected dependency definitions, but update does
84
- not install dependencies. Orphans are reported without deletion. Transaction
85
- snapshots restore a failed update, but Liftoff retains no backup after a
86
- successful overwrite; commit or copy local work first.
84
+ `--json` selects output format, not safety. `liftoff update --json` applies safe
85
+ changes and emits the versioned apply result. `liftoff update --check --json`
86
+ is the read-only automation gate.
87
87
 
88
- `--force` is valid only with `--apply`. It overwrites reported file conflicts;
89
- it does not permit workload, API stack, GenAI pattern, framework, selected
90
- agent, or user-supplied Power Apps starter identity changes.
88
+ Update never installs dependencies. Transaction snapshots restore a failed
89
+ update, but Liftoff retains no backup after a successful overwrite; commit or
90
+ copy local work before using `--force`. Force does not permit workload, API
91
+ stack, GenAI pattern, framework, selected-agent, or user-supplied Power Apps
92
+ starter identity changes, and it cannot bypass project-boundary, symlink,
93
+ structural-collision, or manifest guards.
94
+
95
+ ### Migration from 0.6.x
96
+
97
+ The `--apply` flag was removed in 0.7.0. These are historical 0.6.x commands,
98
+ not current syntax:
99
+
100
+ | Historical 0.6.x command | 0.7.0 replacement |
101
+ | --- | --- |
102
+ | `liftoff update` when used as a read-only check | `liftoff update --check` |
103
+ | `liftoff update --apply` | `liftoff update` |
104
+ | `liftoff update --apply --force` | `liftoff update --force` |
105
+
106
+ Invoking removed syntax fails during argument parsing, before project discovery
107
+ or filesystem access.
91
108
 
92
109
  ## JSON and exit codes
93
110
 
@@ -97,15 +114,18 @@ Machine-readable maintenance contracts bypass decorative presentation:
97
114
  liftoff validate --json
98
115
  liftoff doctor --json
99
116
  liftoff update --json
117
+ liftoff update --check --json
100
118
  ```
101
119
 
102
120
  Each JSON object has a top-level numeric `schemaVersion`.
121
+ Operational warnings, such as a dirty-worktree warning before JSON apply, are
122
+ written to stderr so stdout remains one parseable JSON object.
103
123
 
104
124
  Exit codes:
105
125
 
106
126
  - `0`: success or a clean check.
107
127
  - `1`: invalid input, unsafe state, or command failure.
108
- - `2`: a read-only check or declined interactive update found drift.
128
+ - `2`: explicit update check mode found drift.
109
129
 
110
130
  Raw installer, framework, and dependency child stdout and stderr are forwarded
111
131
  unchanged.
@@ -67,10 +67,9 @@ Readers support schemas v2, v3, and v4:
67
67
  - V3 normalizes flat GenAI or API identity plus framework and agent metadata.
68
68
  - V4 represents the discriminated workload model, including Power Apps.
69
69
 
70
- A non-interactive or JSON check, or a declined interactive update, leaves an
71
- old manifest byte-for-byte unchanged. A successful explicit or interactively
72
- accepted apply writes v4 only after the file transaction succeeds. Skipped
73
- conflicts retain their recorded hashes.
70
+ `liftoff update --check`, including `--check --json`, leaves an old manifest
71
+ byte-for-byte unchanged. A successful plain update writes v4 only after the
72
+ file transaction succeeds. Skipped conflicts retain their recorded hashes.
74
73
 
75
74
  ## Artifact ownership
76
75
 
@@ -64,15 +64,15 @@ Use:
64
64
 
65
65
  ```bash
66
66
  liftoff validate
67
+ liftoff update --check
67
68
  liftoff update
68
- liftoff update --apply
69
69
  ```
70
70
 
71
- In an interactive terminal, plain update reports drift and impact, then asks
72
- with a default of No before applying safe managed changes. Local or user-owned
73
- conflicts require a separate default-No overwrite decision. Redirected and
74
- JSON checks remain read-only and prompt-free; use `--apply` for explicit
75
- automation consent.
71
+ Use `--check` first when the invocation must be read-only. Plain update applies
72
+ safe managed changes immediately and without prompting in terminals and
73
+ automation, while preserving conflicts and orphans. Review every reported
74
+ conflict and commit or copy local work before choosing `liftoff update --force`.
75
+ For CI drift gates, use `liftoff update --check --json`.
76
76
 
77
77
  ## Existing non-Liftoff application
78
78
 
@@ -8,7 +8,7 @@ project dependencies. No one permission implies another.
8
8
  | Flag | Authorizes | Does not authorize |
9
9
  | --- | --- | --- |
10
10
  | `--yes` | Project defaults and plan confirmation | File replacement, machine installs, or project dependencies |
11
- | `--force` | Only listed and validated regular-file replacements | Manifest guards, symlinks, structural collisions, tools, dependencies, or non-empty migration targets |
11
+ | `--force` | During init, listed regular-file replacements; during update, exact reported conflicts | Manifest guards, symlinks, structural collisions, tools, dependencies, or non-empty migration targets |
12
12
  | `--install-tools` | Allowlisted workstation installation commands | Project decisions, overwrites, or project dependencies |
13
13
  | `--install-dependencies` | Locked project-local dependency commands after a successful merge | Machine tools, project decisions, or overwrites |
14
14
 
@@ -50,11 +50,10 @@ Individual project files use temporary-file replacement. Initialization keeps
50
50
  backups for replaced files and records created files and directories. A handled
51
51
  merge failure restores or removes those entries in reverse order.
52
52
 
53
- An accepted interactive update or `liftoff update --apply` preflights all
54
- affected paths and applies generated file, move, delete, and manifest mutations
55
- as one rollback-capable transaction. Schema upgrades are committed only after
56
- the other mutations succeed. A corrected retry converges from the restored
57
- state.
53
+ Plain `liftoff update` preflights all affected paths and applies generated file,
54
+ move, delete, and manifest mutations as one rollback-capable transaction.
55
+ Schema upgrades are committed only after the other mutations succeed. A
56
+ corrected retry converges from the restored state.
58
57
 
59
58
  If automatic rollback itself cannot safely restore a path because another
60
59
  process changed it, Liftoff reports the incomplete rollback rather than
@@ -65,24 +64,25 @@ does not retain them as backups after success.
65
64
 
66
65
  ## Update ownership
67
66
 
68
- Plain `liftoff update` always reports drift before any write:
67
+ Update mode is selected explicitly rather than from terminal interactivity:
69
68
 
70
69
  - Clean generated files remain unchanged.
71
- - In an interactive terminal, new, missing, untouched-upgrade, clean-move, and
72
- recorded-state changes are summarized and offered through a default-No
73
- confirmation.
74
- - With redirected input or output, or with `--json`, update remains a
75
- prompt-free read-only check unless `--apply` is explicitly supplied.
70
+ - Plain `liftoff update` immediately applies safe new, missing,
71
+ untouched-upgrade, clean-move, and recorded-state changes without prompting,
72
+ including with redirected input or output.
73
+ - `liftoff update --check` is read-only and performs no preflight or mutation.
74
+ - `liftoff update --json` applies safe changes and returns an apply result;
75
+ `liftoff update --check --json` is the read-only machine drift gate.
76
76
  - Developer edits that also differ from the current template are conflicts.
77
- - Safe-update consent does not authorize conflicts. Interactive conflicts are
78
- listed by portable relative path and require a separate default-No overwrite
79
- confirmation; automation uses `--apply --force`.
77
+ - Default update skips conflicts and lists them by portable relative path.
78
+ After reviewing every listed overwrite, `liftoff update --force` extends the
79
+ transaction only to those guarded conflicts.
80
80
  - Orphans are reported and left on disk for manual review.
81
81
  - Dependency definitions may be updated, but update never installs
82
82
  dependencies.
83
83
 
84
- All interactive decisions are collected before preflight or mutation.
85
- Declining the safe update changes nothing and leaves drift exit code 2.
84
+ `--force` cannot be combined with `--check` and cannot weaken project-boundary,
85
+ symlink, collision, manifest, or transaction guards.
86
86
 
87
87
  Power Apps reconciliation reads only the packaged immutable starter. It does
88
88
  not fetch the upstream repository. Workload kind and user-edited starter
@@ -88,5 +88,6 @@ invoke `/create-code-app`. The plugin's connector and deployment skills remain
88
88
  available for post-creation work.
89
89
 
90
90
  Changing the valid plugin preference in `liftoff.config.json` is reconciled by
91
- `liftoff update`; it updates generated guidance and manifest intent without
92
- creating API or infrastructure artifacts.
91
+ plain `liftoff update`; it immediately updates generated guidance and manifest
92
+ intent without creating API or infrastructure artifacts. Use
93
+ `liftoff update --check` to inspect that drift without writing.
@@ -67,15 +67,13 @@ hand-edited unsafe path.
67
67
 
68
68
  ## Update reports conflicts or orphans
69
69
 
70
- In an interactive terminal, `liftoff update` shows an impact summary and asks
71
- before applying safe managed changes. The default answer is No.
72
-
73
- - Local or user-owned conflicts are listed separately and require their own
74
- default-No overwrite confirmation.
75
- - With redirected input or output, review the report and apply safe changes
76
- with `liftoff update --apply`.
77
- - For prompt-free conflict replacement, use `liftoff update --apply --force`
78
- only after reviewing every listed path.
70
+ `liftoff update` applies safe managed changes immediately and skips conflicts.
71
+
72
+ - Use `liftoff update --check` for a read-only human report or
73
+ `liftoff update --check --json` for an automation drift gate.
74
+ - Local or user-owned conflicts remain untouched by default.
75
+ - Use `liftoff update --force` only after reviewing every listed path and
76
+ deciding that each overwrite is intended.
79
77
  - Orphans are never deleted automatically.
80
78
  - Update reports dependency-definition impact but does not install
81
79
  dependencies.
package/docs/workloads.md CHANGED
@@ -126,3 +126,7 @@ created the application.
126
126
  workload. It does not convert among GenAI, API, and Power Apps or change an API
127
127
  stack, GenAI pattern, or user-supplied starter identity. Initialize a fresh
128
128
  project or use a supported migration flow instead.
129
+
130
+ Plain update applies safe changes immediately for every workload. Use
131
+ `liftoff update --check` for read-only inspection and review all reported
132
+ conflicts before using `liftoff update --force`; orphans remain untouched.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@msn-control/liftoff",
3
- "version": "0.6.2",
3
+ "version": "0.7.0",
4
4
  "description": "Interactive CLI for governed GenAI, API, and Power Apps code app projects.",
5
5
  "type": "module",
6
6
  "license": "GPL-3.0-only",
@@ -1,23 +0,0 @@
1
- import type { ReconcileEntry } from './reconcile.js';
2
- export declare const dependencyDefinitionLogicalNames: readonly ["backend-pyproject", "function-worker-requirements", "node-backend-package", "node-backend-lock", "go-backend-module", "go-backend-checksums", "frontend-package", "frontend-lock", "power-apps-package", "power-apps-lock"];
3
- export interface UpdateImpact {
4
- readonly creates: readonly string[];
5
- readonly restores: readonly string[];
6
- readonly replacements: readonly string[];
7
- readonly moves: readonly string[];
8
- readonly recordedStateRefreshes: readonly string[];
9
- readonly conflicts: readonly string[];
10
- readonly managedPathsRemoved: readonly string[];
11
- readonly managedPathsRemovedOnOverwrite: readonly string[];
12
- readonly orphansPreserved: readonly string[];
13
- readonly dependencyDefinitions: readonly string[];
14
- readonly safeActionCount: number;
15
- readonly localOrUserOwnedFilesAtRisk: number;
16
- readonly manifestWillUpdate: boolean;
17
- readonly installsDependencies: false;
18
- readonly deletesOrphans: false;
19
- readonly retainsBackupAfterSuccess: false;
20
- readonly hasSafeActions: boolean;
21
- readonly hasActionableChanges: boolean;
22
- }
23
- export declare function buildUpdateImpact(entries: readonly ReconcileEntry[]): UpdateImpact;
@@ -1,127 +0,0 @@
1
- import { manifestDisplayPath } from './file-system.js';
2
- export const dependencyDefinitionLogicalNames = Object.freeze([
3
- 'backend-pyproject',
4
- 'function-worker-requirements',
5
- 'node-backend-package',
6
- 'node-backend-lock',
7
- 'go-backend-module',
8
- 'go-backend-checksums',
9
- 'frontend-package',
10
- 'frontend-lock',
11
- 'power-apps-package',
12
- 'power-apps-lock'
13
- ]);
14
- const dependencyDefinitionLogicalNameSet = new Set(dependencyDefinitionLogicalNames);
15
- function comparePortable(left, right) {
16
- return left < right ? -1 : left > right ? 1 : 0;
17
- }
18
- function displayEntry(entry) {
19
- const current = manifestDisplayPath(entry.pathParts);
20
- return entry.previousPathParts
21
- ? `${manifestDisplayPath(entry.previousPathParts)} => ${current}`
22
- : current;
23
- }
24
- function freezeSorted(values) {
25
- return Object.freeze(values.sort(comparePortable));
26
- }
27
- function isActionable(entry) {
28
- return entry.status !== 'orphan' &&
29
- (entry.status !== 'unchanged' || entry.refreshHash === true);
30
- }
31
- export function buildUpdateImpact(entries) {
32
- const creates = [];
33
- const restores = [];
34
- const replacements = [];
35
- const moves = [];
36
- const recordedStateRefreshes = [];
37
- const conflicts = [];
38
- const managedPathsRemoved = [];
39
- const managedPathsRemovedOnOverwrite = [];
40
- const orphansPreserved = [];
41
- const dependencyDefinitions = [];
42
- for (const entry of entries) {
43
- switch (entry.status) {
44
- case 'new':
45
- creates.push(manifestDisplayPath(entry.pathParts));
46
- break;
47
- case 'missing':
48
- restores.push(manifestDisplayPath(entry.pathParts));
49
- break;
50
- case 'upgrade':
51
- replacements.push(manifestDisplayPath(entry.pathParts));
52
- break;
53
- case 'moved':
54
- if (entry.cleanMove) {
55
- moves.push(displayEntry(entry));
56
- if (entry.previousPathParts) {
57
- managedPathsRemoved.push(manifestDisplayPath(entry.previousPathParts));
58
- }
59
- }
60
- else {
61
- if (entry.sourceModified && entry.previousPathParts) {
62
- conflicts.push(manifestDisplayPath(entry.previousPathParts));
63
- }
64
- if (entry.destinationOccupied && !entry.destinationMatches) {
65
- conflicts.push(manifestDisplayPath(entry.pathParts));
66
- }
67
- if (entry.previousPathParts) {
68
- managedPathsRemovedOnOverwrite.push(manifestDisplayPath(entry.previousPathParts));
69
- }
70
- }
71
- break;
72
- case 'conflict':
73
- conflicts.push(manifestDisplayPath(entry.pathParts));
74
- break;
75
- case 'orphan':
76
- orphansPreserved.push(manifestDisplayPath(entry.pathParts));
77
- break;
78
- case 'unchanged':
79
- if (entry.refreshHash) {
80
- recordedStateRefreshes.push(manifestDisplayPath(entry.pathParts));
81
- }
82
- break;
83
- }
84
- if (isActionable(entry) &&
85
- dependencyDefinitionLogicalNameSet.has(entry.logicalName)) {
86
- dependencyDefinitions.push(manifestDisplayPath(entry.pathParts));
87
- }
88
- }
89
- const frozenCreates = freezeSorted(creates);
90
- const frozenRestores = freezeSorted(restores);
91
- const frozenReplacements = freezeSorted(replacements);
92
- const frozenMoves = freezeSorted(moves);
93
- const frozenRefreshes = freezeSorted(recordedStateRefreshes);
94
- const frozenConflicts = freezeSorted(conflicts);
95
- const frozenManagedPaths = freezeSorted(managedPathsRemoved);
96
- const frozenManagedOverwritePaths = freezeSorted(managedPathsRemovedOnOverwrite);
97
- const frozenOrphans = freezeSorted(orphansPreserved);
98
- const frozenDependencyDefinitions = freezeSorted(dependencyDefinitions);
99
- const safeActionCount = frozenCreates.length +
100
- frozenRestores.length +
101
- frozenReplacements.length +
102
- frozenMoves.length +
103
- frozenRefreshes.length;
104
- const hasSafeActions = safeActionCount > 0;
105
- const hasActionableChanges = hasSafeActions || frozenConflicts.length > 0;
106
- return Object.freeze({
107
- creates: frozenCreates,
108
- restores: frozenRestores,
109
- replacements: frozenReplacements,
110
- moves: frozenMoves,
111
- recordedStateRefreshes: frozenRefreshes,
112
- conflicts: frozenConflicts,
113
- managedPathsRemoved: frozenManagedPaths,
114
- managedPathsRemovedOnOverwrite: frozenManagedOverwritePaths,
115
- orphansPreserved: frozenOrphans,
116
- dependencyDefinitions: frozenDependencyDefinitions,
117
- safeActionCount,
118
- localOrUserOwnedFilesAtRisk: frozenConflicts.length,
119
- manifestWillUpdate: hasActionableChanges,
120
- installsDependencies: false,
121
- deletesOrphans: false,
122
- retainsBackupAfterSuccess: false,
123
- hasSafeActions,
124
- hasActionableChanges
125
- });
126
- }
127
- //# sourceMappingURL=update-impact.js.map