@ethlete/cli 2.1.0-next.8 → 3.0.0-next.16

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 (128) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/README.md +22 -7
  3. package/design/define-call.ts +92 -0
  4. package/design/web/env.d.ts +11 -0
  5. package/design/web/frame.html +17 -0
  6. package/design/web/frame.ts +44 -0
  7. package/design/web/host.css +494 -0
  8. package/design/web/host.ts +445 -0
  9. package/design/web/index.html +11 -0
  10. package/package.json +13 -2
  11. package/src/index.d.ts +1 -0
  12. package/src/index.js +32 -4
  13. package/src/index.js.map +1 -1
  14. package/src/lib/api/clear.js +13 -3
  15. package/src/lib/api/clear.js.map +1 -1
  16. package/src/lib/api/compose.js +5 -1
  17. package/src/lib/api/compose.js.map +1 -1
  18. package/src/lib/api/git.d.ts +11 -4
  19. package/src/lib/api/git.js +35 -8
  20. package/src/lib/api/git.js.map +1 -1
  21. package/src/lib/api/load-definitions.js +10 -1
  22. package/src/lib/api/load-definitions.js.map +1 -1
  23. package/src/lib/api/ports.js +12 -3
  24. package/src/lib/api/ports.js.map +1 -1
  25. package/src/lib/api/run.js +8 -3
  26. package/src/lib/api/run.js.map +1 -1
  27. package/src/lib/api/setup.js +1 -1
  28. package/src/lib/api/setup.js.map +1 -1
  29. package/src/lib/api/state.js +7 -5
  30. package/src/lib/api/state.js.map +1 -1
  31. package/src/lib/auth/composer-auth.js +3 -2
  32. package/src/lib/auth/composer-auth.js.map +1 -1
  33. package/src/lib/auth/gitlab-token.js +1 -1
  34. package/src/lib/auth/gitlab-token.js.map +1 -1
  35. package/src/lib/config/diagnose.js +15 -9
  36. package/src/lib/config/diagnose.js.map +1 -1
  37. package/src/lib/config/local-config.d.ts +1 -1
  38. package/src/lib/design/calls-tsconfig.d.ts +6 -0
  39. package/src/lib/design/calls-tsconfig.js +37 -0
  40. package/src/lib/design/calls-tsconfig.js.map +1 -0
  41. package/src/lib/design/check.d.ts +11 -0
  42. package/src/lib/design/check.js +203 -0
  43. package/src/lib/design/check.js.map +1 -0
  44. package/src/lib/design/design-command.d.ts +10 -0
  45. package/src/lib/design/design-command.js +32 -0
  46. package/src/lib/design/design-command.js.map +1 -0
  47. package/src/lib/design/index.d.ts +5 -0
  48. package/src/lib/design/index.js +9 -0
  49. package/src/lib/design/index.js.map +1 -0
  50. package/src/lib/design/paths.d.ts +24 -0
  51. package/src/lib/design/paths.js +31 -0
  52. package/src/lib/design/paths.js.map +1 -0
  53. package/src/lib/design/serve.d.ts +7 -0
  54. package/src/lib/design/serve.js +144 -0
  55. package/src/lib/design/serve.js.map +1 -0
  56. package/src/lib/design/vite-paths.d.ts +7 -0
  57. package/src/lib/design/vite-paths.js +15 -0
  58. package/src/lib/design/vite-paths.js.map +1 -0
  59. package/src/lib/doctor/doctor-command.js +18 -4
  60. package/src/lib/doctor/doctor-command.js.map +1 -1
  61. package/src/lib/index.d.ts +1 -0
  62. package/src/lib/index.js +1 -0
  63. package/src/lib/index.js.map +1 -1
  64. package/src/lib/release.d.ts +38 -1
  65. package/src/lib/release.js +153 -28
  66. package/src/lib/release.js.map +1 -1
  67. package/src/lib/update/agent-rules-sync.d.ts +37 -0
  68. package/src/lib/update/agent-rules-sync.js +40 -0
  69. package/src/lib/update/agent-rules-sync.js.map +1 -0
  70. package/src/lib/update/agent-setup.d.ts +33 -0
  71. package/src/lib/update/agent-setup.js +124 -0
  72. package/src/lib/update/agent-setup.js.map +1 -0
  73. package/src/lib/update/ai.d.ts +37 -8
  74. package/src/lib/update/ai.js +193 -24
  75. package/src/lib/update/ai.js.map +1 -1
  76. package/src/lib/update/args.d.ts +2 -0
  77. package/src/lib/update/args.js +22 -2
  78. package/src/lib/update/args.js.map +1 -1
  79. package/src/lib/update/available-migrations.d.ts +10 -0
  80. package/src/lib/update/available-migrations.js +23 -0
  81. package/src/lib/update/available-migrations.js.map +1 -0
  82. package/src/lib/update/commits.d.ts +63 -0
  83. package/src/lib/update/commits.js +146 -0
  84. package/src/lib/update/commits.js.map +1 -0
  85. package/src/lib/update/gitignore.d.ts +8 -0
  86. package/src/lib/update/gitignore.js +22 -0
  87. package/src/lib/update/gitignore.js.map +1 -0
  88. package/src/lib/update/index.d.ts +6 -0
  89. package/src/lib/update/index.js +6 -0
  90. package/src/lib/update/index.js.map +1 -1
  91. package/src/lib/update/migration-manifest.d.ts +10 -0
  92. package/src/lib/update/migration-manifest.js +15 -3
  93. package/src/lib/update/migration-manifest.js.map +1 -1
  94. package/src/lib/update/migration-record.d.ts +24 -0
  95. package/src/lib/update/migration-record.js +48 -0
  96. package/src/lib/update/migration-record.js.map +1 -0
  97. package/src/lib/update/migrations-command.d.ts +14 -0
  98. package/src/lib/update/migrations-command.js +212 -0
  99. package/src/lib/update/migrations-command.js.map +1 -0
  100. package/src/lib/update/package-manager.d.ts +20 -1
  101. package/src/lib/update/package-manager.js +34 -15
  102. package/src/lib/update/package-manager.js.map +1 -1
  103. package/src/lib/update/packages.d.ts +28 -8
  104. package/src/lib/update/packages.js +117 -36
  105. package/src/lib/update/packages.js.map +1 -1
  106. package/src/lib/update/pending.d.ts +16 -0
  107. package/src/lib/update/pending.js +21 -5
  108. package/src/lib/update/pending.js.map +1 -1
  109. package/src/lib/update/plan.d.ts +33 -8
  110. package/src/lib/update/plan.js +76 -7
  111. package/src/lib/update/plan.js.map +1 -1
  112. package/src/lib/update/registry.d.ts +32 -4
  113. package/src/lib/update/registry.js +145 -8
  114. package/src/lib/update/registry.js.map +1 -1
  115. package/src/lib/update/run-migrations.d.ts +2 -0
  116. package/src/lib/update/run-migrations.js +20 -15
  117. package/src/lib/update/run-migrations.js.map +1 -1
  118. package/src/lib/update/scan.d.ts +14 -0
  119. package/src/lib/update/scan.js +57 -0
  120. package/src/lib/update/scan.js.map +1 -0
  121. package/src/lib/update/semver.js +2 -1
  122. package/src/lib/update/semver.js.map +1 -1
  123. package/src/lib/update/tasks.d.ts +18 -1
  124. package/src/lib/update/tasks.js +114 -43
  125. package/src/lib/update/tasks.js.map +1 -1
  126. package/src/lib/update/update-command.d.ts +7 -0
  127. package/src/lib/update/update-command.js +300 -73
  128. package/src/lib/update/update-command.js.map +1 -1
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateCommand = void 0;
3
+ exports.updateCommand = exports.ignoreTaskList = exports.commitMigration = exports.NOT_A_CHECKOUT = exports.printOutcomes = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const git_1 = require("../api/git");
6
6
  const local_config_1 = require("../config/local-config");
