@pipelab/plugin-discord 1.0.0-beta.11 → 1.0.0-beta.12
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/index.cjs +52 -13
- package/dist/index.mjs +52 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -148208,11 +148208,13 @@ async function withLock(key, fn) {
|
|
|
148208
148208
|
* Centralized in core-node to avoid circular dependencies.
|
|
148209
148209
|
*/
|
|
148210
148210
|
async function fetchPackage(packageName, versionOrRange, options) {
|
|
148211
|
+
const start = Date.now();
|
|
148211
148212
|
if (isDev && projectRoot && process.env.PIPELAB_FORCE_NPM !== "true") {
|
|
148212
148213
|
if (packageName.startsWith("@pipelab/")) {
|
|
148214
|
+
const localStart = Date.now();
|
|
148213
148215
|
const local = await tryResolveMonorepoPackage(packageName);
|
|
148214
148216
|
if (local) {
|
|
148215
|
-
console.log(`[Fetcher] ${packageName}: Resolved to local source at ${local.packageDir}`);
|
|
148217
|
+
console.log(`[Fetcher] ${packageName}: Resolved to local source at ${local.packageDir} (${Date.now() - localStart}ms)`);
|
|
148216
148218
|
return {
|
|
148217
148219
|
...local,
|
|
148218
148220
|
resolvedVersion: "workspace"
|
|
@@ -148224,6 +148226,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
148224
148226
|
const baseDir = ctx.getPackagesPath(packageName);
|
|
148225
148227
|
let resolvedVersion;
|
|
148226
148228
|
console.log(`[Fetcher] Resolving ${packageName}@${versionOrRange || "latest"}...`);
|
|
148229
|
+
const resolveStart = Date.now();
|
|
148227
148230
|
try {
|
|
148228
148231
|
const cachePath = (0, node_path.join)(ctx.userDataPath, "cache", "pacote");
|
|
148229
148232
|
let packumentPromise = packumentRequests.get(packageName);
|
|
@@ -148237,22 +148240,32 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
148237
148240
|
const foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
|
|
148238
148241
|
if (!foundVersion) throw new Error(`Package ${packageName}@${range} not found on npm (available tags: ${Object.keys(packument["dist-tags"] || {}).join(", ")})`);
|
|
148239
148242
|
resolvedVersion = foundVersion;
|
|
148240
|
-
console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm`);
|
|
148243
|
+
console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm (${Date.now() - resolveStart}ms)`);
|
|
148241
148244
|
} catch (error) {
|
|
148242
|
-
console.warn(`[Fetcher] ${packageName}: remote resolution failed, trying local fallback...`);
|
|
148245
|
+
console.warn(`[Fetcher] ${packageName}: remote resolution failed (${Date.now() - resolveStart}ms), trying local fallback...`);
|
|
148246
|
+
const fallbackStart = Date.now();
|
|
148243
148247
|
const fallbackVersion = await tryLocalFallback(versionOrRange, error, baseDir, packageName);
|
|
148244
|
-
if (fallbackVersion)
|
|
148245
|
-
|
|
148248
|
+
if (fallbackVersion) {
|
|
148249
|
+
resolvedVersion = fallbackVersion;
|
|
148250
|
+
console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
|
|
148251
|
+
} else throw error;
|
|
148246
148252
|
}
|
|
148247
148253
|
const cachePath = (0, node_path.join)(ctx.userDataPath, "cache", "pacote");
|
|
148248
148254
|
const packageDir = (0, node_path.join)(baseDir, resolvedVersion);
|
|
148249
|
-
|
|
148250
|
-
|
|
148251
|
-
|
|
148252
|
-
|
|
148255
|
+
const checkStart = Date.now();
|
|
148256
|
+
const isInstalled = options?.installDeps ? isPackageComplete(packageDir) && isDependenciesInstalledSync(packageDir) : isPackageComplete(packageDir);
|
|
148257
|
+
const checkDuration = Date.now() - checkStart;
|
|
148258
|
+
if (isInstalled) {
|
|
148259
|
+
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Already installed (check took ${checkDuration}ms, fetchPackage took ${Date.now() - start}ms)`);
|
|
148260
|
+
return {
|
|
148261
|
+
packageDir,
|
|
148262
|
+
resolvedVersion
|
|
148263
|
+
};
|
|
148264
|
+
}
|
|
148253
148265
|
return withLock(`package:${packageName}:${resolvedVersion}`, async () => {
|
|
148254
148266
|
if (!isPackageComplete(packageDir)) {
|
|
148255
148267
|
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Downloading to ${packageDir}...`);
|
|
148268
|
+
const downloadStart = Date.now();
|
|
148256
148269
|
const tempDir = (0, node_path.join)(baseDir, `.tmp-${resolvedVersion}-${Math.random().toString(36).slice(2)}`);
|
|
148257
148270
|
await (0, node_fs_promises.mkdir)(tempDir, { recursive: true });
|
|
148258
148271
|
try {
|
|
@@ -148268,6 +148281,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
148268
148281
|
if (isPackageComplete(packageDir)) console.log(`[Fetcher] Destination ${packageDir} already exists and is valid.`);
|
|
148269
148282
|
else throw err;
|
|
148270
148283
|
}
|
|
148284
|
+
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Downloaded and extracted in ${Date.now() - downloadStart}ms`);
|
|
148271
148285
|
} catch (err) {
|
|
148272
148286
|
await (0, node_fs_promises.rm)(tempDir, {
|
|
148273
148287
|
recursive: true,
|
|
@@ -148276,8 +148290,15 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
148276
148290
|
throw err;
|
|
148277
148291
|
}
|
|
148278
148292
|
}
|
|
148293
|
+
const entryStart = Date.now();
|
|
148279
148294
|
const entryPoint = await resolveEntryPoint(packageDir, packageName);
|
|
148280
|
-
|
|
148295
|
+
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Resolved entry point in ${Date.now() - entryStart}ms`);
|
|
148296
|
+
if (options?.installDeps) {
|
|
148297
|
+
const depsStart = Date.now();
|
|
148298
|
+
await installDependencies(packageDir, packageName, options);
|
|
148299
|
+
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Installed dependencies in ${Date.now() - depsStart}ms`);
|
|
148300
|
+
}
|
|
148301
|
+
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: FetchPackage complete in ${Date.now() - start}ms`);
|
|
148281
148302
|
return {
|
|
148282
148303
|
packageDir,
|
|
148283
148304
|
resolvedVersion,
|
|
@@ -148316,10 +148337,14 @@ async function runPnpm(cwd, options) {
|
|
|
148316
148337
|
* Installs a specific version of Node.js if not already present.
|
|
148317
148338
|
*/
|
|
148318
148339
|
async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
|
|
148340
|
+
const checkStart = Date.now();
|
|
148319
148341
|
const isWindows = process.platform === "win32";
|
|
148320
148342
|
const nodeDir = context.getThirdPartyPath("node", version);
|
|
148321
148343
|
const finalNodePath = (0, node_path.join)(nodeDir, isWindows ? "node.exe" : "bin/node");
|
|
148322
|
-
if (isNodeJSComplete(finalNodePath))
|
|
148344
|
+
if (isNodeJSComplete(finalNodePath)) {
|
|
148345
|
+
console.log(`[Environment] Node.js check took ${Date.now() - checkStart}ms (found at ${finalNodePath})`);
|
|
148346
|
+
return finalNodePath;
|
|
148347
|
+
}
|
|
148323
148348
|
return withLock(`node:${version}`, async () => {
|
|
148324
148349
|
if (isNodeJSComplete(finalNodePath)) return finalNodePath;
|
|
148325
148350
|
const arch = process.arch === "x64" ? "x64" : process.arch === "arm64" ? "arm64" : "x86";
|
|
@@ -148331,9 +148356,12 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
|
|
|
148331
148356
|
const archivePath = (0, node_path.join)(tempDir, fileName);
|
|
148332
148357
|
sendStartupProgress(`Downloading Node.js v${version}...`);
|
|
148333
148358
|
console.log(`Downloading Node.js from ${downloadUrl}...`);
|
|
148359
|
+
const dlStart = Date.now();
|
|
148334
148360
|
await downloadFile(downloadUrl, archivePath);
|
|
148361
|
+
console.log(`[Environment] Node.js download took ${Date.now() - dlStart}ms`);
|
|
148335
148362
|
sendStartupProgress(`Extracting Node.js v${version}...`);
|
|
148336
148363
|
console.log(`Extracting Node.js to ${tempDir}...`);
|
|
148364
|
+
const extStart = Date.now();
|
|
148337
148365
|
const extractTempDir = (0, node_path.join)(tempDir, "extracted");
|
|
148338
148366
|
await (0, node_fs_promises.mkdir)(extractTempDir, { recursive: true });
|
|
148339
148367
|
if (extension === "zip") await extractZip(archivePath, extractTempDir);
|
|
@@ -148358,6 +148386,7 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
|
|
|
148358
148386
|
if (isNodeJSComplete(finalNodePath)) console.log(`[Fetcher] Node.js directory already exists and is valid.`);
|
|
148359
148387
|
else throw err;
|
|
148360
148388
|
}
|
|
148389
|
+
console.log(`[Environment] Node.js extraction took ${Date.now() - extStart}ms`);
|
|
148361
148390
|
} finally {
|
|
148362
148391
|
await (0, node_fs_promises.rm)(tempNodeDir, {
|
|
148363
148392
|
recursive: true,
|
|
@@ -148368,6 +148397,7 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
|
|
|
148368
148397
|
force: true
|
|
148369
148398
|
}).catch(() => {});
|
|
148370
148399
|
}
|
|
148400
|
+
console.log(`[Environment] Node.js set up complete in ${Date.now() - checkStart}ms`);
|
|
148371
148401
|
return finalNodePath;
|
|
148372
148402
|
});
|
|
148373
148403
|
}
|
|
@@ -148375,16 +148405,22 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
|
|
|
148375
148405
|
* Installs the PNPM package from npm if not already present.
|
|
148376
148406
|
*/
|
|
148377
148407
|
async function ensurePNPM(context, version = DEFAULT_PNPM_VERSION) {
|
|
148408
|
+
const checkStart = Date.now();
|
|
148378
148409
|
const pnpmPath = (0, node_path.join)(context.getPackagesPath("pnpm", version), "bin", "pnpm.cjs");
|
|
148379
|
-
if ((0, node_fs.existsSync)(pnpmPath))
|
|
148410
|
+
if ((0, node_fs.existsSync)(pnpmPath)) {
|
|
148411
|
+
console.log(`[Environment] PNPM check took ${Date.now() - checkStart}ms (found at ${pnpmPath})`);
|
|
148412
|
+
return pnpmPath;
|
|
148413
|
+
}
|
|
148380
148414
|
return withLock(`pnpm:${version}`, async () => {
|
|
148381
148415
|
if ((0, node_fs.existsSync)(pnpmPath)) return pnpmPath;
|
|
148382
148416
|
sendStartupProgress(`Checking PNPM v${version}...`);
|
|
148383
148417
|
const { packageDir } = await fetchPackage("pnpm", version, { context });
|
|
148418
|
+
console.log(`[Environment] PNPM set up complete in ${Date.now() - checkStart}ms`);
|
|
148384
148419
|
return (0, node_path.join)(packageDir, "bin", "pnpm.cjs");
|
|
148385
148420
|
});
|
|
148386
148421
|
}
|
|
148387
148422
|
async function installDependencies(packageDir, packageName, options) {
|
|
148423
|
+
const start = Date.now();
|
|
148388
148424
|
const nodeModulesPath = (0, node_path.join)(packageDir, "node_modules");
|
|
148389
148425
|
if (isDependenciesInstalledSync(packageDir)) {
|
|
148390
148426
|
console.log(`[Fetcher] ${packageName}: Dependencies already installed, skipping.`);
|
|
@@ -148395,18 +148431,21 @@ async function installDependencies(packageDir, packageName, options) {
|
|
|
148395
148431
|
try {
|
|
148396
148432
|
await (0, node_fs_promises.cp)((0, node_path.join)(packageDir, "package.json"), (0, node_path.join)(tempDir, "package.json"));
|
|
148397
148433
|
console.log(`[Fetcher] ${packageName}: Ensuring dependencies are installed...`);
|
|
148434
|
+
const pnpmStart = Date.now();
|
|
148398
148435
|
const { all } = await runPnpm(tempDir, {
|
|
148399
148436
|
signal: options.signal,
|
|
148400
148437
|
context: options.context
|
|
148401
148438
|
});
|
|
148439
|
+
console.log(`[Fetcher] ${packageName}: pnpm install command took ${Date.now() - pnpmStart}ms`);
|
|
148402
148440
|
if (all) console.log(`[Fetcher] ${packageName}: Installation trace:\n${all}`);
|
|
148403
148441
|
const tempNodeModules = (0, node_path.join)(tempDir, "node_modules");
|
|
148404
148442
|
if ((0, node_fs.existsSync)(nodeModulesPath)) await (0, node_fs_promises.rm)(nodeModulesPath, {
|
|
148405
148443
|
recursive: true,
|
|
148406
148444
|
force: true
|
|
148407
148445
|
}).catch(() => {});
|
|
148446
|
+
const renameStart = Date.now();
|
|
148408
148447
|
await (0, node_fs_promises.rename)(tempNodeModules, nodeModulesPath);
|
|
148409
|
-
console.log(`[Fetcher] ${packageName}: Dependencies installed successfully.`);
|
|
148448
|
+
console.log(`[Fetcher] ${packageName}: Dependencies installed successfully (rename took ${Date.now() - renameStart}ms, total installDependencies took ${Date.now() - start}ms).`);
|
|
148410
148449
|
} catch (err) {
|
|
148411
148450
|
console.error(`[Fetcher] ${packageName}: CRITICAL ERROR during dependency installation: ${err.message}`);
|
|
148412
148451
|
if (err.all) console.error(`[Fetcher] ${packageName}: Error details:\n${err.all}`);
|
package/dist/index.mjs
CHANGED
|
@@ -148210,11 +148210,13 @@ async function withLock(key, fn) {
|
|
|
148210
148210
|
* Centralized in core-node to avoid circular dependencies.
|
|
148211
148211
|
*/
|
|
148212
148212
|
async function fetchPackage(packageName, versionOrRange, options) {
|
|
148213
|
+
const start = Date.now();
|
|
148213
148214
|
if (isDev && projectRoot && process.env.PIPELAB_FORCE_NPM !== "true") {
|
|
148214
148215
|
if (packageName.startsWith("@pipelab/")) {
|
|
148216
|
+
const localStart = Date.now();
|
|
148215
148217
|
const local = await tryResolveMonorepoPackage(packageName);
|
|
148216
148218
|
if (local) {
|
|
148217
|
-
console.log(`[Fetcher] ${packageName}: Resolved to local source at ${local.packageDir}`);
|
|
148219
|
+
console.log(`[Fetcher] ${packageName}: Resolved to local source at ${local.packageDir} (${Date.now() - localStart}ms)`);
|
|
148218
148220
|
return {
|
|
148219
148221
|
...local,
|
|
148220
148222
|
resolvedVersion: "workspace"
|
|
@@ -148226,6 +148228,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
148226
148228
|
const baseDir = ctx.getPackagesPath(packageName);
|
|
148227
148229
|
let resolvedVersion;
|
|
148228
148230
|
console.log(`[Fetcher] Resolving ${packageName}@${versionOrRange || "latest"}...`);
|
|
148231
|
+
const resolveStart = Date.now();
|
|
148229
148232
|
try {
|
|
148230
148233
|
const cachePath = join$1(ctx.userDataPath, "cache", "pacote");
|
|
148231
148234
|
let packumentPromise = packumentRequests.get(packageName);
|
|
@@ -148239,22 +148242,32 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
148239
148242
|
const foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
|
|
148240
148243
|
if (!foundVersion) throw new Error(`Package ${packageName}@${range} not found on npm (available tags: ${Object.keys(packument["dist-tags"] || {}).join(", ")})`);
|
|
148241
148244
|
resolvedVersion = foundVersion;
|
|
148242
|
-
console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm`);
|
|
148245
|
+
console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm (${Date.now() - resolveStart}ms)`);
|
|
148243
148246
|
} catch (error) {
|
|
148244
|
-
console.warn(`[Fetcher] ${packageName}: remote resolution failed, trying local fallback...`);
|
|
148247
|
+
console.warn(`[Fetcher] ${packageName}: remote resolution failed (${Date.now() - resolveStart}ms), trying local fallback...`);
|
|
148248
|
+
const fallbackStart = Date.now();
|
|
148245
148249
|
const fallbackVersion = await tryLocalFallback(versionOrRange, error, baseDir, packageName);
|
|
148246
|
-
if (fallbackVersion)
|
|
148247
|
-
|
|
148250
|
+
if (fallbackVersion) {
|
|
148251
|
+
resolvedVersion = fallbackVersion;
|
|
148252
|
+
console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
|
|
148253
|
+
} else throw error;
|
|
148248
148254
|
}
|
|
148249
148255
|
const cachePath = join$1(ctx.userDataPath, "cache", "pacote");
|
|
148250
148256
|
const packageDir = join$1(baseDir, resolvedVersion);
|
|
148251
|
-
|
|
148252
|
-
|
|
148253
|
-
|
|
148254
|
-
|
|
148257
|
+
const checkStart = Date.now();
|
|
148258
|
+
const isInstalled = options?.installDeps ? isPackageComplete(packageDir) && isDependenciesInstalledSync(packageDir) : isPackageComplete(packageDir);
|
|
148259
|
+
const checkDuration = Date.now() - checkStart;
|
|
148260
|
+
if (isInstalled) {
|
|
148261
|
+
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Already installed (check took ${checkDuration}ms, fetchPackage took ${Date.now() - start}ms)`);
|
|
148262
|
+
return {
|
|
148263
|
+
packageDir,
|
|
148264
|
+
resolvedVersion
|
|
148265
|
+
};
|
|
148266
|
+
}
|
|
148255
148267
|
return withLock(`package:${packageName}:${resolvedVersion}`, async () => {
|
|
148256
148268
|
if (!isPackageComplete(packageDir)) {
|
|
148257
148269
|
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Downloading to ${packageDir}...`);
|
|
148270
|
+
const downloadStart = Date.now();
|
|
148258
148271
|
const tempDir = join$1(baseDir, `.tmp-${resolvedVersion}-${Math.random().toString(36).slice(2)}`);
|
|
148259
148272
|
await mkdir(tempDir, { recursive: true });
|
|
148260
148273
|
try {
|
|
@@ -148270,6 +148283,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
148270
148283
|
if (isPackageComplete(packageDir)) console.log(`[Fetcher] Destination ${packageDir} already exists and is valid.`);
|
|
148271
148284
|
else throw err;
|
|
148272
148285
|
}
|
|
148286
|
+
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Downloaded and extracted in ${Date.now() - downloadStart}ms`);
|
|
148273
148287
|
} catch (err) {
|
|
148274
148288
|
await rm(tempDir, {
|
|
148275
148289
|
recursive: true,
|
|
@@ -148278,8 +148292,15 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
148278
148292
|
throw err;
|
|
148279
148293
|
}
|
|
148280
148294
|
}
|
|
148295
|
+
const entryStart = Date.now();
|
|
148281
148296
|
const entryPoint = await resolveEntryPoint(packageDir, packageName);
|
|
148282
|
-
|
|
148297
|
+
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Resolved entry point in ${Date.now() - entryStart}ms`);
|
|
148298
|
+
if (options?.installDeps) {
|
|
148299
|
+
const depsStart = Date.now();
|
|
148300
|
+
await installDependencies(packageDir, packageName, options);
|
|
148301
|
+
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Installed dependencies in ${Date.now() - depsStart}ms`);
|
|
148302
|
+
}
|
|
148303
|
+
console.log(`[Fetcher] ${packageName}@${resolvedVersion}: FetchPackage complete in ${Date.now() - start}ms`);
|
|
148283
148304
|
return {
|
|
148284
148305
|
packageDir,
|
|
148285
148306
|
resolvedVersion,
|
|
@@ -148318,10 +148339,14 @@ async function runPnpm(cwd, options) {
|
|
|
148318
148339
|
* Installs a specific version of Node.js if not already present.
|
|
148319
148340
|
*/
|
|
148320
148341
|
async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
|
|
148342
|
+
const checkStart = Date.now();
|
|
148321
148343
|
const isWindows = process.platform === "win32";
|
|
148322
148344
|
const nodeDir = context.getThirdPartyPath("node", version);
|
|
148323
148345
|
const finalNodePath = join$1(nodeDir, isWindows ? "node.exe" : "bin/node");
|
|
148324
|
-
if (isNodeJSComplete(finalNodePath))
|
|
148346
|
+
if (isNodeJSComplete(finalNodePath)) {
|
|
148347
|
+
console.log(`[Environment] Node.js check took ${Date.now() - checkStart}ms (found at ${finalNodePath})`);
|
|
148348
|
+
return finalNodePath;
|
|
148349
|
+
}
|
|
148325
148350
|
return withLock(`node:${version}`, async () => {
|
|
148326
148351
|
if (isNodeJSComplete(finalNodePath)) return finalNodePath;
|
|
148327
148352
|
const arch = process.arch === "x64" ? "x64" : process.arch === "arm64" ? "arm64" : "x86";
|
|
@@ -148333,9 +148358,12 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
|
|
|
148333
148358
|
const archivePath = join$1(tempDir, fileName);
|
|
148334
148359
|
sendStartupProgress(`Downloading Node.js v${version}...`);
|
|
148335
148360
|
console.log(`Downloading Node.js from ${downloadUrl}...`);
|
|
148361
|
+
const dlStart = Date.now();
|
|
148336
148362
|
await downloadFile(downloadUrl, archivePath);
|
|
148363
|
+
console.log(`[Environment] Node.js download took ${Date.now() - dlStart}ms`);
|
|
148337
148364
|
sendStartupProgress(`Extracting Node.js v${version}...`);
|
|
148338
148365
|
console.log(`Extracting Node.js to ${tempDir}...`);
|
|
148366
|
+
const extStart = Date.now();
|
|
148339
148367
|
const extractTempDir = join$1(tempDir, "extracted");
|
|
148340
148368
|
await mkdir(extractTempDir, { recursive: true });
|
|
148341
148369
|
if (extension === "zip") await extractZip(archivePath, extractTempDir);
|
|
@@ -148360,6 +148388,7 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
|
|
|
148360
148388
|
if (isNodeJSComplete(finalNodePath)) console.log(`[Fetcher] Node.js directory already exists and is valid.`);
|
|
148361
148389
|
else throw err;
|
|
148362
148390
|
}
|
|
148391
|
+
console.log(`[Environment] Node.js extraction took ${Date.now() - extStart}ms`);
|
|
148363
148392
|
} finally {
|
|
148364
148393
|
await rm(tempNodeDir, {
|
|
148365
148394
|
recursive: true,
|
|
@@ -148370,6 +148399,7 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
|
|
|
148370
148399
|
force: true
|
|
148371
148400
|
}).catch(() => {});
|
|
148372
148401
|
}
|
|
148402
|
+
console.log(`[Environment] Node.js set up complete in ${Date.now() - checkStart}ms`);
|
|
148373
148403
|
return finalNodePath;
|
|
148374
148404
|
});
|
|
148375
148405
|
}
|
|
@@ -148377,16 +148407,22 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
|
|
|
148377
148407
|
* Installs the PNPM package from npm if not already present.
|
|
148378
148408
|
*/
|
|
148379
148409
|
async function ensurePNPM(context, version = DEFAULT_PNPM_VERSION) {
|
|
148410
|
+
const checkStart = Date.now();
|
|
148380
148411
|
const pnpmPath = join$1(context.getPackagesPath("pnpm", version), "bin", "pnpm.cjs");
|
|
148381
|
-
if (existsSync(pnpmPath))
|
|
148412
|
+
if (existsSync(pnpmPath)) {
|
|
148413
|
+
console.log(`[Environment] PNPM check took ${Date.now() - checkStart}ms (found at ${pnpmPath})`);
|
|
148414
|
+
return pnpmPath;
|
|
148415
|
+
}
|
|
148382
148416
|
return withLock(`pnpm:${version}`, async () => {
|
|
148383
148417
|
if (existsSync(pnpmPath)) return pnpmPath;
|
|
148384
148418
|
sendStartupProgress(`Checking PNPM v${version}...`);
|
|
148385
148419
|
const { packageDir } = await fetchPackage("pnpm", version, { context });
|
|
148420
|
+
console.log(`[Environment] PNPM set up complete in ${Date.now() - checkStart}ms`);
|
|
148386
148421
|
return join$1(packageDir, "bin", "pnpm.cjs");
|
|
148387
148422
|
});
|
|
148388
148423
|
}
|
|
148389
148424
|
async function installDependencies(packageDir, packageName, options) {
|
|
148425
|
+
const start = Date.now();
|
|
148390
148426
|
const nodeModulesPath = join$1(packageDir, "node_modules");
|
|
148391
148427
|
if (isDependenciesInstalledSync(packageDir)) {
|
|
148392
148428
|
console.log(`[Fetcher] ${packageName}: Dependencies already installed, skipping.`);
|
|
@@ -148397,18 +148433,21 @@ async function installDependencies(packageDir, packageName, options) {
|
|
|
148397
148433
|
try {
|
|
148398
148434
|
await cp(join$1(packageDir, "package.json"), join$1(tempDir, "package.json"));
|
|
148399
148435
|
console.log(`[Fetcher] ${packageName}: Ensuring dependencies are installed...`);
|
|
148436
|
+
const pnpmStart = Date.now();
|
|
148400
148437
|
const { all } = await runPnpm(tempDir, {
|
|
148401
148438
|
signal: options.signal,
|
|
148402
148439
|
context: options.context
|
|
148403
148440
|
});
|
|
148441
|
+
console.log(`[Fetcher] ${packageName}: pnpm install command took ${Date.now() - pnpmStart}ms`);
|
|
148404
148442
|
if (all) console.log(`[Fetcher] ${packageName}: Installation trace:\n${all}`);
|
|
148405
148443
|
const tempNodeModules = join$1(tempDir, "node_modules");
|
|
148406
148444
|
if (existsSync(nodeModulesPath)) await rm(nodeModulesPath, {
|
|
148407
148445
|
recursive: true,
|
|
148408
148446
|
force: true
|
|
148409
148447
|
}).catch(() => {});
|
|
148448
|
+
const renameStart = Date.now();
|
|
148410
148449
|
await rename(tempNodeModules, nodeModulesPath);
|
|
148411
|
-
console.log(`[Fetcher] ${packageName}: Dependencies installed successfully.`);
|
|
148450
|
+
console.log(`[Fetcher] ${packageName}: Dependencies installed successfully (rename took ${Date.now() - renameStart}ms, total installDependencies took ${Date.now() - start}ms).`);
|
|
148412
148451
|
} catch (err) {
|
|
148413
148452
|
console.error(`[Fetcher] ${packageName}: CRITICAL ERROR during dependency installation: ${err.message}`);
|
|
148414
148453
|
if (err.all) console.error(`[Fetcher] ${packageName}: Error details:\n${err.all}`);
|