@ethlete/cli 2.1.0-next.10 → 2.1.0-next.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +10 -5
- package/package.json +1 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/lib/api/git.d.ts +2 -0
- package/src/lib/api/git.js +9 -1
- package/src/lib/api/git.js.map +1 -1
- package/src/lib/config/local-config.d.ts +1 -1
- package/src/lib/update/agent-rules-sync.d.ts +37 -0
- package/src/lib/update/agent-rules-sync.js +40 -0
- package/src/lib/update/agent-rules-sync.js.map +1 -0
- package/src/lib/update/ai.d.ts +14 -7
- package/src/lib/update/ai.js +49 -22
- package/src/lib/update/ai.js.map +1 -1
- package/src/lib/update/gitignore.d.ts +2 -0
- package/src/lib/update/gitignore.js +18 -0
- package/src/lib/update/gitignore.js.map +1 -0
- package/src/lib/update/index.d.ts +1 -0
- package/src/lib/update/index.js +1 -0
- package/src/lib/update/index.js.map +1 -1
- package/src/lib/update/package-manager.d.ts +7 -0
- package/src/lib/update/package-manager.js +14 -1
- package/src/lib/update/package-manager.js.map +1 -1
- package/src/lib/update/pending.d.ts +13 -0
- package/src/lib/update/pending.js +10 -5
- package/src/lib/update/pending.js.map +1 -1
- package/src/lib/update/registry.d.ts +11 -2
- package/src/lib/update/registry.js +88 -2
- package/src/lib/update/registry.js.map +1 -1
- package/src/lib/update/run-migrations.d.ts +1 -0
- package/src/lib/update/run-migrations.js +2 -2
- package/src/lib/update/run-migrations.js.map +1 -1
- package/src/lib/update/tasks.d.ts +18 -1
- package/src/lib/update/tasks.js +106 -39
- package/src/lib/update/tasks.js.map +1 -1
- package/src/lib/update/update-command.js +161 -54
- package/src/lib/update/update-command.js.map +1 -1
|
@@ -2,11 +2,97 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.tagForInstalled = exports.fetchRegistryPackage = exports.packageUrl = exports.registryUrl = exports.DEFAULT_REGISTRY = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const path_1 = require("path");
|
|
5
7
|
const semver_1 = require("./semver");
|
|
6
8
|
const TIMEOUT_MS = 15000;
|
|
7
9
|
exports.DEFAULT_REGISTRY = 'https://registry.npmjs.org';
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
+
const SCOPE = '@ethlete';
|
|
11
|
+
const unquote = (value) => value.trim().replace(/^(["'])(.*)\1$/, '$2');
|
|
12
|
+
const readText = (path) => ((0, fs_1.existsSync)(path) ? (0, fs_1.readFileSync)(path, 'utf8') : undefined);
|
|
13
|
+
const configLines = (text) => text.split(/\r?\n/).filter((line) => line.trim() !== '' && !/^\s*[#;]/.test(line));
|
|
14
|
+
const readNpmrc = (text) => {
|
|
15
|
+
const config = {};
|
|
16
|
+
for (const line of configLines(text)) {
|
|
17
|
+
const separator = line.indexOf('=');
|
|
18
|
+
if (separator < 0)
|
|
19
|
+
continue;
|
|
20
|
+
const key = line.slice(0, separator).trim();
|
|
21
|
+
const value = unquote(line.slice(separator + 1));
|
|
22
|
+
if (key === `${SCOPE}:registry`)
|
|
23
|
+
config.scoped = value;
|
|
24
|
+
if (key === 'registry')
|
|
25
|
+
config.registry = value;
|
|
26
|
+
}
|
|
27
|
+
return config;
|
|
28
|
+
};
|
|
29
|
+
const readYarnrc = (text) => {
|
|
30
|
+
const config = {};
|
|
31
|
+
for (const line of configLines(text)) {
|
|
32
|
+
const match = /^\s*("[^"]+"|\S+)\s+(.+)$/.exec(line);
|
|
33
|
+
if (!match)
|
|
34
|
+
continue;
|
|
35
|
+
const key = unquote(match[1]);
|
|
36
|
+
const value = unquote(match[2]);
|
|
37
|
+
if (key === `${SCOPE}:registry`)
|
|
38
|
+
config.scoped = value;
|
|
39
|
+
if (key === 'registry')
|
|
40
|
+
config.registry = value;
|
|
41
|
+
}
|
|
42
|
+
return config;
|
|
43
|
+
};
|
|
44
|
+
const readYarnrcYml = (text) => {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
const config = {};
|
|
47
|
+
const path = [];
|
|
48
|
+
for (const line of configLines(text)) {
|
|
49
|
+
const match = /^(\s*)([^:\s]+)\s*:\s*(.*)$/.exec(line);
|
|
50
|
+
if (!match)
|
|
51
|
+
continue;
|
|
52
|
+
const indent = match[1].length;
|
|
53
|
+
const key = unquote(match[2]);
|
|
54
|
+
const value = unquote(match[3]);
|
|
55
|
+
while (((_b = (_a = path[path.length - 1]) === null || _a === void 0 ? void 0 : _a.indent) !== null && _b !== void 0 ? _b : -1) >= indent)
|
|
56
|
+
path.pop();
|
|
57
|
+
const keys = [...path.map((entry) => entry.key), key].join('.');
|
|
58
|
+
if (value === '')
|
|
59
|
+
path.push({ indent, key });
|
|
60
|
+
else if (keys === 'npmRegistryServer')
|
|
61
|
+
config.registry = value;
|
|
62
|
+
else if (keys === `npmScopes.${SCOPE.slice(1)}.npmRegistryServer`)
|
|
63
|
+
config.scoped = value;
|
|
64
|
+
}
|
|
65
|
+
return config;
|
|
66
|
+
};
|
|
67
|
+
/** The registry settings of a repo's own config files, in the order its package manager reads them. */
|
|
68
|
+
const projectRegistryConfig = (root, manager) => {
|
|
69
|
+
var _a, _b;
|
|
70
|
+
const npmrc = readText((0, path_1.join)(root, '.npmrc'));
|
|
71
|
+
const sources = [];
|
|
72
|
+
if (manager === 'yarn') {
|
|
73
|
+
const berry = readText((0, path_1.join)(root, '.yarnrc.yml'));
|
|
74
|
+
if (berry !== undefined)
|
|
75
|
+
return readYarnrcYml(berry);
|
|
76
|
+
const classic = readText((0, path_1.join)(root, '.yarnrc'));
|
|
77
|
+
sources.push(classic === undefined ? undefined : readYarnrc(classic));
|
|
78
|
+
}
|
|
79
|
+
sources.push(npmrc === undefined ? undefined : readNpmrc(npmrc));
|
|
80
|
+
return {
|
|
81
|
+
scoped: (_a = sources.find((source) => source === null || source === void 0 ? void 0 : source.scoped)) === null || _a === void 0 ? void 0 : _a.scoped,
|
|
82
|
+
registry: (_b = sources.find((source) => source === null || source === void 0 ? void 0 : source.registry)) === null || _b === void 0 ? void 0 : _b.registry,
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* The registry the repo's package manager installs `@ethlete/*` from: the repo's `.npmrc`, `.yarnrc` or
|
|
87
|
+
* `.yarnrc.yml` first, since yarn 1 exports its default registry to scripts even when an `.npmrc` sets
|
|
88
|
+
* another one, then the environment, then the public registry.
|
|
89
|
+
*/
|
|
90
|
+
const registryUrl = (options = {}) => {
|
|
91
|
+
var _a, _b, _c, _d;
|
|
92
|
+
const { root = process.cwd(), manager = 'npm', env = process.env } = options;
|
|
93
|
+
const project = projectRegistryConfig(root, manager);
|
|
94
|
+
return ((_d = (_c = (_b = (_a = project.scoped) !== null && _a !== void 0 ? _a : env[`npm_config_${SCOPE}:registry`]) !== null && _b !== void 0 ? _b : project.registry) !== null && _c !== void 0 ? _c : env['npm_config_registry']) !== null && _d !== void 0 ? _d : exports.DEFAULT_REGISTRY).replace(/\/+$/, '');
|
|
95
|
+
};
|
|
10
96
|
exports.registryUrl = registryUrl;
|
|
11
97
|
const packageUrl = (options) => `${options.registry}/${options.packageName.replace('/', '%2f')}`;
|
|
12
98
|
exports.packageUrl = packageUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/update/registry.ts"],"names":[],"mappings":";;;;AAAA,qCAAyC;AAEzC,MAAM,UAAU,GAAG,KAAM,CAAC;AAEb,QAAA,gBAAgB,GAAG,4BAA4B,CAAC;AAS7D,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/update/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,11 +38,11 @@ const runAutoMigration = (options) => {
|
|
|
38
38
|
};
|
|
39
39
|
exports.runAutoMigration = runAutoMigration;
|
|
40
40
|
const runInstall = (options) => {
|
|
41
|
-
const { root, manager } = options;
|
|
41
|
+
const { root, manager, env } = options;
|
|
42
42
|
const [binary, ...args] = manager.install;
|
|
43
43
|
if (binary === undefined)
|
|
44
44
|
return { ok: false, reason: 'no install command' };
|
|
45
|
-
const result = (0, child_process_1.spawnSync)(binary, args, { cwd: root, stdio: 'inherit' });
|
|
45
|
+
const result = (0, child_process_1.spawnSync)(binary, args, { cwd: root, stdio: 'inherit', env: (0, package_manager_1.installEnv)(env) });
|
|
46
46
|
if (result.error)
|
|
47
47
|
return { ok: false, reason: result.error.message };
|
|
48
48
|
if (result.status !== 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-migrations.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/update/run-migrations.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,2BAAgC;AAChC,+BAA4B;AAE5B,
|
|
1
|
+
{"version":3,"file":"run-migrations.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/update/run-migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,14 @@ export declare const UPDATE_DIR: string;
|
|
|
5
5
|
export declare const TASKS_FILE = "tasks.md";
|
|
6
6
|
export declare const TASKS_DATA_FILE = "tasks.json";
|
|
7
7
|
export declare const DOCS_BASE_URL = "https://ethlete-sdk-docs.web.app";
|
|
8
|
+
export declare const NEXT_DOCS_BASE_URL = "https://ethlete-sdk-docs-next.web.app";
|
|
9
|
+
/** The docs site of a version's release line: `main` deploys the stable site, `next` the prerelease one. */
|
|
10
|
+
export declare const docsBaseUrl: (version: string) => "https://ethlete-sdk-docs.web.app" | "https://ethlete-sdk-docs-next.web.app";
|
|
11
|
+
/** The agent rules sync of an update that failed, with the command to run again by hand. */
|
|
12
|
+
export type SyncFailure = {
|
|
13
|
+
command: string;
|
|
14
|
+
reason: string;
|
|
15
|
+
};
|
|
8
16
|
export type UpdateTask = {
|
|
9
17
|
packageName: string;
|
|
10
18
|
name: string;
|
|
@@ -25,11 +33,13 @@ export declare const taskFileName: (options: {
|
|
|
25
33
|
export declare const collectTasks: (options: {
|
|
26
34
|
outcomes: readonly MigrationOutcome[];
|
|
27
35
|
manager: PackageManager;
|
|
36
|
+
updates?: readonly UpdatedPackage[];
|
|
28
37
|
}) => UpdateTask[];
|
|
29
38
|
export declare const renderTasks: (options: {
|
|
30
39
|
updates: readonly UpdatedPackage[];
|
|
31
40
|
outcomes: readonly MigrationOutcome[];
|
|
32
41
|
tasks: readonly UpdateTask[];
|
|
42
|
+
syncFailure?: SyncFailure;
|
|
33
43
|
}) => string;
|
|
34
44
|
/**
|
|
35
45
|
* One task as its own file: what moved and where to read more, then the instructions the package ships.
|
|
@@ -47,7 +57,8 @@ export type WrittenTasks = {
|
|
|
47
57
|
};
|
|
48
58
|
/**
|
|
49
59
|
* Writes the report, the machine-readable task list an agent reads, and a copy of every instructions
|
|
50
|
-
* file, so the whole task list stands on its own once `node_modules` changes again.
|
|
60
|
+
* file, so the whole task list stands on its own once `node_modules` changes again. A task an earlier
|
|
61
|
+
* run left is kept while its file is still there.
|
|
51
62
|
*/
|
|
52
63
|
export declare const writeUpdateTasks: (options: {
|
|
53
64
|
root: string;
|
|
@@ -55,4 +66,10 @@ export declare const writeUpdateTasks: (options: {
|
|
|
55
66
|
outcomes: readonly MigrationOutcome[];
|
|
56
67
|
manager: PackageManager;
|
|
57
68
|
generatedAt: string;
|
|
69
|
+
syncFailure?: SyncFailure;
|
|
58
70
|
}) => WrittenTasks;
|
|
71
|
+
/**
|
|
72
|
+
* Rewrites the task list of an earlier run without the tasks whose file was deleted, and returns the
|
|
73
|
+
* tasks still open. `undefined` when no run has written a task list.
|
|
74
|
+
*/
|
|
75
|
+
export declare const refreshUpdateTasks: (root: string) => UpdateTask[] | undefined;
|
package/src/lib/update/tasks.js
CHANGED
|
@@ -1,31 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.writeUpdateTasks = exports.renderTaskFile = exports.renderTasks = exports.collectTasks = exports.taskFileName = exports.DOCS_BASE_URL = exports.TASKS_DATA_FILE = exports.TASKS_FILE = exports.UPDATE_DIR = void 0;
|
|
3
|
+
exports.refreshUpdateTasks = exports.writeUpdateTasks = exports.renderTaskFile = exports.renderTasks = exports.collectTasks = exports.taskFileName = exports.docsBaseUrl = exports.NEXT_DOCS_BASE_URL = exports.DOCS_BASE_URL = exports.TASKS_DATA_FILE = exports.TASKS_FILE = exports.UPDATE_DIR = void 0;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const migration_manifest_1 = require("./migration-manifest");
|
|
7
7
|
const run_migrations_1 = require("./run-migrations");
|
|
8
|
+
const semver_1 = require("./semver");
|
|
8
9
|
exports.UPDATE_DIR = (0, path_1.join)('.ethlete', 'update');
|
|
9
10
|
exports.TASKS_FILE = 'tasks.md';
|
|
10
11
|
exports.TASKS_DATA_FILE = 'tasks.json';
|
|
11
12
|
exports.DOCS_BASE_URL = 'https://ethlete-sdk-docs.web.app';
|
|
13
|
+
exports.NEXT_DOCS_BASE_URL = 'https://ethlete-sdk-docs-next.web.app';
|
|
14
|
+
/** The docs site of a version's release line: `main` deploys the stable site, `next` the prerelease one. */
|
|
15
|
+
const docsBaseUrl = (version) => ((0, semver_1.prereleaseTag)(version) ? exports.NEXT_DOCS_BASE_URL : exports.DOCS_BASE_URL);
|
|
16
|
+
exports.docsBaseUrl = docsBaseUrl;
|
|
12
17
|
const withoutScope = (packageName) => packageName.replace('@ethlete/', '');
|
|
13
18
|
const taskFileName = (options) => `${withoutScope(options.packageName)}-${options.name}.md`;
|
|
14
19
|
exports.taskFileName = taskFileName;
|
|
15
20
|
/** The tasks an update leaves behind: what needs a decision, a prompt, or a command Nx could not run. */
|
|
16
21
|
const collectTasks = (options) => {
|
|
17
|
-
|
|
22
|
+
var _a, _b;
|
|
23
|
+
const { outcomes, manager, updates = [] } = options;
|
|
18
24
|
const tasks = [];
|
|
19
25
|
for (const outcome of outcomes) {
|
|
20
26
|
const { migration, packageName, manifestPath } = outcome.pending;
|
|
21
27
|
const source = (0, migration_manifest_1.instructionsPath)({ manifestPath, migration });
|
|
28
|
+
const target = (_b = (_a = updates.find((update) => update.name === packageName)) === null || _a === void 0 ? void 0 : _a.to) !== null && _b !== void 0 ? _b : migration.version;
|
|
22
29
|
const shared = {
|
|
23
30
|
packageName,
|
|
24
31
|
name: migration.name,
|
|
25
32
|
version: migration.version,
|
|
26
33
|
description: migration.description,
|
|
27
34
|
instructionsFile: source ? (0, path_1.join)(exports.UPDATE_DIR, (0, exports.taskFileName)({ packageName, name: migration.name })) : undefined,
|
|
28
|
-
docsUrl: migration.docs ? `${exports.
|
|
35
|
+
docsUrl: migration.docs ? `${(0, exports.docsBaseUrl)(target)}${migration.docs}` : undefined,
|
|
29
36
|
};
|
|
30
37
|
if (outcome.state === 'unsupported') {
|
|
31
38
|
tasks.push(Object.assign(Object.assign({}, shared), { kind: 'unsupported', command: (0, run_migrations_1.manualGeneratorCommand)({ manager, migration }) }));
|
|
@@ -59,10 +66,28 @@ const renderGroup = (kind, tasks) => {
|
|
|
59
66
|
return [];
|
|
60
67
|
return [`## ${KIND_HEADINGS[kind]}`, '', ...group.map(renderTask)];
|
|
61
68
|
};
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
69
|
+
const appliedOf = (outcomes) => outcomes
|
|
70
|
+
.filter((outcome) => outcome.state === 'applied')
|
|
71
|
+
.map((outcome) => {
|
|
72
|
+
var _a;
|
|
73
|
+
return ({
|
|
74
|
+
package: outcome.pending.packageName,
|
|
75
|
+
name: outcome.pending.migration.name,
|
|
76
|
+
generator: (_a = outcome.pending.migration.generator) !== null && _a !== void 0 ? _a : null,
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
const failedOf = (outcomes) => outcomes
|
|
80
|
+
.filter((outcome) => outcome.state === 'failed')
|
|
81
|
+
.map((outcome) => {
|
|
82
|
+
var _a;
|
|
83
|
+
return ({
|
|
84
|
+
package: outcome.pending.packageName,
|
|
85
|
+
name: outcome.pending.migration.name,
|
|
86
|
+
reason: (_a = outcome.reason) !== null && _a !== void 0 ? _a : null,
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
const renderReport = (options) => {
|
|
90
|
+
const { updates, applied, failed, tasks, syncFailure } = options;
|
|
66
91
|
return [
|
|
67
92
|
'# Ethlete update: what is left to do',
|
|
68
93
|
'',
|
|
@@ -74,7 +99,7 @@ const renderTasks = (options) => {
|
|
|
74
99
|
? [
|
|
75
100
|
'It applied these codemods:',
|
|
76
101
|
'',
|
|
77
|
-
...applied.map((
|
|
102
|
+
...applied.map((codemod) => `- \`${codemod.package}\` ${codemod.name} (${codemod.generator})`),
|
|
78
103
|
'',
|
|
79
104
|
]
|
|
80
105
|
: []),
|
|
@@ -82,7 +107,13 @@ const renderTasks = (options) => {
|
|
|
82
107
|
? [
|
|
83
108
|
'These codemods failed. Run each one again by hand and read its output:',
|
|
84
109
|
'',
|
|
85
|
-
...failed.map((
|
|
110
|
+
...failed.map((codemod) => `- \`${codemod.package}\` ${codemod.name} — ${codemod.reason}`),
|
|
111
|
+
'',
|
|
112
|
+
]
|
|
113
|
+
: []),
|
|
114
|
+
...(syncFailure
|
|
115
|
+
? [
|
|
116
|
+
`The agent rules sync failed — ${syncFailure.reason}. Run \`${syncFailure.command}\` again by hand and read its output.`,
|
|
86
117
|
'',
|
|
87
118
|
]
|
|
88
119
|
: []),
|
|
@@ -97,6 +128,13 @@ const renderTasks = (options) => {
|
|
|
97
128
|
]),
|
|
98
129
|
].join('\n');
|
|
99
130
|
};
|
|
131
|
+
const renderTasks = (options) => renderReport({
|
|
132
|
+
updates: options.updates,
|
|
133
|
+
applied: appliedOf(options.outcomes),
|
|
134
|
+
failed: failedOf(options.outcomes),
|
|
135
|
+
tasks: options.tasks,
|
|
136
|
+
syncFailure: options.syncFailure,
|
|
137
|
+
});
|
|
100
138
|
exports.renderTasks = renderTasks;
|
|
101
139
|
/**
|
|
102
140
|
* One task as its own file: what moved and where to read more, then the instructions the package ships.
|
|
@@ -121,13 +159,46 @@ const renderTaskFile = (options) => {
|
|
|
121
159
|
].join('\n');
|
|
122
160
|
};
|
|
123
161
|
exports.renderTaskFile = renderTaskFile;
|
|
162
|
+
const TASK_KINDS = ['manual', 'assisted', 'unsupported'];
|
|
163
|
+
const isTask = (value) => {
|
|
164
|
+
if (typeof value !== 'object' || value === null)
|
|
165
|
+
return false;
|
|
166
|
+
const record = value;
|
|
167
|
+
return (['packageName', 'name', 'version', 'description'].every((key) => typeof record[key] === 'string') &&
|
|
168
|
+
typeof record['kind'] === 'string' &&
|
|
169
|
+
TASK_KINDS.includes(record['kind']));
|
|
170
|
+
};
|
|
171
|
+
const arrayOf = (value) => (Array.isArray(value) ? value : []);
|
|
172
|
+
const readTaskData = (root) => {
|
|
173
|
+
const path = (0, path_1.join)(root, exports.UPDATE_DIR, exports.TASKS_DATA_FILE);
|
|
174
|
+
if (!(0, fs_1.existsSync)(path))
|
|
175
|
+
return undefined;
|
|
176
|
+
let parsed;
|
|
177
|
+
try {
|
|
178
|
+
parsed = JSON.parse((0, fs_1.readFileSync)(path, 'utf8'));
|
|
179
|
+
}
|
|
180
|
+
catch (_a) {
|
|
181
|
+
return undefined;
|
|
182
|
+
}
|
|
183
|
+
if (typeof parsed !== 'object' || parsed === null)
|
|
184
|
+
return undefined;
|
|
185
|
+
const record = parsed;
|
|
186
|
+
return Object.assign(Object.assign({}, record), { updates: arrayOf(record['updates']), applied: arrayOf(record['applied']), failed: arrayOf(record['failed']), tasks: arrayOf(record['tasks']).filter(isTask) });
|
|
187
|
+
};
|
|
188
|
+
/** Deleting a task file is how a task is done, so a task is open while its file is still there. */
|
|
189
|
+
const openTasksOf = (root, tasks) => tasks.filter((task) => task.instructionsFile && (0, fs_1.existsSync)((0, path_1.join)(root, task.instructionsFile)));
|
|
190
|
+
const unfinishedEarlierTasks = (root) => { var _a, _b; return openTasksOf(root, (_b = (_a = readTaskData(root)) === null || _a === void 0 ? void 0 : _a.tasks) !== null && _b !== void 0 ? _b : []); };
|
|
191
|
+
const sameTask = (left, right) => left.packageName === right.packageName && left.name === right.name;
|
|
124
192
|
/**
|
|
125
193
|
* Writes the report, the machine-readable task list an agent reads, and a copy of every instructions
|
|
126
|
-
* file, so the whole task list stands on its own once `node_modules` changes again.
|
|
194
|
+
* file, so the whole task list stands on its own once `node_modules` changes again. A task an earlier
|
|
195
|
+
* run left is kept while its file is still there.
|
|
127
196
|
*/
|
|
128
197
|
const writeUpdateTasks = (options) => {
|
|
129
|
-
const { root, updates, outcomes, manager, generatedAt } = options;
|
|
130
|
-
const
|
|
198
|
+
const { root, updates, outcomes, manager, generatedAt, syncFailure } = options;
|
|
199
|
+
const collected = (0, exports.collectTasks)({ outcomes, manager, updates });
|
|
200
|
+
const earlier = unfinishedEarlierTasks(root).filter((task) => !collected.some((next) => sameTask(task, next)));
|
|
201
|
+
const tasks = [...earlier, ...collected];
|
|
131
202
|
const directory = (0, path_1.join)(root, exports.UPDATE_DIR);
|
|
132
203
|
(0, fs_1.mkdirSync)(directory, { recursive: true });
|
|
133
204
|
for (const outcome of outcomes) {
|
|
@@ -135,40 +206,36 @@ const writeUpdateTasks = (options) => {
|
|
|
135
206
|
manifestPath: outcome.pending.manifestPath,
|
|
136
207
|
migration: outcome.pending.migration,
|
|
137
208
|
});
|
|
138
|
-
const task =
|
|
209
|
+
const task = collected.find((candidate) => candidate.packageName === outcome.pending.packageName && candidate.name === outcome.pending.migration.name);
|
|
139
210
|
if (!source || !task)
|
|
140
211
|
continue;
|
|
141
212
|
(0, fs_1.writeFileSync)((0, path_1.join)(directory, (0, exports.taskFileName)({ packageName: task.packageName, name: task.name })), `${(0, exports.renderTaskFile)({ task, instructions: (0, fs_1.readFileSync)(source, 'utf8') })}\n`, 'utf8');
|
|
142
213
|
}
|
|
143
214
|
const reportPath = (0, path_1.join)(exports.UPDATE_DIR, exports.TASKS_FILE);
|
|
144
215
|
const dataPath = (0, path_1.join)(exports.UPDATE_DIR, exports.TASKS_DATA_FILE);
|
|
145
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(root, reportPath), `${(0, exports.renderTasks)({ updates, outcomes, tasks })}\n`, 'utf8');
|
|
146
|
-
(0, fs_1.writeFileSync)((0, path_1.join)(root, dataPath), `${JSON.stringify({
|
|
147
|
-
generatedAt,
|
|
148
|
-
updates: updates.map((update) => { var _a; return ({ package: update.name, from: (_a = update.from) !== null && _a !== void 0 ? _a : null, to: update.to }); }),
|
|
149
|
-
applied: outcomes
|
|
150
|
-
.filter((outcome) => outcome.state === 'applied')
|
|
151
|
-
.map((outcome) => {
|
|
152
|
-
var _a;
|
|
153
|
-
return ({
|
|
154
|
-
package: outcome.pending.packageName,
|
|
155
|
-
name: outcome.pending.migration.name,
|
|
156
|
-
generator: (_a = outcome.pending.migration.generator) !== null && _a !== void 0 ? _a : null,
|
|
157
|
-
});
|
|
158
|
-
}),
|
|
159
|
-
failed: outcomes
|
|
160
|
-
.filter((outcome) => outcome.state === 'failed')
|
|
161
|
-
.map((outcome) => {
|
|
162
|
-
var _a;
|
|
163
|
-
return ({
|
|
164
|
-
package: outcome.pending.packageName,
|
|
165
|
-
name: outcome.pending.migration.name,
|
|
166
|
-
reason: (_a = outcome.reason) !== null && _a !== void 0 ? _a : null,
|
|
167
|
-
});
|
|
168
|
-
}),
|
|
169
|
-
tasks,
|
|
170
|
-
}, null, 2)}\n`, 'utf8');
|
|
216
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(root, reportPath), `${(0, exports.renderTasks)({ updates, outcomes, tasks, syncFailure }).trimEnd()}\n`, 'utf8');
|
|
217
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(root, dataPath), `${JSON.stringify(Object.assign(Object.assign({ generatedAt, updates: updates.map((update) => { var _a; return ({ package: update.name, from: (_a = update.from) !== null && _a !== void 0 ? _a : null, to: update.to }); }), applied: appliedOf(outcomes), failed: failedOf(outcomes) }, (syncFailure ? { syncFailed: syncFailure } : {})), { tasks }), null, 2)}\n`, 'utf8');
|
|
171
218
|
return { reportPath, dataPath, tasks };
|
|
172
219
|
};
|
|
173
220
|
exports.writeUpdateTasks = writeUpdateTasks;
|
|
221
|
+
/**
|
|
222
|
+
* Rewrites the task list of an earlier run without the tasks whose file was deleted, and returns the
|
|
223
|
+
* tasks still open. `undefined` when no run has written a task list.
|
|
224
|
+
*/
|
|
225
|
+
const refreshUpdateTasks = (root) => {
|
|
226
|
+
const data = readTaskData(root);
|
|
227
|
+
if (!data)
|
|
228
|
+
return undefined;
|
|
229
|
+
const tasks = openTasksOf(root, data.tasks);
|
|
230
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(root, exports.UPDATE_DIR, exports.TASKS_FILE), `${renderReport({
|
|
231
|
+
updates: data.updates.map((update) => { var _a; return ({ name: update.package, from: (_a = update.from) !== null && _a !== void 0 ? _a : undefined, to: update.to }); }),
|
|
232
|
+
applied: data.applied,
|
|
233
|
+
failed: data.failed,
|
|
234
|
+
tasks,
|
|
235
|
+
syncFailure: data.syncFailed,
|
|
236
|
+
}).trimEnd()}\n`, 'utf8');
|
|
237
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(root, exports.UPDATE_DIR, exports.TASKS_DATA_FILE), `${JSON.stringify(Object.assign(Object.assign({}, data), { tasks }), null, 2)}\n`, 'utf8');
|
|
238
|
+
return tasks;
|
|
239
|
+
};
|
|
240
|
+
exports.refreshUpdateTasks = refreshUpdateTasks;
|
|
174
241
|
//# sourceMappingURL=tasks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/update/tasks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/update/tasks.ts"],"names":[],"mappings":"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"}
|