7
7
  const ai_1 = require("./ai");
8
+ const agent_setup_1 = require("./agent-setup");
9
+ const agent_rules_sync_1 = require("./agent-rules-sync");
8
10
  const args_1 = require("./args");
11
+ const commits_1 = require("./commits");
12
+ const gitignore_1 = require("./gitignore");
13
+ const available_migrations_1 = require("./available-migrations");
9
14
  const migration_manifest_1 = require("./migration-manifest");
10
15
  const package_manager_1 = require("./package-manager");
11
16
  const packages_1 = require("./packages");
@@ -20,6 +25,9 @@ const usage = (invocation) => [
20
25
  'Moves the @ethlete/* packages this repo declares to a newer version, then runs the migrations',
21
26
  'those versions ship: the codemods by itself, and a report for everything that needs a decision.',
22
27
  '',
28
+ 'Every package.json in the repo is rewritten, not only the root one, so a library manifest that',
29
+ 'pins @ethlete/* moves with it.',
30
+ '',
23
31
  'A package may be named short (`core`) or in full (`@ethlete/core`). With no name, every',
24
32
  '@ethlete/* dependency is updated.',
25
33
  '',
@@ -31,7 +39,8 @@ const usage = (invocation) => [
31
39
  ' --from <p@ver> The version a package migrates from, when the installed one is already newer',
32
40
  ' --no-install Write package.json, then stop. Install yourself and re-run with --continue',
33
41
  ' --continue Run the migrations of an update that was written but never finished',
34
- ' --ai Hand every agent-assisted task to the command in updateAgentCommand',
42
+ ' --ai Hand every open agent-assisted task to the command in updateAgentCommand',
43
+ ' --no-commit Leave every change uncommitted. By default each step is committed by itself',
35
44
  ' --force Update even when the working tree has uncommitted changes',
36
45
  ].join('\n');
37
46
  const padded = (value, width) => value.padEnd(width);
@@ -43,18 +52,23 @@ const printUpdates = (updates) => {
43
52
  console.log(` ${padded(update.name, width)} ${(_a = update.from) !== null && _a !== void 0 ? _a : 'not installed'} → ${update.to}${tag}`);
44
53
  }
45
54
  };
