@antelopejs/core 1.4.4 → 1.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/cli/commands/project/modules/add.d.ts +6 -1
- package/dist/core/cli/commands/project/modules/add.js +89 -58
- package/dist/core/cli/commands/project/modules/add.js.map +1 -1
- package/dist/core/cli/commands/project/modules/install.d.ts +2 -0
- package/dist/core/cli/commands/project/modules/install.js +22 -3
- package/dist/core/cli/commands/project/modules/install.js.map +1 -1
- package/dist/core/cli/commands/project/modules/update.js +2 -2
- package/dist/core/cli/commands/project/modules/update.js.map +1 -1
- package/dist/core/downloaders/git.js +99 -23
- package/dist/core/downloaders/git.js.map +1 -1
- package/dist/core/downloaders/package.js +146 -35
- package/dist/core/downloaders/package.js.map +1 -1
- package/dist/core/module-cache.d.ts +4 -3
- package/dist/core/module-cache.js +20 -21
- package/dist/core/module-cache.js.map +1 -1
- package/dist/core/version-checker.d.ts +5 -0
- package/dist/core/version-checker.js +47 -1
- package/dist/core/version-checker.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,11 @@ interface AddOptions {
|
|
|
7
7
|
ignoreCache?: boolean;
|
|
8
8
|
}
|
|
9
9
|
export declare const handlers: Map<string, (module: string, options: AddOptions) => Promise<[string, AntelopeModuleConfig | string]>>;
|
|
10
|
-
export
|
|
10
|
+
export interface AddCommandResult {
|
|
11
|
+
added: string[];
|
|
12
|
+
skipped: string[];
|
|
13
|
+
failed: string[];
|
|
14
|
+
}
|
|
15
|
+
export declare function projectModulesAddCommand(modules: string[], options: AddOptions): Promise<AddCommandResult | undefined>;
|
|
11
16
|
export default function (): Command;
|
|
12
17
|
export {};
|
|
@@ -19,13 +19,71 @@ const package_1 = require("../../../../downloaders/package");
|
|
|
19
19
|
const registry_1 = require("../../../../downloaders/registry");
|
|
20
20
|
const filesystem_1 = require("../../../../filesystem");
|
|
21
21
|
const module_cache_1 = require("../../../../module-cache");
|
|
22
|
+
const version_checker_1 = require("../../../../version-checker");
|
|
22
23
|
const cli_ui_1 = require("../../../cli-ui");
|
|
23
24
|
const command_1 = require("../../../command");
|
|
24
25
|
const common_1 = require("../../../common");
|
|
25
|
-
const package_manager_1 = require("../../../package-manager");
|
|
26
26
|
const LOCAL_MODULE_WATCH_DIRS = ["src"];
|
|
27
27
|
const LOCAL_MODULE_BUILD_COMMAND = ["npx tsc"];
|
|
28
28
|
exports.handlers = new Map();
|
|
29
|
+
async function downloadModuleToCache(registry, cache, projectPath, moduleName, moduleConfig) {
|
|
30
|
+
const loaderIdentifier = registry.getLoaderIdentifier(moduleConfig.source);
|
|
31
|
+
if (!loaderIdentifier) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
(0, cli_ui_1.info)(`Downloading module ${chalk_1.default.bold(moduleName)} to cache...`);
|
|
35
|
+
try {
|
|
36
|
+
const moduleManifests = await registry.load(projectPath, cache, {
|
|
37
|
+
...moduleConfig.source,
|
|
38
|
+
id: moduleName,
|
|
39
|
+
});
|
|
40
|
+
if (moduleManifests.length > 0) {
|
|
41
|
+
const manifest = moduleManifests[0];
|
|
42
|
+
if (manifest.manifest.antelopeJs?.defaultConfig) {
|
|
43
|
+
moduleConfig.config = manifest.manifest.antelopeJs.defaultConfig;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
(0, cli_ui_1.success)(`Successfully downloaded module ${chalk_1.default.bold(moduleName)} to cache`);
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
51
|
+
(0, cli_ui_1.error)(`Failed to download module ${chalk_1.default.bold(moduleName)}: ${errorMessage}`);
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async function displayAddResults(added, skipped, failed) {
|
|
56
|
+
let resultContent = "";
|
|
57
|
+
if (added.length > 0) {
|
|
58
|
+
resultContent += `${chalk_1.default.green.bold("Successfully added:")}\n`;
|
|
59
|
+
added.forEach((name) => {
|
|
60
|
+
resultContent += ` • ${chalk_1.default.bold(name)}\n`;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (skipped.length > 0) {
|
|
64
|
+
if (resultContent)
|
|
65
|
+
resultContent += "\n";
|
|
66
|
+
resultContent += `${chalk_1.default.yellow.bold("Skipped:")}\n`;
|
|
67
|
+
skipped.forEach((name) => {
|
|
68
|
+
resultContent += ` • ${chalk_1.default.dim(name)}\n`;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if (failed.length > 0) {
|
|
72
|
+
if (resultContent)
|
|
73
|
+
resultContent += "\n";
|
|
74
|
+
resultContent += `${chalk_1.default.red.bold("Failed:")}\n`;
|
|
75
|
+
failed.forEach((name) => {
|
|
76
|
+
resultContent += ` • ${chalk_1.default.bold(name)}\n`;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
if (resultContent) {
|
|
80
|
+
const borderColor = added.length > 0 ? "green" : failed.length > 0 ? "red" : "yellow";
|
|
81
|
+
await (0, cli_ui_1.displayBox)(resultContent, "📦 Module Addition Results", {
|
|
82
|
+
padding: 1,
|
|
83
|
+
borderColor,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
29
87
|
async function projectModulesAddCommand(modules, options) {
|
|
30
88
|
console.log("");
|
|
31
89
|
(0, cli_ui_1.info)(`Adding modules to your project...`);
|
|
@@ -46,6 +104,7 @@ async function projectModulesAddCommand(modules, options) {
|
|
|
46
104
|
(0, local_folder_1.registerLocalFolderDownloader)(registry, { fs });
|
|
47
105
|
(0, package_1.registerPackageDownloader)(registry, { fs, exec: command_1.ExecuteCMD });
|
|
48
106
|
(0, git_1.registerGitDownloader)(registry, { fs, exec: command_1.ExecuteCMD });
|
|
107
|
+
const failed = [];
|
|
49
108
|
let sources = await Promise.all(modules.map((module) => {
|
|
50
109
|
const modulePath = options.mode === "local" || options.mode === "dir"
|
|
51
110
|
? node_path_1.default.isAbsolute(module)
|
|
@@ -62,6 +121,7 @@ async function projectModulesAddCommand(modules, options) {
|
|
|
62
121
|
(0, cli_ui_1.error)(err instanceof Error
|
|
63
122
|
? err
|
|
64
123
|
: `Failed to add module "${module}": ${String(err)}`);
|
|
124
|
+
failed.push(module);
|
|
65
125
|
return null;
|
|
66
126
|
});
|
|
67
127
|
}));
|
|
@@ -90,41 +150,25 @@ async function projectModulesAddCommand(modules, options) {
|
|
|
90
150
|
return null;
|
|
91
151
|
const [moduleName, moduleConfig] = source;
|
|
92
152
|
if (antelopeConfig.modules[moduleName]) {
|
|
93
|
-
return { moduleName, moduleConfig, skipped: true };
|
|
153
|
+
return { moduleName, moduleConfig, skipped: true, failed: false };
|
|
94
154
|
}
|
|
95
|
-
|
|
155
|
+
const downloadable = typeof moduleConfig === "object" &&
|
|
96
156
|
moduleConfig !== null &&
|
|
97
|
-
"source" in moduleConfig
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const moduleManifests = await registry.load(resolvedProjectPath, cache, {
|
|
103
|
-
...moduleConfig.source,
|
|
104
|
-
id: moduleName,
|
|
105
|
-
});
|
|
106
|
-
if (moduleManifests.length > 0) {
|
|
107
|
-
const manifest = moduleManifests[0];
|
|
108
|
-
if (manifest.manifest.antelopeJs?.defaultConfig) {
|
|
109
|
-
moduleConfig.config = manifest.manifest.antelopeJs.defaultConfig;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
(0, cli_ui_1.success)(`Successfully downloaded module ${chalk_1.default.bold(moduleName)} to cache`);
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
116
|
-
(0, cli_ui_1.warning)(`Failed to download module ${chalk_1.default.bold(moduleName)} to cache: ${errorMessage}`);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return { moduleName, moduleConfig, skipped: false };
|
|
157
|
+
"source" in moduleConfig;
|
|
158
|
+
const downloaded = downloadable
|
|
159
|
+
? await downloadModuleToCache(registry, cache, resolvedProjectPath, moduleName, moduleConfig)
|
|
160
|
+
: true;
|
|
161
|
+
return { moduleName, moduleConfig, skipped: false, failed: !downloaded };
|
|
121
162
|
});
|
|
122
163
|
const moduleResults = await Promise.all(moduleLoadingTasks);
|
|
123
164
|
for (const result of moduleResults) {
|
|
124
165
|
if (!result)
|
|
125
166
|
continue;
|
|
126
|
-
const { moduleName, moduleConfig, skipped: wasSkipped } = result;
|
|
127
|
-
if (
|
|
167
|
+
const { moduleName, moduleConfig, skipped: wasSkipped, failed: hasFailed, } = result;
|
|
168
|
+
if (hasFailed) {
|
|
169
|
+
failed.push(moduleName);
|
|
170
|
+
}
|
|
171
|
+
else if (wasSkipped) {
|
|
128
172
|
skipped.push(moduleName);
|
|
129
173
|
}
|
|
130
174
|
else {
|
|
@@ -132,28 +176,14 @@ async function projectModulesAddCommand(modules, options) {
|
|
|
132
176
|
added.push(moduleName);
|
|
133
177
|
}
|
|
134
178
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
if (added.length > 0) {
|
|
138
|
-
resultContent += `${chalk_1.default.green.bold("Successfully added:")}\n`;
|
|
139
|
-
added.forEach((name) => {
|
|
140
|
-
resultContent += ` • ${chalk_1.default.bold(name)}\n`;
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
if (skipped.length > 0) {
|
|
144
|
-
if (resultContent)
|
|
145
|
-
resultContent += "\n";
|
|
146
|
-
resultContent += `${chalk_1.default.yellow.bold("Skipped:")}\n`;
|
|
147
|
-
skipped.forEach((name) => {
|
|
148
|
-
resultContent += ` • ${chalk_1.default.dim(name)}\n`;
|
|
149
|
-
});
|
|
179
|
+
if (failed.length > 0) {
|
|
180
|
+
process.exitCode = 1;
|
|
150
181
|
}
|
|
151
|
-
if (
|
|
152
|
-
await (0,
|
|
153
|
-
padding: 1,
|
|
154
|
-
borderColor: added.length > 0 ? "green" : "yellow",
|
|
155
|
-
});
|
|
182
|
+
if (added.length > 0) {
|
|
183
|
+
await (0, common_1.writeConfig)(resolvedProjectPath, config);
|
|
156
184
|
}
|
|
185
|
+
await displayAddResults(added, skipped, failed);
|
|
186
|
+
return { added, skipped, failed };
|
|
157
187
|
}
|
|
158
188
|
function default_1() {
|
|
159
189
|
return new commander_1.Command("add")
|
|
@@ -165,26 +195,27 @@ function default_1() {
|
|
|
165
195
|
.default("package"))
|
|
166
196
|
.addOption(common_1.Options.project)
|
|
167
197
|
.addOption(new commander_1.Option("-e, --env <environment>", "Environment to add modules to").env("ANTELOPEJS_LAUNCH_ENV"))
|
|
168
|
-
.action(
|
|
198
|
+
.action(async (modules, options) => {
|
|
199
|
+
await projectModulesAddCommand(modules, options);
|
|
200
|
+
});
|
|
169
201
|
}
|
|
170
202
|
exports.handlers.set("package", async (module) => {
|
|
171
203
|
const m = module.match(/^(.+?)(?:@(.*))?$/);
|
|
172
204
|
(0, node_assert_1.default)(m, `Invalid npm module format: '${module}'. Use <name>@<version>, <name>version or <name>`);
|
|
173
|
-
|
|
174
|
-
if (
|
|
175
|
-
|
|
176
|
-
if (result.code !== 0) {
|
|
177
|
-
throw new Error(`Failed to fetch version: ${result.stderr}`);
|
|
178
|
-
}
|
|
179
|
-
version = (0, package_manager_1.parsePackageInfoOutput)(result.stdout);
|
|
205
|
+
const [, name, version] = m;
|
|
206
|
+
if (version) {
|
|
207
|
+
await (0, version_checker_1.validateVersionSpec)(name, version);
|
|
180
208
|
}
|
|
209
|
+
const resolvedVersion = version
|
|
210
|
+
? version
|
|
211
|
+
: (0, version_checker_1.toFloatingSpec)(await (0, version_checker_1.fetchLatestVersion)(name));
|
|
181
212
|
return [
|
|
182
213
|
name,
|
|
183
214
|
{
|
|
184
215
|
source: {
|
|
185
216
|
type: "package",
|
|
186
217
|
package: name,
|
|
187
|
-
version:
|
|
218
|
+
version: resolvedVersion,
|
|
188
219
|
},
|
|
189
220
|
},
|
|
190
221
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../../../src/core/cli/commands/project/modules/add.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../../../src/core/cli/commands/project/modules/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveInstallIdentifier = resolveInstallIdentifier;
|
|
6
7
|
exports.default = default_1;
|
|
7
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
9
|
const chalk_1 = __importDefault(require("chalk"));
|
|
@@ -24,6 +25,14 @@ const common_1 = require("../../../common");
|
|
|
24
25
|
const git_operations_1 = require("../../../git-operations");
|
|
25
26
|
const terminal_display_1 = require("../../../terminal-display");
|
|
26
27
|
const add_1 = require("./add");
|
|
28
|
+
const PACKAGE_SOURCE_TYPE = "package";
|
|
29
|
+
function resolveInstallIdentifier(source, identifier) {
|
|
30
|
+
if (source.type !== PACKAGE_SOURCE_TYPE) {
|
|
31
|
+
return identifier;
|
|
32
|
+
}
|
|
33
|
+
const version = source.version;
|
|
34
|
+
return version ? `${identifier}@${version}` : identifier;
|
|
35
|
+
}
|
|
27
36
|
async function analyzeConfig(projectFolder, cache, config, registry, fs) {
|
|
28
37
|
const manifests = (await Promise.all(Object.entries(config.modules).map(([name, module]) => registry
|
|
29
38
|
.load(projectFolder, cache, { ...module.source, id: name })
|
|
@@ -138,7 +147,7 @@ function default_1() {
|
|
|
138
147
|
if (loaderIdentifier) {
|
|
139
148
|
(0, cli_ui_1.success)(` ${chalk_1.default.green("↳")} Selected module: ${chalk_1.default.bold(moduleName)} for ${imp}`);
|
|
140
149
|
modulesToInstall.push({
|
|
141
|
-
loaderIdentifier,
|
|
150
|
+
loaderIdentifier: resolveInstallIdentifier(source, loaderIdentifier),
|
|
142
151
|
mode,
|
|
143
152
|
moduleName,
|
|
144
153
|
imports: [imp],
|
|
@@ -180,15 +189,25 @@ function default_1() {
|
|
|
180
189
|
const loaderIdentifiers = modules.map((m) => m.loaderIdentifier);
|
|
181
190
|
(0, cli_ui_1.info)(chalk_1.default.blue `Installing ${modules.length} module${modules.length === 1 ? "" : "s"} for environment ${env} (mode: ${mode})...`);
|
|
182
191
|
try {
|
|
183
|
-
await (0, add_1.projectModulesAddCommand)(loaderIdentifiers, {
|
|
192
|
+
const result = await (0, add_1.projectModulesAddCommand)(loaderIdentifiers, {
|
|
184
193
|
mode,
|
|
185
194
|
project: options.project,
|
|
186
195
|
env,
|
|
187
196
|
});
|
|
188
|
-
|
|
197
|
+
const failedCount = result
|
|
198
|
+
? result.failed.length
|
|
199
|
+
: loaderIdentifiers.length;
|
|
200
|
+
if (failedCount > 0) {
|
|
201
|
+
(0, cli_ui_1.error)(chalk_1.default.red `Failed to install ${failedCount} module(s) for environment ${env} (mode: ${mode})`);
|
|
202
|
+
process.exitCode = 1;
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
(0, cli_ui_1.success)(chalk_1.default.green `Successfully installed modules for environment ${env} (mode: ${mode})`);
|
|
206
|
+
}
|
|
189
207
|
}
|
|
190
208
|
catch (err) {
|
|
191
209
|
(0, cli_ui_1.error)(chalk_1.default.red `Failed to install modules for environment ${env} (mode: ${mode}): ${err}`);
|
|
210
|
+
process.exitCode = 1;
|
|
192
211
|
}
|
|
193
212
|
}
|
|
194
213
|
await terminal_display_1.terminalDisplay.stopSpinner(`Installed ${modulesToInstall.length} module${modulesToInstall.length === 1 ? "" : "s"}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../../../src/core/cli/commands/project/modules/install.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../../../src/core/cli/commands/project/modules/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ function applyUpdates(env, outdated, antelopeModules) {
|
|
|
18
18
|
...antelopeModules[entry.name],
|
|
19
19
|
source: {
|
|
20
20
|
...antelopeModules[entry.name].source,
|
|
21
|
-
version: entry.latest,
|
|
21
|
+
version: (0, version_checker_1.bumpVersionSpec)(entry.current, entry.latest),
|
|
22
22
|
},
|
|
23
23
|
};
|
|
24
24
|
}
|
|
@@ -31,7 +31,7 @@ function displayResults(outdated, options, notFound) {
|
|
|
31
31
|
const label = options.dryRun ? "Would update" : "Updated";
|
|
32
32
|
(0, cli_ui_1.success)(chalk_1.default.green `${label} ${outdated.length} module(s):`);
|
|
33
33
|
for (const entry of outdated) {
|
|
34
|
-
(0, cli_ui_1.info)(` ${chalk_1.default.green("•")} ${entry.name}: ${chalk_1.default.dim(entry.current)} → ${entry.latest}`);
|
|
34
|
+
(0, cli_ui_1.info)(` ${chalk_1.default.green("•")} ${entry.name}: ${chalk_1.default.dim(entry.current)} → ${(0, version_checker_1.bumpVersionSpec)(entry.current, entry.latest)}`);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../../src/core/cli/commands/project/modules/update.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../../src/core/cli/commands/project/modules/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.registerGitDownloader = registerGitDownloader;
|
|
37
|
+
const path = __importStar(require("node:path"));
|
|
4
38
|
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
5
39
|
const command_1 = require("../cli/command");
|
|
6
40
|
const terminal_display_1 = require("../cli/terminal-display");
|
|
@@ -8,9 +42,37 @@ const filesystem_1 = require("../filesystem");
|
|
|
8
42
|
const module_manifest_1 = require("../module-manifest");
|
|
9
43
|
const utils_1 = require("./utils");
|
|
10
44
|
const Logger = new logging_1.Logging.Channel("loader.git");
|
|
45
|
+
const GIT_DIR = ".git";
|
|
46
|
+
const SAFE_GIT_ARGUMENT = /^[A-Za-z0-9._:/@~-]+$/;
|
|
11
47
|
function urlToFile(url) {
|
|
12
48
|
return url.replace(/[^a-zA-Z0-9_]/g, "_");
|
|
13
49
|
}
|
|
50
|
+
function assertSafeGitArgument(value, label) {
|
|
51
|
+
if (!SAFE_GIT_ARGUMENT.test(value)) {
|
|
52
|
+
throw new Error(`Unsafe characters in git ${label} '${value}'; only letters, digits and ._:/@~- are allowed`);
|
|
53
|
+
}
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
function validateSource(source) {
|
|
57
|
+
assertSafeGitArgument(source.remote, "remote");
|
|
58
|
+
if (source.branch) {
|
|
59
|
+
assertSafeGitArgument(source.branch, "branch");
|
|
60
|
+
}
|
|
61
|
+
if (source.commit) {
|
|
62
|
+
assertSafeGitArgument(source.commit, "commit");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function toCommandResult(err) {
|
|
66
|
+
return { stdout: "", stderr: String(err), code: 1 };
|
|
67
|
+
}
|
|
68
|
+
async function runGitCommand(command, cwd, exec) {
|
|
69
|
+
const result = await exec(command, { cwd }).catch(toCommandResult);
|
|
70
|
+
if (result.code !== 0) {
|
|
71
|
+
await terminal_display_1.terminalDisplay.failSpinner(`'${command}' failed: ${result.stderr}`);
|
|
72
|
+
throw new Error(`'${command}' failed: ${result.stderr}`);
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
14
76
|
async function commitAt(branch, cwd, exec) {
|
|
15
77
|
let res;
|
|
16
78
|
try {
|
|
@@ -27,38 +89,43 @@ async function commitAt(branch, cwd, exec) {
|
|
|
27
89
|
return res.stdout.trim();
|
|
28
90
|
}
|
|
29
91
|
async function mainBranch(cwd, exec) {
|
|
30
|
-
const res = await
|
|
31
|
-
|
|
92
|
+
const res = await runGitCommand("git symbolic-ref refs/remotes/origin/HEAD", cwd, exec);
|
|
93
|
+
const branch = res.stdout.trim().split("/").slice(3).join("/");
|
|
94
|
+
return assertSafeGitArgument(branch, "branch");
|
|
32
95
|
}
|
|
33
|
-
async function
|
|
34
|
-
const cacheVersion = cache.getVersion(name);
|
|
96
|
+
async function cloneRepo(cache, source, exec, name, folder) {
|
|
35
97
|
const branch = source.commit || source.branch;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
await exec(`git checkout ${branch}`, { cwd: folder });
|
|
42
|
-
}
|
|
43
|
-
await terminal_display_1.terminalDisplay.stopSpinner(`Cloned ${source.remote}`);
|
|
44
|
-
const newActiveCommit = await commitAt("HEAD", folder, exec);
|
|
45
|
-
const newBranch = branch ?? (await mainBranch(folder, exec));
|
|
46
|
-
return {
|
|
47
|
-
newVersion: `git:${newBranch}:${newActiveCommit}`,
|
|
48
|
-
shouldInstallDependencies: true,
|
|
49
|
-
};
|
|
98
|
+
await terminal_display_1.terminalDisplay.startSpinner(`Cloning ${source.remote}`);
|
|
99
|
+
await cache.getFolder(name, false, true);
|
|
100
|
+
await runGitCommand(`git clone ${source.remote} ${name}`, cache.path, exec);
|
|
101
|
+
if (branch) {
|
|
102
|
+
await runGitCommand(`git checkout ${branch}`, folder, exec);
|
|
50
103
|
}
|
|
104
|
+
await terminal_display_1.terminalDisplay.stopSpinner(`Cloned ${source.remote}`);
|
|
105
|
+
const newActiveCommit = await commitAt("HEAD", folder, exec);
|
|
106
|
+
const newBranch = branch ?? (await mainBranch(folder, exec));
|
|
107
|
+
return {
|
|
108
|
+
newVersion: `git:${newBranch}:${newActiveCommit}`,
|
|
109
|
+
shouldInstallDependencies: true,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
async function updateRepo(source, exec, folder, cacheVersion) {
|
|
113
|
+
const branch = source.commit || source.branch;
|
|
51
114
|
const [, prevBranch, prevCommit] = cacheVersion.split(":");
|
|
52
115
|
await terminal_display_1.terminalDisplay.startSpinner(`Updating ${source.remote}`);
|
|
53
|
-
await exec("git fetch", { cwd: folder });
|
|
116
|
+
const fetchResult = await exec("git fetch", { cwd: folder }).catch(toCommandResult);
|
|
117
|
+
if (fetchResult.code !== 0) {
|
|
118
|
+
await terminal_display_1.terminalDisplay.stopSpinner(`Could not fetch ${source.remote}, using cached copy`);
|
|
119
|
+
return { newVersion: "", shouldInstallDependencies: false };
|
|
120
|
+
}
|
|
54
121
|
const newBranch = branch ?? (await mainBranch(folder, exec));
|
|
55
122
|
if (prevBranch !== newBranch) {
|
|
56
|
-
await
|
|
123
|
+
await runGitCommand(`git checkout ${newBranch}`, folder, exec);
|
|
57
124
|
}
|
|
58
125
|
if (!source.commit) {
|
|
59
126
|
const originCommit = await commitAt(`origin/${newBranch}`, folder, exec);
|
|
60
127
|
if (originCommit !== prevCommit) {
|
|
61
|
-
await
|
|
128
|
+
await runGitCommand(`git reset --hard origin/${newBranch}`, folder, exec);
|
|
62
129
|
}
|
|
63
130
|
}
|
|
64
131
|
const newActiveCommit = await commitAt("HEAD", folder, exec);
|
|
@@ -71,22 +138,31 @@ async function cloneOrFetchRepo(cache, source, exec, name, folder) {
|
|
|
71
138
|
shouldInstallDependencies: true,
|
|
72
139
|
};
|
|
73
140
|
}
|
|
141
|
+
async function cloneOrFetchRepo(cache, source, exec, fs, name, folder) {
|
|
142
|
+
const cacheVersion = cache.getVersion(name);
|
|
143
|
+
const repoPresent = await fs.exists(path.join(folder, GIT_DIR));
|
|
144
|
+
if (source.ignoreCache || !cacheVersion?.startsWith("git:") || !repoPresent) {
|
|
145
|
+
return cloneRepo(cache, source, exec, name, folder);
|
|
146
|
+
}
|
|
147
|
+
return updateRepo(source, exec, folder, cacheVersion);
|
|
148
|
+
}
|
|
74
149
|
function registerGitDownloader(registry, deps = {}) {
|
|
75
150
|
const fs = deps.fs ?? new filesystem_1.NodeFileSystem();
|
|
76
151
|
const exec = deps.exec ?? command_1.ExecuteCMD;
|
|
77
152
|
registry.register("git", "remote", async (cache, source) => {
|
|
78
153
|
Logger.Debug(`Git loader called for ${source.remote}`);
|
|
154
|
+
validateSource(source);
|
|
79
155
|
const name = urlToFile(source.remote);
|
|
80
156
|
Logger.Trace(`Starting Git module load for ${name}`);
|
|
81
157
|
const folder = await cache.getFolder(name, true, true);
|
|
82
|
-
const updateResult = await cloneOrFetchRepo(cache, source, exec, name, folder);
|
|
158
|
+
const updateResult = await cloneOrFetchRepo(cache, source, exec, fs, name, folder);
|
|
83
159
|
if (updateResult.shouldInstallDependencies) {
|
|
84
160
|
Logger.Debug(`Running install commands for ${name}`);
|
|
85
161
|
await (0, utils_1.runInstallCommands)(exec, Logger, name, folder, source.installCommand);
|
|
86
162
|
}
|
|
87
163
|
Logger.Trace(`Git module load completed for ${name}`);
|
|
88
164
|
if (updateResult.newVersion) {
|
|
89
|
-
cache.
|
|
165
|
+
await cache.commitVersion(name, updateResult.newVersion);
|
|
90
166
|
}
|
|
91
167
|
const moduleName = source.id ?? name;
|
|
92
168
|
const manifest = await module_manifest_1.ModuleManifest.create(folder, source, moduleName, fs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/core/downloaders/git.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/core/downloaders/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,12 +40,15 @@ exports.registerPackageDownloader = registerPackageDownloader;
|
|
|
40
40
|
const path = __importStar(require("node:path"));
|
|
41
41
|
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
42
42
|
const inly_1 = __importDefault(require("inly"));
|
|
43
|
+
const semver_1 = require("semver");
|
|
43
44
|
const command_1 = require("../cli/command");
|
|
44
45
|
const package_manager_1 = require("../cli/package-manager");
|
|
45
46
|
const filesystem_1 = require("../filesystem");
|
|
46
47
|
const module_cache_1 = require("../module-cache");
|
|
47
48
|
const module_manifest_1 = require("../module-manifest");
|
|
48
49
|
const Logger = new logging_1.Logging.Channel("loader.package");
|
|
50
|
+
const PACKAGE_JSON = "package.json";
|
|
51
|
+
const NODE_MODULES = "node_modules";
|
|
49
52
|
function defaultExtract(from, to) {
|
|
50
53
|
return new Promise((resolve, reject) => {
|
|
51
54
|
const instance = (0, inly_1.default)(from, to);
|
|
@@ -53,46 +56,154 @@ function defaultExtract(from, to) {
|
|
|
53
56
|
instance.on("end", resolve);
|
|
54
57
|
});
|
|
55
58
|
}
|
|
56
|
-
function
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
function isExactVersion(spec) {
|
|
60
|
+
return (0, semver_1.valid)(spec) !== null;
|
|
61
|
+
}
|
|
62
|
+
function pickBestVersion(versions, spec) {
|
|
63
|
+
const range = (0, semver_1.validRange)(spec);
|
|
64
|
+
if (range) {
|
|
65
|
+
return (0, semver_1.maxSatisfying)(versions, range) ?? undefined;
|
|
66
|
+
}
|
|
67
|
+
return versions[versions.length - 1];
|
|
68
|
+
}
|
|
69
|
+
async function fetchRegistryVersion(pkg, spec, exec) {
|
|
70
|
+
let output;
|
|
71
|
+
try {
|
|
72
|
+
const result = await exec(`npm view "${pkg}@${spec}" version --json`, {});
|
|
73
|
+
if (result.code !== 0) {
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
output = result.stdout.trim();
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
if (!output) {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
try {
|
|
85
|
+
const parsed = JSON.parse(output);
|
|
86
|
+
const versions = Array.isArray(parsed) ? parsed : [parsed];
|
|
87
|
+
return pickBestVersion(versions, spec);
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
Logger.Debug(`Unexpected npm view output for ${pkg}@${spec}: ${output}`);
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function memoizeVersionFetcher(exec) {
|
|
95
|
+
const pending = new Map();
|
|
96
|
+
return (pkg, spec) => {
|
|
97
|
+
const key = `${pkg}@${spec}`;
|
|
98
|
+
const existing = pending.get(key);
|
|
99
|
+
if (existing) {
|
|
100
|
+
return existing;
|
|
101
|
+
}
|
|
102
|
+
const created = fetchRegistryVersion(pkg, spec, exec);
|
|
103
|
+
pending.set(key, created);
|
|
104
|
+
return created;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function cacheSatisfiesSpec(cached, spec) {
|
|
108
|
+
const range = (0, semver_1.validRange)(spec);
|
|
109
|
+
return range === null || (0, semver_1.satisfies)(cached, range);
|
|
110
|
+
}
|
|
111
|
+
async function resolveTargetVersion(source, cache, fetchVersion) {
|
|
112
|
+
if (isExactVersion(source.version)) {
|
|
113
|
+
return source.version;
|
|
114
|
+
}
|
|
115
|
+
const resolved = await fetchVersion(source.package, source.version);
|
|
116
|
+
if (resolved) {
|
|
117
|
+
Logger.Debug(`Resolved ${source.package}@${source.version} to ${resolved}`);
|
|
118
|
+
return resolved;
|
|
119
|
+
}
|
|
120
|
+
const cached = cache.getVersion(source.package);
|
|
121
|
+
if (cached && cacheSatisfiesSpec(cached, source.version)) {
|
|
122
|
+
if ((0, semver_1.validRange)(source.version) === null) {
|
|
123
|
+
Logger.Warn(`Registry unreachable, serving last cached ${source.package}@${cached} for tag '${source.version}' (cannot verify it is current)`);
|
|
71
124
|
}
|
|
72
125
|
else {
|
|
73
|
-
Logger.
|
|
74
|
-
const tmp = await getTemp();
|
|
75
|
-
const result = await exec(`npm pack ${source.package}@${source.version}`, { cwd: tmp });
|
|
76
|
-
if (result.code !== 0) {
|
|
77
|
-
throw new Error(`Failed to pack npm package: ${result.stderr}`);
|
|
78
|
-
}
|
|
79
|
-
const filename = result.stdout.trim();
|
|
80
|
-
Logger.Debug(`Extracting ${filename} for ${source.package}@${source.version}`);
|
|
81
|
-
await extract(path.join(tmp, filename), tmp);
|
|
82
|
-
const tmpPackage = path.join(tmp, "package");
|
|
83
|
-
manifest = JSON.parse(await fs.readFileString(path.join(tmpPackage, "package.json")));
|
|
84
|
-
Logger.Trace(`Transferring ${source.package}@${source.version} to cache`);
|
|
85
|
-
folder = await cache.transfer(tmpPackage, source.package, manifest.version);
|
|
86
|
-
Logger.Debug(`Installing dependencies for ${source.package}@${source.version}`);
|
|
87
|
-
const cmd = await installCommand(folder);
|
|
88
|
-
const installResult = await exec(cmd, { cwd: folder });
|
|
89
|
-
if (installResult.code !== 0) {
|
|
90
|
-
throw new Error(`Failed to install dependencies: ${installResult.stderr}`);
|
|
91
|
-
}
|
|
126
|
+
Logger.Debug(`Registry unreachable, keeping cached ${source.package}@${cached}`);
|
|
92
127
|
}
|
|
128
|
+
return cached;
|
|
129
|
+
}
|
|
130
|
+
throw new Error(`Failed to resolve version '${source.version}' of package ${source.package} from the npm registry`);
|
|
131
|
+
}
|
|
132
|
+
async function findCachedFolder(cache, pkg, fs) {
|
|
133
|
+
const folder = await cache.getFolder(pkg, true, true);
|
|
134
|
+
const manifestPath = path.join(folder, PACKAGE_JSON);
|
|
135
|
+
if (!(await fs.exists(manifestPath))) {
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
const manifest = JSON.parse(await fs.readFileString(manifestPath));
|
|
140
|
+
const hasDependencies = Object.keys(manifest.dependencies ?? {}).length > 0;
|
|
141
|
+
if (hasDependencies &&
|
|
142
|
+
!(await fs.exists(path.join(folder, NODE_MODULES)))) {
|
|
143
|
+
return undefined;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
return folder;
|
|
150
|
+
}
|
|
151
|
+
async function downloadPackage(cache, source, version, ctx) {
|
|
152
|
+
Logger.Trace(`Downloading package ${source.package}@${version}`);
|
|
153
|
+
const tmp = await ctx.getTemp();
|
|
154
|
+
const result = await ctx.exec(`npm pack "${source.package}@${version}"`, {
|
|
155
|
+
cwd: tmp,
|
|
156
|
+
});
|
|
157
|
+
if (result.code !== 0) {
|
|
158
|
+
throw new Error(`Failed to pack npm package: ${result.stderr}`);
|
|
159
|
+
}
|
|
160
|
+
const packOutput = result.stdout.trim().split("\n");
|
|
161
|
+
const filename = packOutput[packOutput.length - 1].trim();
|
|
162
|
+
Logger.Debug(`Extracting ${filename} for ${source.package}@${version}`);
|
|
163
|
+
await ctx.extract(path.join(tmp, filename), tmp);
|
|
164
|
+
const tmpPackage = path.join(tmp, "package");
|
|
165
|
+
const manifest = JSON.parse(await ctx.fs.readFileString(path.join(tmpPackage, PACKAGE_JSON)));
|
|
166
|
+
Logger.Trace(`Transferring ${source.package}@${version} to cache`);
|
|
167
|
+
await cache.clearVersion(source.package);
|
|
168
|
+
const folder = await cache.transfer(tmpPackage, source.package);
|
|
169
|
+
Logger.Debug(`Installing dependencies for ${source.package}@${version}`);
|
|
170
|
+
const cmd = await ctx.getInstallCommand(folder);
|
|
171
|
+
const installResult = await ctx.exec(cmd, { cwd: folder });
|
|
172
|
+
if (installResult.code !== 0) {
|
|
173
|
+
throw new Error(`Failed to install dependencies: ${installResult.stderr}`);
|
|
174
|
+
}
|
|
175
|
+
await cache.commitVersion(source.package, manifest.version);
|
|
176
|
+
return folder;
|
|
177
|
+
}
|
|
178
|
+
async function loadPackage(cache, source, ctx, fetchVersion) {
|
|
179
|
+
if (source.ignoreCache) {
|
|
180
|
+
return downloadPackage(cache, source, source.version, ctx);
|
|
181
|
+
}
|
|
182
|
+
const target = await resolveTargetVersion(source, cache, fetchVersion);
|
|
183
|
+
if (cache.hasVersion(source.package, target)) {
|
|
184
|
+
const cachedFolder = await findCachedFolder(cache, source.package, ctx.fs);
|
|
185
|
+
if (cachedFolder) {
|
|
186
|
+
Logger.Trace(`Using cached version of ${source.package}@${target}`);
|
|
187
|
+
return cachedFolder;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return downloadPackage(cache, source, target, ctx);
|
|
191
|
+
}
|
|
192
|
+
function registerPackageDownloader(registry, deps = {}) {
|
|
193
|
+
const ctx = {
|
|
194
|
+
fs: deps.fs ?? new filesystem_1.NodeFileSystem(),
|
|
195
|
+
exec: deps.exec ?? command_1.ExecuteCMD,
|
|
196
|
+
extract: deps.extract ?? defaultExtract,
|
|
197
|
+
getInstallCommand: deps.getInstallCommand ?? package_manager_1.getInstallCommand,
|
|
198
|
+
getTemp: deps.getTemp ?? (() => module_cache_1.ModuleCache.getTemp()),
|
|
199
|
+
};
|
|
200
|
+
const fetchVersion = memoizeVersionFetcher(ctx.exec);
|
|
201
|
+
registry.register("package", "package", async (cache, source) => {
|
|
202
|
+
Logger.Debug(`Loading package: ${source.package}@${source.version}`);
|
|
203
|
+
const folder = await loadPackage(cache, source, ctx, fetchVersion);
|
|
93
204
|
Logger.Debug(`Successfully loaded ${source.package}@${source.version}`);
|
|
94
205
|
const name = source.id ?? source.package;
|
|
95
|
-
const moduleManifest = await module_manifest_1.ModuleManifest.create(folder, source, name, fs);
|
|
206
|
+
const moduleManifest = await module_manifest_1.ModuleManifest.create(folder, source, name, ctx.fs);
|
|
96
207
|
return [moduleManifest];
|
|
97
208
|
});
|
|
98
209
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/core/downloaders/package.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/core/downloaders/package.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ export declare class ModuleCache {
|
|
|
3
3
|
readonly path: string;
|
|
4
4
|
private fs;
|
|
5
5
|
private manifest;
|
|
6
|
-
private
|
|
6
|
+
private pendingSave;
|
|
7
7
|
constructor(path: string, fs?: IFileSystem);
|
|
8
8
|
load(): Promise<void>;
|
|
9
9
|
save(): Promise<void>;
|
|
@@ -12,7 +12,8 @@ export declare class ModuleCache {
|
|
|
12
12
|
hasVersion(module: string, version: string): boolean;
|
|
13
13
|
getFolder(module: string, noClean?: boolean, noCreate?: boolean): Promise<string>;
|
|
14
14
|
static getTemp(): Promise<string>;
|
|
15
|
-
transfer(source: string, module: string
|
|
15
|
+
transfer(source: string, module: string): Promise<string>;
|
|
16
|
+
commitVersion(module: string, version: string): Promise<void>;
|
|
17
|
+
clearVersion(module: string): Promise<void>;
|
|
16
18
|
private copyDir;
|
|
17
|
-
private queueSave;
|
|
18
19
|
}
|
|
@@ -43,7 +43,7 @@ class ModuleCache {
|
|
|
43
43
|
path;
|
|
44
44
|
fs;
|
|
45
45
|
manifest = {};
|
|
46
|
-
|
|
46
|
+
pendingSave = Promise.resolve();
|
|
47
47
|
constructor(path, fs = new filesystem_1.NodeFileSystem()) {
|
|
48
48
|
this.path = path;
|
|
49
49
|
this.fs = fs;
|
|
@@ -51,24 +51,27 @@ class ModuleCache {
|
|
|
51
51
|
async load() {
|
|
52
52
|
await this.fs.mkdir(this.path, { recursive: true });
|
|
53
53
|
const manifestPath = path.join(this.path, "manifest.json");
|
|
54
|
+
this.manifest = {};
|
|
54
55
|
if (await this.fs.exists(manifestPath)) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
try {
|
|
57
|
+
const data = await this.fs.readFileString(manifestPath);
|
|
58
|
+
this.manifest = JSON.parse(data) || {};
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
this.manifest = {};
|
|
62
|
+
}
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
|
-
|
|
65
|
+
save() {
|
|
63
66
|
const manifestPath = path.join(this.path, "manifest.json");
|
|
64
|
-
|
|
67
|
+
this.pendingSave = this.pendingSave.then(() => this.fs.writeFile(manifestPath, JSON.stringify(this.manifest, null, 2)));
|
|
68
|
+
return this.pendingSave;
|
|
65
69
|
}
|
|
66
70
|
getVersion(module) {
|
|
67
71
|
return this.manifest[module];
|
|
68
72
|
}
|
|
69
73
|
setVersion(module, version) {
|
|
70
74
|
this.manifest[module] = version;
|
|
71
|
-
this.queueSave();
|
|
72
75
|
}
|
|
73
76
|
hasVersion(module, version) {
|
|
74
77
|
return !!(this.manifest[module] && (0, semver_1.satisfies)(this.manifest[module], version));
|
|
@@ -86,13 +89,19 @@ class ModuleCache {
|
|
|
86
89
|
static getTemp() {
|
|
87
90
|
return fsNode.mkdtemp(path.join(os.tmpdir(), "ajs-"));
|
|
88
91
|
}
|
|
89
|
-
async transfer(source, module
|
|
92
|
+
async transfer(source, module) {
|
|
90
93
|
const dest = await this.getFolder(module, false, false);
|
|
91
94
|
await this.copyDir(source, dest);
|
|
92
95
|
await this.fs.rm(source, { recursive: true, force: true });
|
|
96
|
+
return dest;
|
|
97
|
+
}
|
|
98
|
+
async commitVersion(module, version) {
|
|
93
99
|
this.setVersion(module, version);
|
|
94
100
|
await this.save();
|
|
95
|
-
|
|
101
|
+
}
|
|
102
|
+
async clearVersion(module) {
|
|
103
|
+
delete this.manifest[module];
|
|
104
|
+
await this.save();
|
|
96
105
|
}
|
|
97
106
|
async copyDir(source, dest) {
|
|
98
107
|
await this.fs.mkdir(dest, { recursive: true });
|
|
@@ -109,16 +118,6 @@ class ModuleCache {
|
|
|
109
118
|
}
|
|
110
119
|
}
|
|
111
120
|
}
|
|
112
|
-
queueSave() {
|
|
113
|
-
if (this.saving) {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
this.saving = true;
|
|
117
|
-
setTimeout(() => {
|
|
118
|
-
this.saving = false;
|
|
119
|
-
void this.save();
|
|
120
|
-
}, 1);
|
|
121
|
-
}
|
|
122
121
|
}
|
|
123
122
|
exports.ModuleCache = ModuleCache;
|
|
124
123
|
//# sourceMappingURL=module-cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-cache.js","sourceRoot":"","sources":["../../src/core/module-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA2C;AAC3C,4CAA8B;AAC9B,gDAAkC;AAClC,mCAAmC;AAEnC,6CAA8C;AAE9C,MAAa,WAAW;IAKJ;IACR;IALF,QAAQ,GAA2B,EAAE,CAAC;IACtC,
|
|
1
|
+
{"version":3,"file":"module-cache.js","sourceRoot":"","sources":["../../src/core/module-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,11 @@ export interface OutdatedModule {
|
|
|
4
4
|
current: string;
|
|
5
5
|
latest: string;
|
|
6
6
|
}
|
|
7
|
+
export declare function isUpToDate(currentSpec: string, latest: string): boolean;
|
|
8
|
+
export declare function bumpVersionSpec(currentSpec: string, latest: string): string;
|
|
9
|
+
export declare function toFloatingSpec(version: string): string;
|
|
10
|
+
export declare function fetchDistTags(packageName: string): Promise<Record<string, string>>;
|
|
11
|
+
export declare function validateVersionSpec(packageName: string, spec: string): Promise<void>;
|
|
7
12
|
export declare function fetchLatestVersion(packageName: string): Promise<string>;
|
|
8
13
|
export declare function checkOutdatedModules(modules: Record<string, ExpandedModuleConfig>): Promise<OutdatedModule[]>;
|
|
9
14
|
export declare function warnOutdatedModules(outdated: OutdatedModule[]): void;
|
|
@@ -1,18 +1,64 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isUpToDate = isUpToDate;
|
|
4
|
+
exports.bumpVersionSpec = bumpVersionSpec;
|
|
5
|
+
exports.toFloatingSpec = toFloatingSpec;
|
|
6
|
+
exports.fetchDistTags = fetchDistTags;
|
|
7
|
+
exports.validateVersionSpec = validateVersionSpec;
|
|
3
8
|
exports.fetchLatestVersion = fetchLatestVersion;
|
|
4
9
|
exports.checkOutdatedModules = checkOutdatedModules;
|
|
5
10
|
exports.warnOutdatedModules = warnOutdatedModules;
|
|
11
|
+
const semver_1 = require("semver");
|
|
6
12
|
const cli_ui_1 = require("./cli/cli-ui");
|
|
7
13
|
const command_1 = require("./cli/command");
|
|
8
14
|
const package_manager_1 = require("./cli/package-manager");
|
|
9
15
|
const NPM_VIEW_COMMAND = "npm view";
|
|
10
16
|
const VERSION_ARGUMENT = "version";
|
|
17
|
+
const DIST_TAGS_ARGUMENT = "dist-tags --json";
|
|
18
|
+
const CARET_PREFIX = "^";
|
|
11
19
|
const UPDATE_COMMAND = "ajs project modules update";
|
|
12
20
|
const SLOW_CHECK_THRESHOLD_MS = 15_000;
|
|
13
21
|
const MAX_REASON_LENGTH = 200;
|
|
22
|
+
const RANGE_PREFIX_PATTERN = /^[\^~]/;
|
|
23
|
+
function isUpToDate(currentSpec, latest) {
|
|
24
|
+
if (currentSpec === latest) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
const range = (0, semver_1.validRange)(currentSpec);
|
|
28
|
+
if (range === null) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return (0, semver_1.satisfies)(latest, range);
|
|
32
|
+
}
|
|
33
|
+
function bumpVersionSpec(currentSpec, latest) {
|
|
34
|
+
const prefix = currentSpec.match(RANGE_PREFIX_PATTERN)?.[0] ?? "";
|
|
35
|
+
return `${prefix}${latest}`;
|
|
36
|
+
}
|
|
37
|
+
function toFloatingSpec(version) {
|
|
38
|
+
return `${CARET_PREFIX}${version}`;
|
|
39
|
+
}
|
|
40
|
+
async function fetchDistTags(packageName) {
|
|
41
|
+
const result = await (0, command_1.ExecuteCMD)(`${NPM_VIEW_COMMAND} ${packageName} ${DIST_TAGS_ARGUMENT}`, {});
|
|
42
|
+
if (result.code !== 0) {
|
|
43
|
+
throw new Error(`Failed to fetch dist-tags of ${packageName}: ${result.stderr}`);
|
|
44
|
+
}
|
|
45
|
+
return JSON.parse(result.stdout);
|
|
46
|
+
}
|
|
47
|
+
async function validateVersionSpec(packageName, spec) {
|
|
48
|
+
if ((0, semver_1.validRange)(spec) !== null) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const distTags = await fetchDistTags(packageName);
|
|
52
|
+
if (spec in distTags) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
throw new Error(`'${spec}' is neither a valid semver range nor a dist-tag of '${packageName}'`);
|
|
56
|
+
}
|
|
14
57
|
async function fetchLatestVersion(packageName) {
|
|
15
58
|
const result = await (0, command_1.ExecuteCMD)(`${NPM_VIEW_COMMAND} ${packageName} ${VERSION_ARGUMENT}`, {});
|
|
59
|
+
if (result.code !== 0) {
|
|
60
|
+
throw new Error(`Failed to fetch version of ${packageName}: ${result.stderr}`);
|
|
61
|
+
}
|
|
16
62
|
return (0, package_manager_1.parsePackageInfoOutput)(result.stdout);
|
|
17
63
|
}
|
|
18
64
|
async function checkOutdatedModules(modules) {
|
|
@@ -48,7 +94,7 @@ async function checkOutdatedModules(modules) {
|
|
|
48
94
|
}
|
|
49
95
|
const current = info.source.version;
|
|
50
96
|
const latest = result.value;
|
|
51
|
-
if (current
|
|
97
|
+
if (!isUpToDate(current, latest)) {
|
|
52
98
|
outdated.push({ name, current, latest });
|
|
53
99
|
}
|
|
54
100
|
return outdated;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-checker.js","sourceRoot":"","sources":["../../src/core/version-checker.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"version-checker.js","sourceRoot":"","sources":["../../src/core/version-checker.ts"],"names":[],"mappings":";;AAuBA,gCASC;AAED,0CAGC;AAED,wCAEC;AAED,sCAaC;AAED,kDAcC;AAED,gDAWC;AAED,oDA0DC;AAED,kDAQC;AA1JD,mCAA+C;AAC/C,yCAA4D;AAC5D,2CAA2C;AAC3C,2DAA+D;AAS/D,MAAM,gBAAgB,GAAG,UAAU,CAAC;AACpC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACnC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAC9C,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,cAAc,GAAG,4BAA4B,CAAC;AACpD,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAEtC,SAAgB,UAAU,CAAC,WAAmB,EAAE,MAAc;IAC5D,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,IAAA,mBAAU,EAAC,WAAW,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAA,kBAAS,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,eAAe,CAAC,WAAmB,EAAE,MAAc;IACjE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,GAAG,YAAY,GAAG,OAAO,EAAE,CAAC;AACrC,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,WAAmB;IAEnB,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAU,EAC7B,GAAG,gBAAgB,IAAI,WAAW,IAAI,kBAAkB,EAAE,EAC1D,EAAE,CACH,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,gCAAgC,WAAW,KAAK,MAAM,CAAC,MAAM,EAAE,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAA2B,CAAC;AAC7D,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,WAAmB,EACnB,IAAY;IAEZ,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CACb,IAAI,IAAI,wDAAwD,WAAW,GAAG,CAC/E,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IAC1D,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAU,EAC7B,GAAG,gBAAgB,IAAI,WAAW,IAAI,gBAAgB,EAAE,EACxD,EAAE,CACH,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,KAAK,MAAM,CAAC,MAAM,EAAE,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,IAAA,wCAAsB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,OAA6C;IAE7C,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,SAAS,CAC9C,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAA,aAAW,EAAC,gCAAgC,CAAC,CAAC;IAE9C,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;QAClC,IAAA,gBAAO,EACL,qGAAqG;YACnG,8CAA8C,CACjD,CAAC;IACJ,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAE5B,IAAI,OAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAChC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAC9B,kBAAkB,CAAE,IAAI,CAAC,MAA8B,CAAC,OAAO,CAAC,CACjE,CACF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,cAAc,CAAC,MAAM,CAC1B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAI,IAAI,CAAC,MAA8B,CAAC,OAAO,CAAC;QACjE,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC;YACxD,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,GAAG,iBAAiB;gBAC/B,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG;gBAC1C,CAAC,CAAC,MAAM,CAAC;YACb,IAAA,gBAAO,EACL,qCAAqC,WAAW,KAAK,SAAS,EAAE,CACjE,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAI,IAAI,CAAC,MAA8B,CAAC,OAAO,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,QAA0B;IAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,IAAA,gBAAO,EACL,GAAG,QAAQ,CAAC,MAAM,oCAAoC;QACpD,SAAS,cAAc,eAAe,CACzC,CAAC;AACJ,CAAC"}
|