@pipelab/plugin-netlify 1.0.0-beta.10 → 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 CHANGED
@@ -148221,11 +148221,13 @@ async function withLock(key, fn) {
148221
148221
  * Centralized in core-node to avoid circular dependencies.
148222
148222
  */
148223
148223
  async function fetchPackage(packageName, versionOrRange, options) {
148224
+ const start = Date.now();
148224
148225
  if (isDev && projectRoot && process.env.PIPELAB_FORCE_NPM !== "true") {
148225
148226
  if (packageName.startsWith("@pipelab/")) {
148227
+ const localStart = Date.now();
148226
148228
  const local = await tryResolveMonorepoPackage(packageName);
148227
148229
  if (local) {
148228
- console.log(`[Fetcher] ${packageName}: Resolved to local source at ${local.packageDir}`);
148230
+ console.log(`[Fetcher] ${packageName}: Resolved to local source at ${local.packageDir} (${Date.now() - localStart}ms)`);
148229
148231
  return {
148230
148232
  ...local,
148231
148233
  resolvedVersion: "workspace"
@@ -148237,6 +148239,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
148237
148239
  const baseDir = ctx.getPackagesPath(packageName);
148238
148240
  let resolvedVersion;
148239
148241
  console.log(`[Fetcher] Resolving ${packageName}@${versionOrRange || "latest"}...`);
148242
+ const resolveStart = Date.now();
148240
148243
  try {
148241
148244
  const cachePath = (0, node_path.join)(ctx.userDataPath, "cache", "pacote");
148242
148245
  let packumentPromise = packumentRequests.get(packageName);
@@ -148250,22 +148253,32 @@ async function fetchPackage(packageName, versionOrRange, options) {
148250
148253
  const foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
148251
148254
  if (!foundVersion) throw new Error(`Package ${packageName}@${range} not found on npm (available tags: ${Object.keys(packument["dist-tags"] || {}).join(", ")})`);
148252
148255
  resolvedVersion = foundVersion;
148253
- console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm`);
148256
+ console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm (${Date.now() - resolveStart}ms)`);
148254
148257
  } catch (error) {
148255
- console.warn(`[Fetcher] ${packageName}: remote resolution failed, trying local fallback...`);
148258
+ console.warn(`[Fetcher] ${packageName}: remote resolution failed (${Date.now() - resolveStart}ms), trying local fallback...`);
148259
+ const fallbackStart = Date.now();
148256
148260
  const fallbackVersion = await tryLocalFallback(versionOrRange, error, baseDir, packageName);
148257
- if (fallbackVersion) resolvedVersion = fallbackVersion;
148258
- else throw error;
148261
+ if (fallbackVersion) {
148262
+ resolvedVersion = fallbackVersion;
148263
+ console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
148264
+ } else throw error;
148259
148265
  }
148260
148266
  const cachePath = (0, node_path.join)(ctx.userDataPath, "cache", "pacote");
148261
148267
  const packageDir = (0, node_path.join)(baseDir, resolvedVersion);
148262
- if (options?.installDeps ? isPackageComplete(packageDir) && isDependenciesInstalledSync(packageDir) : isPackageComplete(packageDir)) return {
148263
- packageDir,
148264
- resolvedVersion
148265
- };
148268
+ const checkStart = Date.now();
148269
+ const isInstalled = options?.installDeps ? isPackageComplete(packageDir) && isDependenciesInstalledSync(packageDir) : isPackageComplete(packageDir);
148270
+ const checkDuration = Date.now() - checkStart;
148271
+ if (isInstalled) {
148272
+ console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Already installed (check took ${checkDuration}ms, fetchPackage took ${Date.now() - start}ms)`);
148273
+ return {
148274
+ packageDir,
148275
+ resolvedVersion
148276
+ };
148277
+ }
148266
148278
  return withLock(`package:${packageName}:${resolvedVersion}`, async () => {
148267
148279
  if (!isPackageComplete(packageDir)) {
148268
148280
  console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Downloading to ${packageDir}...`);
148281
+ const downloadStart = Date.now();
148269
148282
  const tempDir = (0, node_path.join)(baseDir, `.tmp-${resolvedVersion}-${Math.random().toString(36).slice(2)}`);
148270
148283
  await (0, node_fs_promises.mkdir)(tempDir, { recursive: true });
148271
148284
  try {
@@ -148281,6 +148294,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
148281
148294
  if (isPackageComplete(packageDir)) console.log(`[Fetcher] Destination ${packageDir} already exists and is valid.`);
148282
148295
  else throw err;
148283
148296
  }
148297
+ console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Downloaded and extracted in ${Date.now() - downloadStart}ms`);
148284
148298
  } catch (err) {
148285
148299
  await (0, node_fs_promises.rm)(tempDir, {
148286
148300
  recursive: true,
@@ -148289,8 +148303,15 @@ async function fetchPackage(packageName, versionOrRange, options) {
148289
148303
  throw err;
148290
148304
  }
148291
148305
  }
148306
+ const entryStart = Date.now();
148292
148307
  const entryPoint = await resolveEntryPoint(packageDir, packageName);
148293
- if (options?.installDeps) await installDependencies(packageDir, packageName, options);
148308
+ console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Resolved entry point in ${Date.now() - entryStart}ms`);
148309
+ if (options?.installDeps) {
148310
+ const depsStart = Date.now();
148311
+ await installDependencies(packageDir, packageName, options);
148312
+ console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Installed dependencies in ${Date.now() - depsStart}ms`);
148313
+ }
148314
+ console.log(`[Fetcher] ${packageName}@${resolvedVersion}: FetchPackage complete in ${Date.now() - start}ms`);
148294
148315
  return {
148295
148316
  packageDir,
148296
148317
  resolvedVersion,
@@ -148329,10 +148350,14 @@ async function runPnpm(cwd, options) {
148329
148350
  * Installs a specific version of Node.js if not already present.
148330
148351
  */
148331
148352
  async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
148353
+ const checkStart = Date.now();
148332
148354
  const isWindows = process.platform === "win32";
148333
148355
  const nodeDir = context.getThirdPartyPath("node", version);
148334
148356
  const finalNodePath = (0, node_path.join)(nodeDir, isWindows ? "node.exe" : "bin/node");
148335
- if (isNodeJSComplete(finalNodePath)) return finalNodePath;
148357
+ if (isNodeJSComplete(finalNodePath)) {
148358
+ console.log(`[Environment] Node.js check took ${Date.now() - checkStart}ms (found at ${finalNodePath})`);
148359
+ return finalNodePath;
148360
+ }
148336
148361
  return withLock(`node:${version}`, async () => {
148337
148362
  if (isNodeJSComplete(finalNodePath)) return finalNodePath;
148338
148363
  const arch = process.arch === "x64" ? "x64" : process.arch === "arm64" ? "arm64" : "x86";
@@ -148344,9 +148369,12 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
148344
148369
  const archivePath = (0, node_path.join)(tempDir, fileName);
148345
148370
  sendStartupProgress(`Downloading Node.js v${version}...`);
148346
148371
  console.log(`Downloading Node.js from ${downloadUrl}...`);
148372
+ const dlStart = Date.now();
148347
148373
  await downloadFile(downloadUrl, archivePath);
148374
+ console.log(`[Environment] Node.js download took ${Date.now() - dlStart}ms`);
148348
148375
  sendStartupProgress(`Extracting Node.js v${version}...`);
148349
148376
  console.log(`Extracting Node.js to ${tempDir}...`);
148377
+ const extStart = Date.now();
148350
148378
  const extractTempDir = (0, node_path.join)(tempDir, "extracted");
148351
148379
  await (0, node_fs_promises.mkdir)(extractTempDir, { recursive: true });
148352
148380
  if (extension === "zip") await extractZip(archivePath, extractTempDir);
@@ -148371,6 +148399,7 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
148371
148399
  if (isNodeJSComplete(finalNodePath)) console.log(`[Fetcher] Node.js directory already exists and is valid.`);
148372
148400
  else throw err;
148373
148401
  }
148402
+ console.log(`[Environment] Node.js extraction took ${Date.now() - extStart}ms`);
148374
148403
  } finally {
148375
148404
  await (0, node_fs_promises.rm)(tempNodeDir, {
148376
148405
  recursive: true,
@@ -148381,6 +148410,7 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
148381
148410
  force: true
148382
148411
  }).catch(() => {});
148383
148412
  }
148413
+ console.log(`[Environment] Node.js set up complete in ${Date.now() - checkStart}ms`);
148384
148414
  return finalNodePath;
148385
148415
  });
148386
148416
  }
@@ -148388,16 +148418,22 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
148388
148418
  * Installs the PNPM package from npm if not already present.
148389
148419
  */
148390
148420
  async function ensurePNPM(context, version = DEFAULT_PNPM_VERSION) {
148421
+ const checkStart = Date.now();
148391
148422
  const pnpmPath = (0, node_path.join)(context.getPackagesPath("pnpm", version), "bin", "pnpm.cjs");
148392
- if ((0, node_fs.existsSync)(pnpmPath)) return pnpmPath;
148423
+ if ((0, node_fs.existsSync)(pnpmPath)) {
148424
+ console.log(`[Environment] PNPM check took ${Date.now() - checkStart}ms (found at ${pnpmPath})`);
148425
+ return pnpmPath;
148426
+ }
148393
148427
  return withLock(`pnpm:${version}`, async () => {
148394
148428
  if ((0, node_fs.existsSync)(pnpmPath)) return pnpmPath;
148395
148429
  sendStartupProgress(`Checking PNPM v${version}...`);
148396
148430
  const { packageDir } = await fetchPackage("pnpm", version, { context });
148431
+ console.log(`[Environment] PNPM set up complete in ${Date.now() - checkStart}ms`);
148397
148432
  return (0, node_path.join)(packageDir, "bin", "pnpm.cjs");
148398
148433
  });
148399
148434
  }
148400
148435
  async function installDependencies(packageDir, packageName, options) {
148436
+ const start = Date.now();
148401
148437
  const nodeModulesPath = (0, node_path.join)(packageDir, "node_modules");
148402
148438
  if (isDependenciesInstalledSync(packageDir)) {
148403
148439
  console.log(`[Fetcher] ${packageName}: Dependencies already installed, skipping.`);
@@ -148408,18 +148444,21 @@ async function installDependencies(packageDir, packageName, options) {
148408
148444
  try {
148409
148445
  await (0, node_fs_promises.cp)((0, node_path.join)(packageDir, "package.json"), (0, node_path.join)(tempDir, "package.json"));
148410
148446
  console.log(`[Fetcher] ${packageName}: Ensuring dependencies are installed...`);
148447
+ const pnpmStart = Date.now();
148411
148448
  const { all } = await runPnpm(tempDir, {
148412
148449
  signal: options.signal,
148413
148450
  context: options.context
148414
148451
  });
148452
+ console.log(`[Fetcher] ${packageName}: pnpm install command took ${Date.now() - pnpmStart}ms`);
148415
148453
  if (all) console.log(`[Fetcher] ${packageName}: Installation trace:\n${all}`);
148416
148454
  const tempNodeModules = (0, node_path.join)(tempDir, "node_modules");
148417
148455
  if ((0, node_fs.existsSync)(nodeModulesPath)) await (0, node_fs_promises.rm)(nodeModulesPath, {
148418
148456
  recursive: true,
148419
148457
  force: true
148420
148458
  }).catch(() => {});
148459
+ const renameStart = Date.now();
148421
148460
  await (0, node_fs_promises.rename)(tempNodeModules, nodeModulesPath);
148422
- console.log(`[Fetcher] ${packageName}: Dependencies installed successfully.`);
148461
+ console.log(`[Fetcher] ${packageName}: Dependencies installed successfully (rename took ${Date.now() - renameStart}ms, total installDependencies took ${Date.now() - start}ms).`);
148423
148462
  } catch (err) {
148424
148463
  console.error(`[Fetcher] ${packageName}: CRITICAL ERROR during dependency installation: ${err.message}`);
148425
148464
  if (err.all) console.error(`[Fetcher] ${packageName}: Error details:\n${err.all}`);
package/dist/index.mjs CHANGED
@@ -1,10 +1,10 @@
1
- import { a as __require, i as __reExport, o as __toESM, r as __exportAll, t as __commonJSMin } from "./chunk-kImr3pkf.mjs";
1
+ import { a as __require, i as __reExport, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "./chunk-kImr3pkf.mjs";
2
2
  import { hostname } from "os";
3
3
  import { normalize } from "path";
4
4
  import { formatWithOptions, types } from "util";
5
5
  import path, { basename, delimiter, dirname, join } from "node:path";
6
- import { constants, tmpdir } from "node:os";
7
6
  import { fileURLToPath } from "node:url";
7
+ import { constants, tmpdir } from "node:os";
8
8
  import { appendFileSync, createReadStream, createWriteStream, existsSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
9
9
  import http from "node:http";
10
10
  import { webcrypto } from "node:crypto";
@@ -45197,7 +45197,16 @@ object({
45197
45197
  pipelines: optional(array(SaveLocationValidator), [])
45198
45198
  });
45199
45199
  //#endregion
45200
+ //#region ../../node_modules/tsdown/esm-shims.js
45201
+ var getFilename, getDirname, __dirname;
45202
+ var init_esm_shims = __esmMin((() => {
45203
+ getFilename = () => fileURLToPath(import.meta.url);
45204
+ getDirname = () => path.dirname(getFilename());
45205
+ __dirname = /* @__PURE__ */ getDirname();
45206
+ }));
45207
+ //#endregion
45200
45208
  //#region ../../packages/core-node/src/context.ts
45209
+ init_esm_shims();
45201
45210
  const _dirname = typeof __dirname !== "undefined" ? __dirname : typeof import.meta !== "undefined" && import.meta.url ? dirname(fileURLToPath(import.meta.url)) : process.cwd();
45202
45211
  const isDev = process.env.NODE_ENV === "development";
45203
45212
  /**
@@ -111041,6 +111050,7 @@ var require_lib$9 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
111041
111050
  //#endregion
111042
111051
  //#region ../../node_modules/@npmcli/run-script/lib/set-path.js
111043
111052
  var require_set_path = /* @__PURE__ */ __commonJSMin(((exports, module) => {
111053
+ init_esm_shims();
111044
111054
  const { log } = require_lib$29();
111045
111055
  const { resolve: resolve$4, dirname: dirname$2, delimiter: delimiter$1 } = __require("path");
111046
111056
  const nodeGypPath = resolve$4(__dirname, "../lib/node-gyp-bin");
@@ -148212,11 +148222,13 @@ async function withLock(key, fn) {
148212
148222
  * Centralized in core-node to avoid circular dependencies.
148213
148223
  */
148214
148224
  async function fetchPackage(packageName, versionOrRange, options) {
148225
+ const start = Date.now();
148215
148226
  if (isDev && projectRoot && process.env.PIPELAB_FORCE_NPM !== "true") {
148216
148227
  if (packageName.startsWith("@pipelab/")) {
148228
+ const localStart = Date.now();
148217
148229
  const local = await tryResolveMonorepoPackage(packageName);
148218
148230
  if (local) {
148219
- console.log(`[Fetcher] ${packageName}: Resolved to local source at ${local.packageDir}`);
148231
+ console.log(`[Fetcher] ${packageName}: Resolved to local source at ${local.packageDir} (${Date.now() - localStart}ms)`);
148220
148232
  return {
148221
148233
  ...local,
148222
148234
  resolvedVersion: "workspace"
@@ -148228,6 +148240,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
148228
148240
  const baseDir = ctx.getPackagesPath(packageName);
148229
148241
  let resolvedVersion;
148230
148242
  console.log(`[Fetcher] Resolving ${packageName}@${versionOrRange || "latest"}...`);
148243
+ const resolveStart = Date.now();
148231
148244
  try {
148232
148245
  const cachePath = join(ctx.userDataPath, "cache", "pacote");
148233
148246
  let packumentPromise = packumentRequests.get(packageName);
@@ -148241,22 +148254,32 @@ async function fetchPackage(packageName, versionOrRange, options) {
148241
148254
  const foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
148242
148255
  if (!foundVersion) throw new Error(`Package ${packageName}@${range} not found on npm (available tags: ${Object.keys(packument["dist-tags"] || {}).join(", ")})`);
148243
148256
  resolvedVersion = foundVersion;
148244
- console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm`);
148257
+ console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm (${Date.now() - resolveStart}ms)`);
148245
148258
  } catch (error) {
148246
- console.warn(`[Fetcher] ${packageName}: remote resolution failed, trying local fallback...`);
148259
+ console.warn(`[Fetcher] ${packageName}: remote resolution failed (${Date.now() - resolveStart}ms), trying local fallback...`);
148260
+ const fallbackStart = Date.now();
148247
148261
  const fallbackVersion = await tryLocalFallback(versionOrRange, error, baseDir, packageName);
148248
- if (fallbackVersion) resolvedVersion = fallbackVersion;
148249
- else throw error;
148262
+ if (fallbackVersion) {
148263
+ resolvedVersion = fallbackVersion;
148264
+ console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
148265
+ } else throw error;
148250
148266
  }
148251
148267
  const cachePath = join(ctx.userDataPath, "cache", "pacote");
148252
148268
  const packageDir = join(baseDir, resolvedVersion);
148253
- if (options?.installDeps ? isPackageComplete(packageDir) && isDependenciesInstalledSync(packageDir) : isPackageComplete(packageDir)) return {
148254
- packageDir,
148255
- resolvedVersion
148256
- };
148269
+ const checkStart = Date.now();
148270
+ const isInstalled = options?.installDeps ? isPackageComplete(packageDir) && isDependenciesInstalledSync(packageDir) : isPackageComplete(packageDir);
148271
+ const checkDuration = Date.now() - checkStart;
148272
+ if (isInstalled) {
148273
+ console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Already installed (check took ${checkDuration}ms, fetchPackage took ${Date.now() - start}ms)`);
148274
+ return {
148275
+ packageDir,
148276
+ resolvedVersion
148277
+ };
148278
+ }
148257
148279
  return withLock(`package:${packageName}:${resolvedVersion}`, async () => {
148258
148280
  if (!isPackageComplete(packageDir)) {
148259
148281
  console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Downloading to ${packageDir}...`);
148282
+ const downloadStart = Date.now();
148260
148283
  const tempDir = join(baseDir, `.tmp-${resolvedVersion}-${Math.random().toString(36).slice(2)}`);
148261
148284
  await mkdir(tempDir, { recursive: true });
148262
148285
  try {
@@ -148272,6 +148295,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
148272
148295
  if (isPackageComplete(packageDir)) console.log(`[Fetcher] Destination ${packageDir} already exists and is valid.`);
148273
148296
  else throw err;
148274
148297
  }
148298
+ console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Downloaded and extracted in ${Date.now() - downloadStart}ms`);
148275
148299
  } catch (err) {
148276
148300
  await rm(tempDir, {
148277
148301
  recursive: true,
@@ -148280,8 +148304,15 @@ async function fetchPackage(packageName, versionOrRange, options) {
148280
148304
  throw err;
148281
148305
  }
148282
148306
  }
148307
+ const entryStart = Date.now();
148283
148308
  const entryPoint = await resolveEntryPoint(packageDir, packageName);
148284
- if (options?.installDeps) await installDependencies(packageDir, packageName, options);
148309
+ console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Resolved entry point in ${Date.now() - entryStart}ms`);
148310
+ if (options?.installDeps) {
148311
+ const depsStart = Date.now();
148312
+ await installDependencies(packageDir, packageName, options);
148313
+ console.log(`[Fetcher] ${packageName}@${resolvedVersion}: Installed dependencies in ${Date.now() - depsStart}ms`);
148314
+ }
148315
+ console.log(`[Fetcher] ${packageName}@${resolvedVersion}: FetchPackage complete in ${Date.now() - start}ms`);
148285
148316
  return {
148286
148317
  packageDir,
148287
148318
  resolvedVersion,
@@ -148320,10 +148351,14 @@ async function runPnpm(cwd, options) {
148320
148351
  * Installs a specific version of Node.js if not already present.
148321
148352
  */
148322
148353
  async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
148354
+ const checkStart = Date.now();
148323
148355
  const isWindows = process.platform === "win32";
148324
148356
  const nodeDir = context.getThirdPartyPath("node", version);
148325
148357
  const finalNodePath = join(nodeDir, isWindows ? "node.exe" : "bin/node");
148326
- if (isNodeJSComplete(finalNodePath)) return finalNodePath;
148358
+ if (isNodeJSComplete(finalNodePath)) {
148359
+ console.log(`[Environment] Node.js check took ${Date.now() - checkStart}ms (found at ${finalNodePath})`);
148360
+ return finalNodePath;
148361
+ }
148327
148362
  return withLock(`node:${version}`, async () => {
148328
148363
  if (isNodeJSComplete(finalNodePath)) return finalNodePath;
148329
148364
  const arch = process.arch === "x64" ? "x64" : process.arch === "arm64" ? "arm64" : "x86";
@@ -148335,9 +148370,12 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
148335
148370
  const archivePath = join(tempDir, fileName);
148336
148371
  sendStartupProgress(`Downloading Node.js v${version}...`);
148337
148372
  console.log(`Downloading Node.js from ${downloadUrl}...`);
148373
+ const dlStart = Date.now();
148338
148374
  await downloadFile(downloadUrl, archivePath);
148375
+ console.log(`[Environment] Node.js download took ${Date.now() - dlStart}ms`);
148339
148376
  sendStartupProgress(`Extracting Node.js v${version}...`);
148340
148377
  console.log(`Extracting Node.js to ${tempDir}...`);
148378
+ const extStart = Date.now();
148341
148379
  const extractTempDir = join(tempDir, "extracted");
148342
148380
  await mkdir(extractTempDir, { recursive: true });
148343
148381
  if (extension === "zip") await extractZip(archivePath, extractTempDir);
@@ -148362,6 +148400,7 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
148362
148400
  if (isNodeJSComplete(finalNodePath)) console.log(`[Fetcher] Node.js directory already exists and is valid.`);
148363
148401
  else throw err;
148364
148402
  }
148403
+ console.log(`[Environment] Node.js extraction took ${Date.now() - extStart}ms`);
148365
148404
  } finally {
148366
148405
  await rm(tempNodeDir, {
148367
148406
  recursive: true,
@@ -148372,6 +148411,7 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
148372
148411
  force: true
148373
148412
  }).catch(() => {});
148374
148413
  }
148414
+ console.log(`[Environment] Node.js set up complete in ${Date.now() - checkStart}ms`);
148375
148415
  return finalNodePath;
148376
148416
  });
148377
148417
  }
@@ -148379,16 +148419,22 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
148379
148419
  * Installs the PNPM package from npm if not already present.
148380
148420
  */
148381
148421
  async function ensurePNPM(context, version = DEFAULT_PNPM_VERSION) {
148422
+ const checkStart = Date.now();
148382
148423
  const pnpmPath = join(context.getPackagesPath("pnpm", version), "bin", "pnpm.cjs");
148383
- if (existsSync(pnpmPath)) return pnpmPath;
148424
+ if (existsSync(pnpmPath)) {
148425
+ console.log(`[Environment] PNPM check took ${Date.now() - checkStart}ms (found at ${pnpmPath})`);
148426
+ return pnpmPath;
148427
+ }
148384
148428
  return withLock(`pnpm:${version}`, async () => {
148385
148429
  if (existsSync(pnpmPath)) return pnpmPath;
148386
148430
  sendStartupProgress(`Checking PNPM v${version}...`);
148387
148431
  const { packageDir } = await fetchPackage("pnpm", version, { context });
148432
+ console.log(`[Environment] PNPM set up complete in ${Date.now() - checkStart}ms`);
148388
148433
  return join(packageDir, "bin", "pnpm.cjs");
148389
148434
  });
148390
148435
  }
148391
148436
  async function installDependencies(packageDir, packageName, options) {
148437
+ const start = Date.now();
148392
148438
  const nodeModulesPath = join(packageDir, "node_modules");
148393
148439
  if (isDependenciesInstalledSync(packageDir)) {
148394
148440
  console.log(`[Fetcher] ${packageName}: Dependencies already installed, skipping.`);
@@ -148399,18 +148445,21 @@ async function installDependencies(packageDir, packageName, options) {
148399
148445
  try {
148400
148446
  await cp(join(packageDir, "package.json"), join(tempDir, "package.json"));
148401
148447
  console.log(`[Fetcher] ${packageName}: Ensuring dependencies are installed...`);
148448
+ const pnpmStart = Date.now();
148402
148449
  const { all } = await runPnpm(tempDir, {
148403
148450
  signal: options.signal,
148404
148451
  context: options.context
148405
148452
  });
148453
+ console.log(`[Fetcher] ${packageName}: pnpm install command took ${Date.now() - pnpmStart}ms`);
148406
148454
  if (all) console.log(`[Fetcher] ${packageName}: Installation trace:\n${all}`);
148407
148455
  const tempNodeModules = join(tempDir, "node_modules");
148408
148456
  if (existsSync(nodeModulesPath)) await rm(nodeModulesPath, {
148409
148457
  recursive: true,
148410
148458
  force: true
148411
148459
  }).catch(() => {});
148460
+ const renameStart = Date.now();
148412
148461
  await rename(tempNodeModules, nodeModulesPath);
148413
- console.log(`[Fetcher] ${packageName}: Dependencies installed successfully.`);
148462
+ console.log(`[Fetcher] ${packageName}: Dependencies installed successfully (rename took ${Date.now() - renameStart}ms, total installDependencies took ${Date.now() - start}ms).`);
148414
148463
  } catch (err) {
148415
148464
  console.error(`[Fetcher] ${packageName}: CRITICAL ERROR during dependency installation: ${err.message}`);
148416
148465
  if (err.all) console.error(`[Fetcher] ${packageName}: Error details:\n${err.all}`);