46
- const problemsOf = (updates) => updates
47
- .filter((update) => update.nextRange === undefined)
48
- .map((update) => `${update.name} is declared as "${update.declaredRange}", which no single version can be written into. ` +
49
- `Change it to ${update.to} by hand.`);
55
+ const printNewerMajors = (newerMajors) => {
56
+ for (const newer of newerMajors)
57
+ console.log(`\n ${(0, plan_1.newerMajorLine)(newer)}`);
58
+ };
59
+ const problemsOf = (updates) => updates.flatMap((update) => update.unwritable.map((site) => `${site.manifestPath} declares ${update.name} as "${site.range}", which no single version can be ` +
60
+ `written into. Change it to ${update.to} by hand.`));
50
61
  const resolveUpdates = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
51
- const { declared, version, tag } = options;
52
- const registry = (0, registry_1.registryUrl)();
53
- const result = { updates: [], problems: [], upToDate: [] };
62
+ var _a;
63
+ const { root, manager, declared, version, tag } = options;
64
+ const registry = (0, registry_1.registryUrl)({ root, manager: manager.name });
65
+ const authorization = (0, registry_1.registryAuthorization)({ root, registry });
66
+ const authorizationSource = (0, registry_1.registryAuthorizationSource)({ root, registry });
67
+ const result = { updates: [], problems: [], upToDate: [], newerMajors: [] };
54
68
  const lookups = yield Promise.all(declared.map((entry) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
55
69
  return ({
56
70
  entry,
57
- lookup: yield (0, registry_1.fetchRegistryPackage)({ packageName: entry.name, registry }),
71
+ lookup: yield (0, registry_1.fetchRegistryPackage)({ packageName: entry.name, registry, authorization, authorizationSource }),
58
72
  });
59
73
  })));
60
74
  for (const { entry, lookup } of lookups) {
@@ -67,6 +81,12 @@ const resolveUpdates = (options) => tslib_1.__awaiter(void 0, void 0, void 0, fu
67
81
  result.problems.push(choice.problem);
68
82
  continue;
69
83
  }
84
+ const target = 'upToDate' in choice ? ((_a = entry.installedVersion) !== null && _a !== void 0 ? _a : (0, packages_1.newestDeclaredVersion)(entry.sites)) : choice.update.to;
85
+ const newer = version === undefined && target !== undefined
86
+ ? (0, plan_1.newerMajorOnTag)({ name: entry.name, version: target, distTags: lookup.package.distTags })
87
+ : undefined;
88
+ if (newer)
89
+ result.newerMajors.push(newer);
70
90
  if ('upToDate' in choice) {
71
91
  result.upToDate.push(entry.name);
72
92
  continue;
@@ -93,77 +113,243 @@ const collectMigrations = (options) => {
93
113
  return collected;
94
114
  };
95
115
  const printMigrations = (pending) => {
116
+ if (pending.length === 0)
117
+ console.log(' none');
96
118
  for (const entry of pending) {
97
119
  console.log(` ${entry.migration.version} ${entry.packageName} ${entry.migration.name} (${entry.migration.kind})`);
98
120
  }
99
121
  };
100
- const printOutcomes = (outcomes) => {
122
+ const printOutcomes = (outcomes, syncFailure) => {
101
123
  const applied = outcomes.filter((outcome) => outcome.state === 'applied').length;
102
124
  const failed = outcomes.filter((outcome) => outcome.state === 'failed');
103
125
  const tasks = outcomes.filter((outcome) => outcome.state === 'task' || outcome.state === 'unsupported').length;
104
- console.log(`\n ${applied} codemod(s) applied, ${tasks} task(s) left, ${failed.length} failed`);
126
+ const failedCount = failed.length + (syncFailure ? 1 : 0);
127
+ console.log(`\n ${applied} codemod(s) applied, ${tasks} task(s) left, ${failedCount} failed`);
105
128
  for (const outcome of failed) {
106
129
  console.error(` - ${outcome.pending.packageName} ${outcome.pending.migration.name}: ${outcome.reason}`);
107
130
  }
131
+ if (syncFailure)
132
+ console.error(` - ${syncFailure.command}: ${syncFailure.reason}`);
133
+ };
134
+ exports.printOutcomes = printOutcomes;
135
+ const SYNC_MESSAGE = 'chore(deps): Sync the ethlete agent rules';
136
+ const migrationMessage = (options) => `chore(deps): Apply the ${options.packageName} ${options.name} migration`;
137
+ exports.NOT_A_CHECKOUT = '\n This is not a git checkout, so nothing is committed.';
138
+ const committerFor = (root, state) => state &&
139
+ (0, commits_1.createStepCommitter)({
140
+ root,
141
+ state,
142
+ save: (commits) => {
143
+ const saved = (0, pending_1.readPendingUpdate)(root);
144
+ if (saved)
145
+ (0, pending_1.writePendingUpdate)({ root, pending: Object.assign(Object.assign({}, saved), { commits }) });
146
+ },
147
+ });
148
+ const commitBump = (options) => {
149
+ const { committer, updates } = options;
150
+ if (!committer || committer.state.bumped)
151
+ return;
152
+ committer.commit({
153
+ message: 'chore(deps): Update the ethlete SDK',
154
+ body: updates.map((update) => { var _a; return `${update.name} ${(_a = update.from) !== null && _a !== void 0 ? _a : 'not installed'} → ${update.to}`; }).join('\n'),
155
+ });
156
+ committer.markBumped();
108
157
  };
109
- const runMigrationPhase = (options) => {
110
- const { root, manager, updates, from, dryRun, ai } = options;
158
+ const commitMigration = (committer, outcome) => {
159
+ if (outcome.state === 'applied')
160
+ committer === null || committer === void 0 ? void 0 : committer.commit({
161
+ message: migrationMessage({ packageName: outcome.pending.packageName, name: outcome.pending.migration.name }),
162
+ });
163
+ else if (outcome.state === 'failed')
164
+ committer === null || committer === void 0 ? void 0 : committer.skip();
165
+ };
166
+ exports.commitMigration = commitMigration;
167
+ const syncAgentRules = (options) => {
168
+ const { root, manager, updates, dryRun } = options;
169
+ const plan = (0, agent_rules_sync_1.planAgentRulesSync)({ root, manager, updates });
170
+ if (plan.state === 'not-updated')
171
+ return { synced: false };
172
+ const command = plan.command.join(' ');
173
+ if (plan.state === 'no-config') {
174
+ console.log(`\n ${agent_rules_sync_1.AGENT_RULES_PACKAGE} moved, but this repo has no config for it. Run \`${command}\` where it has one.`);
175
+ return { synced: false };
176
+ }
177
+ if (dryRun) {
178
+ console.log(`\n ${agent_rules_sync_1.AGENT_RULES_PACKAGE} moved: a real run regenerates the agent rules with \`${command}\`.`);
179
+ return { synced: false };
180
+ }
181
+ console.log(`\n ${agent_rules_sync_1.AGENT_RULES_PACKAGE} moved, so the agent rules and skills are regenerated.\n\n ${command}\n`);
182
+ const outcome = (0, agent_rules_sync_1.runAgentRulesSync)(plan, root);
183
+ if (outcome.state !== 'failed')
184
+ return { synced: true };
185
+ console.error(` The agent rules sync failed: ${outcome.reason}`);
186
+ return { synced: false, failure: { command, reason: outcome.reason } };
187
+ };
188
+ /** Hands the open assisted tasks to the agent and reports the runs. False when one of them failed. */
189
+ const handToAgent = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
190
+ const { root, template, tasks, committer } = options;
191
+ if ((0, ai_1.assistedTasks)(tasks).length === 0) {
192
+ console.log('\n --ai had nothing to do: no open task is agent-assisted.');
193
+ return true;
194
+ }
195
+ const runs = yield (0, ai_1.runAgentTasks)(Object.assign({ root,
196
+ template,
197
+ tasks }, (committer && {
198
+ afterRun: (run) => {
199
+ if (run.state === 'done')
200
+ committer.commit({ message: migrationMessage(run.task) });
201
+ else
202
+ committer.skip();
203
+ },
204
+ })));
205
+ const count = (state) => runs.filter((run) => run.state === state).length;
206
+ console.log(`\n ${count('done')} agent task(s) done, ${count('open')} still open, ${count('failed')} failed`);
207
+ return count('failed') === 0;
208
+ });
209
+ const agentFailedHint = (invocation) => `\nAn agent run failed. Run \`${invocation} --ai\` again to hand it the tasks that are still open.`;
210
+ const CLI_PACKAGE = '@ethlete/cli';
211
+ /**
212
+ * Runs the migration phase in the `et` the install just put in place. The running process is the old one, and
213
+ * it lacks every step a newer CLI added to the phase.
214
+ */
215
+ const continueWithInstalledCli = (options) => {
216
+ var _a;
217
+ const { root, manager, ai, commit } = options;
218
+ const [binary, ...args] = [
219
+ ...manager.run,
220
+ 'et',
221
+ 'update',
222
+ '--continue',
223
+ ...(ai ? ['--ai'] : []),
224
+ ...(commit ? [] : ['--no-commit']),
225
+ ];
226
+ if (binary === undefined)
227
+ return 1;
228
+ console.log(`\n ${CLI_PACKAGE} moved, so the new version runs the migrations.\n\n ${[binary, ...args].join(' ')}\n`);
229
+ const result = (0, package_manager_1.spawnPackageManager)({ binary, args, spawn: { cwd: root, stdio: 'inherit' } });
230
+ return result.error ? 1 : ((_a = result.status) !== null && _a !== void 0 ? _a : 1);
231
+ };
232
+ const runMigrationPhase = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
233
+ var _a;
234
+ const { root, manager, pendingUpdate, updates, from, dryRun, agent, committer } = options;
235
+ const finished = (_a = pendingUpdate.finished) !== null && _a !== void 0 ? _a : [];
111
236
  const collected = collectMigrations({ root, updates, from });
237
+ const skipped = collected.pending.filter((entry) => (0, pending_1.isFinished)({ finished, packageName: entry.packageName, name: entry.migration.name }));
238
+ collected.pending = collected.pending.filter((entry) => !skipped.includes(entry));
239
+ if (skipped.length > 0)
240
+ console.log(`\n ${skipped.length} codemod(s) already applied in the earlier run.`);
112
241
  for (const note of collected.notes)
113
242
  console.log(` ${note}`);
114
243
  for (const problem of collected.problems)
115
244
  console.error(` ${problem}`);
116
- if (collected.pending.length === 0) {
245
+ // Before the tasks and any --ai run: the tasks assume the skills of the version that was installed.
246
+ const sync = syncAgentRules({ root, manager, updates, dryRun });
247
+ const syncFailure = sync.failure;
248
+ if (sync.synced)
249
+ committer === null || committer === void 0 ? void 0 : committer.commit({ message: SYNC_MESSAGE });
250
+ else if (syncFailure)
251
+ committer === null || committer === void 0 ? void 0 : committer.skip();
252
+ const nothingPending = collected.pending.length === 0;
253
+ if (nothingPending)
117
254
  console.log('\nNo migration is pending for those versions.');
118
- return { failed: collected.problems.length > 0 };
255
+ else {
256
+ console.log(`\n${collected.pending.length} migration(s) to run:\n`);
257
+ printMigrations(collected.pending);
258
+ if (!(0, run_migrations_1.hasNx)(root)) {
259
+ console.log('\n This repo has no Nx, so every codemod is reported as a command to run by hand.');
260
+ }
119
261
  }
120
- console.log(`\n${collected.pending.length} migration(s) to run:\n`);
121
- printMigrations(collected.pending);
122
- if (!(0, run_migrations_1.hasNx)(root)) {
123
- console.log('\n This repo has no Nx, so every codemod is reported as a command to run by hand.');
262
+ const outcomes = (0, run_migrations_1.runPendingMigrations)({
263
+ root,
264
+ manager,
265
+ pending: collected.pending,
266
+ dryRun,
267
+ afterEach: (outcome) => (0, exports.commitMigration)(committer, outcome),
268
+ });
269
+ if (!nothingPending)
270
+ (0, exports.printOutcomes)(outcomes, syncFailure);
271
+ const availableLine = (0, plan_1.availableMigrationsLine)((0, available_migrations_1.collectAvailableMigrations)(root).available);
272
+ if (availableLine)
273
+ console.log(`\n ${availableLine}`);
274
+ if (!dryRun) {
275
+ const applied = outcomes
276
+ .filter((outcome) => outcome.state === 'applied')
277
+ .map((outcome) => ({ packageName: outcome.pending.packageName, name: outcome.pending.migration.name }));
278
+ (0, pending_1.writePendingUpdate)({
279
+ root,
280
+ pending: Object.assign(Object.assign(Object.assign({}, pendingUpdate), (committer && { commits: committer.state })), { finished: [...finished, ...applied] }),
281
+ });
124
282
  }
125
- const outcomes = (0, run_migrations_1.runPendingMigrations)({ root, manager, pending: collected.pending, dryRun });
126
- printOutcomes(outcomes);
127
283
  if (dryRun) {
128
- console.log('\nDry run: no report was written.');
129
- return { failed: false };
284
+ if (!nothingPending)
285
+ console.log('\nDry run: no report was written.');
286
+ return {
287
+ failed: nothingPending && (collected.problems.length > 0 || syncFailure !== undefined),
288
+ agentFailed: false,
289
+ };
130
290
  }
131
291
  const written = (0, tasks_1.writeUpdateTasks)({
132
292
  root,
133
293
  updates,
134
- outcomes,
294
+ outcomes: [...skipped.map((entry) => ({ pending: entry, state: 'applied' })), ...outcomes],
135
295
  manager,
136
296
  generatedAt: new Date().toISOString(),
297
+ syncFailure,
137
298
  });
138
299
  if (written.tasks.length > 0) {
139
300
  console.log(`\n ${written.tasks.length} task(s) written to ${written.reportPath}`);
140
301
  console.log(` The same list for an agent: ${written.dataPath}`);
141
302
  }
142
- if (ai) {
143
- const template = (0, local_config_1.readLocalConfig)(root).config.updateAgentCommand;
144
- const assisted = (0, ai_1.assistedTasks)(written.tasks);
145
- if (assisted.length === 0)
146
- console.log('\n --ai had nothing to do: no task is agent-assisted.');
147
- else if (!template) {
148
- console.error(`\n --ai needs "${ai_1.AGENT_COMMAND_KEY}" in ethlete.config.local.json, for example "claude -p".`);
149
- }
150
- else {
151
- const runs = (0, ai_1.runAgentTasks)({ root, template, tasks: written.tasks });
152
- const failed = runs.filter((run) => !run.ok);
153
- for (const run of failed)
154
- console.error(` ${run.task.name}: ${run.reason}`);
155
- }
303
+ const agentOk = agent === undefined || (yield handToAgent({ root, template: agent, tasks: written.tasks, committer }));
304
+ return {
305
+ agentFailed: !agentOk,
306
+ failed: outcomes.some((outcome) => outcome.state === 'failed') ||
307
+ collected.problems.length > 0 ||
308
+ syncFailure !== undefined,
309
+ };
310
+ });
311
+ const ignoreTaskList = (root) => {
312
+ if (!(0, gitignore_1.ignoreUpdateDir)(root))
313
+ return;
314
+ console.log(`\n ${gitignore_1.UPDATE_IGNORE_ENTRY} added to .gitignore: the task list is yours, not the repo's.`);
315
+ };
316
+ exports.ignoreTaskList = ignoreTaskList;
317
+ const continueHint = (invocation) => `\nRun \`${invocation} --continue\` again once the failures above are fixed.`;
318
+ /** Hands the tasks an earlier run left to the agent, for an `--ai` run that has no update to make. */
319
+ const workOpenTasks = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
320
+ const { root, agent, invocation, commit } = options;
321
+ const tasks = (0, tasks_1.refreshUpdateTasks)(root);
322
+ if (tasks === undefined) {
323
+ console.log(`\n --ai had nothing to do: ${tasks_1.UPDATE_DIR} holds no task list.`);
324
+ return 0;
156
325
  }
157
- return { failed: outcomes.some((outcome) => outcome.state === 'failed') || collected.problems.length > 0 };
326
+ const commits = commit ? (0, commits_1.startCommits)(root) : undefined;
327
+ if (commit && !commits)
328
+ console.log(exports.NOT_A_CHECKOUT);
329
+ if (yield handToAgent({ root, template: agent, tasks, committer: committerFor(root, commits) }))
330
+ return 0;
331
+ console.error(agentFailedHint(invocation));
332
+ return 1;
333
+ });
334
+ const exitAfterAgent = (options) => {
335
+ if (!options.agentFailed)
336
+ return 0;
337
+ console.error(agentFailedHint(options.invocation));
338
+ return 1;
158
339
  };
159
- const resume = (options) => {
160
- var _a;
161
- const { root, manager, argv } = options;
340
+ const resume = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
341
+ const { root, manager, argv, invocation, agent } = options;
162
342
  const pending = (0, pending_1.readPendingUpdate)(root);
343
+ if (!pending && agent !== undefined && !argv.dryRun) {
344
+ console.log(`No update to continue: handing the open tasks in ${tasks_1.UPDATE_DIR} to the agent.`);
345
+ return workOpenTasks({ root, agent, invocation, commit: argv.commit });
346
+ }
163
347
  if (!pending) {
164
348
  console.error(`Nothing to continue: ${pending_1.PENDING_FILE} is not there.`);
165
349
  return 1;
166
350
  }
351
+ if (!argv.dryRun)
352
+ (0, exports.ignoreTaskList)(root);
167
353
  console.log(`\nContinuing the update started at ${pending.startedAt}:\n`);
168
354
  const updates = pending.packages.map((entry) => {
169
355
  var _a;
@@ -173,26 +359,34 @@ const resume = (options) => {
173
359
  to: entry.to,
174
360
  });
175
361
  });
176
- for (const update of updates) {
177
- console.log(` ${update.name} ${(_a = update.from) !== null && _a !== void 0 ? _a : 'not installed'} → ${update.to}`);
178
- }
179
- const result = runMigrationPhase({
362
+ printUpdates(updates);
363
+ const committer = argv.commit && !argv.dryRun ? committerFor(root, pending.commits) : undefined;
364
+ commitBump({ committer, updates });
365
+ const result = yield runMigrationPhase({
180
366
  root,
181
367
  manager,
368
+ pendingUpdate: pending,
182
369
  updates,
183
- from: argv.from,
370
+ from: Object.assign(Object.assign({}, pending.from), argv.from),
184
371
  dryRun: argv.dryRun,
185
- ai: argv.ai,
372
+ agent,
373
+ committer,
186
374
  });
187
- if (!result.failed && !argv.dryRun)
188
- (0, pending_1.clearPendingUpdate)(root);
189
- return result.failed ? 1 : 0;
190
- };
375
+ if (argv.dryRun)
376
+ return result.failed ? 1 : 0;
377
+ if (result.failed) {
378
+ console.error(continueHint(invocation));
379
+ return 1;
380
+ }
381
+ (0, pending_1.clearPendingUpdate)(root);
382
+ return exitAfterAgent({ agentFailed: result.agentFailed, invocation });
383
+ });
191
384
  /**
192
385
  * Moves this repo's `@ethlete/*` dependencies to a newer version and runs the migrations those versions
193
386
  * ship. Everything the codemods cannot decide is written to a task list under `.ethlete/update`.
194
387
  */
195
388
  const updateCommand = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ argv, root = process.cwd(), invocation = 'et update', }) {
389
+ var _b, _c;
196
390
  const args = (0, args_1.parseUpdateArgs)(argv);
197
391
  if (args.help) {
198
392
  console.log(usage(invocation));
@@ -202,15 +396,27 @@ const updateCommand = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function*
202
396
  console.error(`${args.problems.join('\n')}\n\n${usage(invocation)}`);
203
397
  return 1;
204
398
  }
399
+ const agent = args.ai
400
+ ? ((_b = (0, local_config_1.readLocalConfig)(root).config.updateAgentCommand) !== null && _b !== void 0 ? _b : (yield (0, agent_setup_1.setUpAgentCommand)({ root })))
401
+ : undefined;
402
+ if (args.ai && !agent)
403
+ return 1;
205
404
  const manifest = (0, packages_1.readManifest)(root);
206
405
  if (!manifest) {
207
406
  console.error(`${(0, packages_1.manifestPath)(root)} cannot be read, so there is nothing to update.`);
208
407
  return 1;
209
408
  }
210
409
  const manager = (0, package_manager_1.detectPackageManager)({ root, manifest });
410
+ const unfinished = args.resume ? undefined : (0, pending_1.readPendingUpdate)(root);
411
+ if (unfinished) {
412
+ console.error(`\nThe update started at ${unfinished.startedAt} is not finished (${pending_1.PENDING_FILE}).\n` +
413
+ `Run \`${invocation} --continue\` to finish it.`);
414
+ return 1;
415
+ }
211
416
  if (args.resume)
212
- return resume({ root, manager, argv: args });
213
- const all = (0, packages_1.declaredEthletePackages)({ root, manifest });
417
+ return resume({ root, manager, argv: args, invocation, agent });
418
+ const manifests = (0, packages_1.findManifests)(root);
419
+ const all = (0, packages_1.declaredEthletePackages)({ root, manifests });
214
420
  const named = args.packages.filter((name) => !all.some((entry) => entry.name === name));
215
421
  if (named.length > 0) {
216
422
  console.error(`This repo declares no ${named.join(', ')}.`);
@@ -221,22 +427,35 @@ const updateCommand = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function*
221
427
  console.log('This repo declares no @ethlete/* dependency.');
222
428
  return 0;
223
429
  }
224
- const resolved = yield resolveUpdates({ declared, version: args.version, tag: args.tag });
430
+ const resolved = yield resolveUpdates({ root, manager, declared, version: args.version, tag: args.tag });
225
431
  for (const problem of resolved.problems)
226
432
  console.error(` ${problem}`);
227
433
  if (resolved.updates.length === 0) {
434
+ if (resolved.problems.length > 0) {
435
+ console.error(`\n${resolved.problems.length} lookup(s) failed, ${resolved.upToDate.length} package(s) on their newest version.`);
436
+ return 1;
437
+ }
228
438
  console.log(`\nEvery @ethlete package is on its newest version (${resolved.upToDate.length} checked).`);
229
- return resolved.problems.length > 0 ? 1 : 0;
439
+ printNewerMajors(resolved.newerMajors);
440
+ if (args.check || args.dryRun)
441
+ return 0;
442
+ if (agent !== undefined)
443
+ return workOpenTasks({ root, agent, invocation, commit: args.commit });
444
+ (0, tasks_1.refreshUpdateTasks)(root);
445
+ return 0;
230
446
  }
231
447
  console.log('');
448
+ if (manifests.length > 1)
449
+ console.log(` ${manifests.length} package.json files scanned.\n`);
232
450
  printUpdates(resolved.updates);
451
+ printNewerMajors(resolved.newerMajors);
233
452
  for (const update of resolved.updates.filter(plan_1.isDowngrade)) {
234
453
  console.log(`\n ${update.name} moves back to ${update.to}, which is older than the installed ${update.from}.`);
235
454
  }
236
455
  const rangeProblems = problemsOf(resolved.updates);
237
456
  for (const problem of rangeProblems)
238
457
  console.error(`\n ${problem}`);
239
- const writable = resolved.updates.filter((update) => update.nextRange !== undefined);
458
+ const writable = resolved.updates.filter((update) => update.writes.length > 0);
240
459
  if (args.check) {
241
460
  console.log(`\nRun \`${invocation}\` to apply this.`);
242
461
  return 1;
@@ -256,18 +475,17 @@ const updateCommand = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function*
256
475
  'Commit or stash them first, or re-run with --force.');
257
476
  return 1;
258
477
  }
259
- (0, packages_1.writeRanges)({
260
- root,
261
- writes: writable.map((update) => { var _a; return ({ name: update.name, field: update.field, range: (_a = update.nextRange) !== null && _a !== void 0 ? _a : '' }); }),
262
- });
263
- (0, pending_1.writePendingUpdate)({
264
- root,
265
- pending: {
266
- startedAt: new Date().toISOString(),
267
- packages: writable.map((update) => { var _a; return ({ name: update.name, from: (_a = update.from) !== null && _a !== void 0 ? _a : null, to: update.to }); }),
268
- },
269
- });
270
- console.log(`\n package.json updated. The migration plan is in ${pending_1.PENDING_FILE}.`);
478
+ const commits = args.commit ? (0, commits_1.startCommits)(root) : undefined;
479
+ if (args.commit && !commits)
480
+ console.log(exports.NOT_A_CHECKOUT);
481
+ (0, exports.ignoreTaskList)(root);
482
+ const changedManifests = (0, packages_1.writeRanges)({ root, writes: writable.flatMap((update) => update.writes) });
483
+ const pendingUpdate = Object.assign(Object.assign({ startedAt: new Date().toISOString(), packages: writable.map((update) => { var _a; return ({ name: update.name, from: (_a = update.from) !== null && _a !== void 0 ? _a : null, to: update.to }); }) }, (Object.keys(args.from).length > 0 ? { from: args.from } : {})), (commits && { commits }));
484
+ (0, pending_1.writePendingUpdate)({ root, pending: pendingUpdate });
485
+ const manifestNote = changedManifests.length === 1
486
+ ? ((_c = changedManifests[0]) !== null && _c !== void 0 ? _c : packages_1.ROOT_MANIFEST)
487
+ : `${changedManifests.length} package.json files`;
488
+ console.log(`\n ${manifestNote} updated. The migration plan is in ${pending_1.PENDING_FILE}.`);
271
489
  if (!args.install) {
272
490
  console.log(`\nInstall the new versions, then run \`${invocation} --continue\`.`);
273
491
  return 0;
@@ -279,20 +497,29 @@ const updateCommand = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function*
279
497
  `Fix it, then run \`${invocation} --continue\` to run the migrations.`);
280
498
  return 1;
281
499
  }
282
- const result = runMigrationPhase({
500
+ const committer = committerFor(root, commits);
501
+ commitBump({ committer, updates: writable });
502
+ if (writable.some((update) => update.name === CLI_PACKAGE && update.from !== update.to)) {
503
+ return continueWithInstalledCli({ root, manager, ai: args.ai, commit: args.commit });
504
+ }
505
+ const result = yield runMigrationPhase({
283
506
  root,
284
507
  manager,
508
+ pendingUpdate,
285
509
  updates: writable,
286
510
  from: args.from,
287
511
  dryRun: false,
288
- ai: args.ai,
512
+ agent,
513
+ committer,
289
514
  });
290
515
  if (result.failed) {
291
- console.error(`\nRun \`${invocation} --continue\` again once the failures above are fixed.`);
516
+ console.error(continueHint(invocation));
292
517
  return 1;
293
518
  }
294
519
  (0, pending_1.clearPendingUpdate)(root);
295
520
  console.log(`\nDone. Read ${tasks_1.UPDATE_DIR} for anything left to do.`);
521
+ if (result.agentFailed)
522
+ return exitAfterAgent({ agentFailed: true, invocation });
296
523
  return rangeProblems.length > 0 ? 1 : 0;
297
524
  });
298
525
  exports.updateCommand = updateCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"update-command.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/update/update-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-command.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/update/update-command.ts"],"names":[],"mappings":"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"}