@teambit/pnpm 1.0.1191 → 1.0.1193
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.
|
@@ -172,12 +172,25 @@ class PnpmPackageManager {
|
|
|
172
172
|
const {
|
|
173
173
|
install
|
|
174
174
|
} = require('./lynx');
|
|
175
|
-
const registries = await this.depResolver.getRegistries();
|
|
176
|
-
const proxyConfig = await this.depResolver.getProxyConfig();
|
|
177
|
-
const networkConfig = await this.depResolver.getNetworkConfig();
|
|
178
175
|
const {
|
|
176
|
+
registries,
|
|
177
|
+
proxyConfig,
|
|
178
|
+
networkConfig,
|
|
179
179
|
config
|
|
180
|
-
} = await this.readConfig(
|
|
180
|
+
} = await this.logger.profileAsync('install.pnpm.readConfig', async () => {
|
|
181
|
+
const readRegistries = await this.depResolver.getRegistries();
|
|
182
|
+
const readProxyConfig = await this.depResolver.getProxyConfig();
|
|
183
|
+
const readNetworkConfig = await this.depResolver.getNetworkConfig();
|
|
184
|
+
const {
|
|
185
|
+
config: readConfigResult
|
|
186
|
+
} = await this.readConfig(installOptions.packageManagerConfigRootDir);
|
|
187
|
+
return {
|
|
188
|
+
registries: readRegistries,
|
|
189
|
+
proxyConfig: readProxyConfig,
|
|
190
|
+
networkConfig: readNetworkConfig,
|
|
191
|
+
config: readConfigResult
|
|
192
|
+
};
|
|
193
|
+
});
|
|
181
194
|
if (installOptions.dependenciesGraph && (installOptions.rootComponents || installOptions.rootComponentsForCapsules)) {
|
|
182
195
|
try {
|
|
183
196
|
await this.dependenciesGraphToLockfile(installOptions.dependenciesGraph, {
|
|
@@ -218,12 +231,7 @@ class PnpmPackageManager {
|
|
|
218
231
|
// packages this process already loaded modules from must stay requireable even if this install
|
|
219
232
|
// re-keys them to a new peer hash - see preserve-loaded-virtual-store-dirs.ts
|
|
220
233
|
const loadedVirtualStoreDirs = (0, _preserveLoadedVirtualStoreDirs().snapshotLoadedVirtualStoreDirs)(rootDir);
|
|
221
|
-
const {
|
|
222
|
-
dependenciesChanged,
|
|
223
|
-
rebuild,
|
|
224
|
-
storeDir,
|
|
225
|
-
depsRequiringBuild
|
|
226
|
-
} = await install(rootDir, manifests, config.storeDir, config.cacheDir, registries, proxyConfig, networkConfig, {
|
|
234
|
+
const installResult = await this.logger.profileAsync('install.pnpm.core', () => install(rootDir, manifests, config.storeDir, config.cacheDir, registries, proxyConfig, networkConfig, {
|
|
227
235
|
autoInstallPeers: installOptions.autoInstallPeers ?? true,
|
|
228
236
|
dedupePeers: installOptions.dedupePeers ?? true,
|
|
229
237
|
enableModulesDir: installOptions.enableModulesDir,
|
|
@@ -269,7 +277,13 @@ class PnpmPackageManager {
|
|
|
269
277
|
},
|
|
270
278
|
returnListOfDepsRequiringBuild: installOptions.returnListOfDepsRequiringBuild,
|
|
271
279
|
forcedHarmonyVersion: installOptions.forcedHarmonyVersion
|
|
272
|
-
}, this.logger);
|
|
280
|
+
}, this.logger));
|
|
281
|
+
const {
|
|
282
|
+
dependenciesChanged,
|
|
283
|
+
rebuild,
|
|
284
|
+
storeDir,
|
|
285
|
+
depsRequiringBuild
|
|
286
|
+
} = installResult;
|
|
273
287
|
if (!installOptions.hidePackageManagerOutput) {
|
|
274
288
|
this.logger.on();
|
|
275
289
|
// Make a divider row to improve output
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_dependencyResolver","data","require","_pkgEntities","_lodash","_legacy","_legacy2","_path","_lockfileDepsGraphConverter","_readConfig","_pnpmPruneModules","_preserveLoadedVirtualStoreDirs","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","loadNodeApi","PnpmPackageManager","constructor","depResolver","logger","cloud","Map","dir","config","warnings","readConfig","fetchRetries","memoize","dependenciesGraphToLockfile","dependenciesGraph","opts","initLockfileDepsGraphConverter","registries","Registries","Registry","generateResolverAndFetcher","resolve","graphLockfile","convertGraphToLockfile","nodeApi","existingLockfile","readLockfile","rootDir","mergedLockfile","mergeGraphLockfileIntoExisting","assign","bit","restoredFromModel","writeLockfile","lockfile","lockfilePath","join","debug","process","env","DEPS_GRAPH_LOG","console","log","install","manifests","installOptions","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","packageManagerConfigRootDir","rootComponents","rootComponentsForCapsules","cacheDir","error","message","failOnDependenciesGraphError","hidePackageManagerOutput","off","useNesting","extendWithComponentsFromDir","nmSelfReferences","values","manifest","name","devDependencies","modulesManifestCache","delete","hoistPattern","resolveHoistPattern","hoistPatterns","loadedVirtualStoreDirs","snapshotLoadedVirtualStoreDirs","dependenciesChanged","rebuild","storeDir","depsRequiringBuild","autoInstallPeers","dedupePeers","enableModulesDir","engineStrict","excludeLinksFromLockfile","lockfileOnly","minimumReleaseAge","minimumReleaseAgeExclude","neverBuiltDependencies","allowScripts","dangerouslyAllowAllScripts","nodeLinker","nodeVersion","includeOptionalDeps","ignorePackageManifest","dedupeInjectedDeps","dryRun","overrides","publicHoistPattern","shamefullyHoist","hoistWorkspacePackages","hoistInjectedDependencies","packageImportMethod","enableGlobalVirtualStore","globalVirtualStoreDir","patchedDependencies","packageExtensions","preferOffline","sideEffectsCacheRead","sideEffectsCache","sideEffectsCacheWrite","pnpmHomeDir","updateAll","reportOptions","appendOnly","optimizeReportForNonTerminal","outputStream","BIT_CLI_SERVER_NO_TTY","ServerSendOutStream","undefined","throttleProgress","hideProgressPrefix","hideLifecycleOutput","peerDependencyRules","returnListOfDepsRequiringBuild","forcedHarmonyVersion","on","restoreRemovedLoadedVirtualStoreDirs","getPeerDependencyIssues","lynx","resolveRemoteVersion","packageName","options","fullMetadata","configuredUserAgent","userAgent","username","getCurrentUser","result","explicitSettings","Set","maxSockets","has","networkConcurrency","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","strictSsl","strictSSL","ca","cert","key","pnpmRegistry","defaultRegistry","default","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","omit","scopesRegistries","reduce","acc","scopedRegName","scopedReg","replace","BIT_CLOUD_REGISTRY","getInjectedDirs","componentDir","modulesState","_readModulesManifest","injectedDeps","lockfileDir","get","modulesManifest","readModulesManifest","set","getWorkspaceDepsOfBitRoots","fromEntries","map","getGlobalVirtualStoreDir","pruneModules","pnpmPruneModules","findUsages","depName","trees","getDependents","packages","excludeProjectPatterns","BIT_ROOTS_DIR","manifestFields","applyComponentIdNames","renderDependents","depth","long","calcDependenciesGraph","originalLockfile","importers","originalImporters","componentRootDir","componentRelativeDir","pkgName","component","components","componentImporterId","compRootDir","includes","split","hasComponentRootImporter","Boolean","filterByImporterIds","clonedImporters","importerId","structuredClone","importer","workspacePkgName","componentIdByPkgName","ref","dependencies","optionalDependencies","version","startsWith","depType","partialLockfile","filterLockfileByImporters","graph","convertLockfileToGraph","state","_consumer","exports","hoistPatternsFromBitConfig","hoistPatternFromPnpmConfig","isDefaultHoistPattern","rename","node","componentId","scope","displayName","dependents","existing","graphImporter","entries","existingImporter","existingBit","graphBit","mergedDepsRequiringBuild","Array","from","sort","merged","lockfileVersion","mergeEntryRecords","snapshots","pruneUnreachableLockfileEntries","graphEntry","existingEntry","reachablePackages","reachableSnapshots","stack","visit","depPath","current","pop","add","removePeerSuffix","snapshot","dep","pkgId","bitAttrs","suffixStart","indexOf","slice"],"sources":["pnpm.package-manager.ts"],"sourcesContent":["import type { CloudMain } from '@teambit/cloud';\nimport { extendWithComponentsFromDir, BIT_CLOUD_REGISTRY } from '@teambit/dependency-resolver';\nimport type {\n DependencyResolverMain,\n InstallationContext,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n CalcDepsGraphOptions,\n} from '@teambit/dependency-resolver';\nimport { Registries, Registry } from '@teambit/pkg.entities.registry';\nimport type { Logger } from '@teambit/logger';\nimport { type LockfileFile } from '@pnpm/lockfile.types';\nimport { memoize, omit } from 'lodash';\nimport type * as NodeApi from '@pnpm/napi';\nimport type { DependentNode, DependentsTree, PeerDependencyIssuesByProjects, ResolvedConfig } from '@pnpm/napi';\nimport { type ProjectId, type ProjectManifest, type DepPath } from '@pnpm/types';\nimport { BIT_ROOTS_DIR } from '@teambit/legacy.constants';\nimport { ServerSendOutStream } from '@teambit/legacy.logger';\nimport { join } from 'path';\nimport {\n convertLockfileToGraph,\n convertGraphToLockfile,\n init as initLockfileDepsGraphConverter,\n} from './lockfile-deps-graph-converter';\nimport { readConfig } from './read-config';\nimport { pnpmPruneModules } from './pnpm-prune-modules';\nimport {\n snapshotLoadedVirtualStoreDirs,\n restoreRemovedLoadedVirtualStoreDirs,\n} from './preserve-loaded-virtual-store-dirs';\nimport type { RebuildFn } from './lynx';\nimport type * as LynxModule from './lynx';\nimport { type DependenciesGraph } from '@teambit/objects';\n\nexport type { RebuildFn };\n\nexport interface InstallResult {\n dependenciesChanged: boolean;\n rebuild: RebuildFn;\n storeDir: string;\n depsRequiringBuild?: DepPath[];\n}\n\ntype ReadConfigResult = Promise<{ config: ResolvedConfig; warnings: string[] }>;\n\n/**\n * The `.modules.yaml` fields Bit reads. The engine returns the whole\n * manifest; only these are consumed here.\n */\ninterface ModulesManifest {\n injectedDeps?: Record<string, string[]>;\n}\n\n/** One importer entry of a lockfile, in the file's own shape. */\ntype LockfileFileImporter = Record<string, Record<string, { specifier?: string; version?: string }> | undefined>;\n\n/**\n * Required lazily so the native engine binary is not mapped into every\n * `bit` process at startup (same convention as the `./lynx` require sites).\n */\nfunction loadNodeApi(): typeof NodeApi {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n return require('@pnpm/napi') as typeof NodeApi;\n}\n\nexport class PnpmPackageManager implements PackageManager {\n readonly name = 'pnpm';\n readonly supportsDependencyGraphRestoration = true;\n readonly modulesManifestCache: Map<string, ModulesManifest> = new Map();\n private username: string;\n\n private _readConfig = async (dir?: string): ReadConfigResult => {\n const { config, warnings } = await readConfig(dir);\n if (config?.fetchRetries && config?.fetchRetries < 5) {\n config.fetchRetries = 5;\n return { config, warnings };\n }\n\n return { config, warnings };\n };\n\n public readConfig: (dir?: string) => ReadConfigResult = memoize(this._readConfig);\n\n constructor(\n private depResolver: DependencyResolverMain,\n private logger: Logger,\n private cloud: CloudMain\n ) {}\n\n async dependenciesGraphToLockfile(\n dependenciesGraph: DependenciesGraph,\n opts: {\n cacheDir: string;\n manifests: Record<string, ProjectManifest>;\n rootDir: string;\n registries?: Registries;\n proxyConfig?: PackageManagerProxyConfig;\n networkConfig?: PackageManagerNetworkConfig;\n }\n ) {\n await initLockfileDepsGraphConverter();\n const registries = opts.registries ?? new Registries(new Registry('https://node-registry.bit.cloud', false), {});\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { generateResolverAndFetcher } = require('./lynx') as typeof LynxModule;\n const { resolve } = await generateResolverAndFetcher({\n ...opts,\n registries,\n });\n const graphLockfile: LockfileFile = await convertGraphToLockfile(dependenciesGraph, {\n ...opts,\n resolve,\n });\n const nodeApi = loadNodeApi();\n // Merge the graph-derived subset into any existing wanted lockfile rather than\n // overwriting. Only the importers, packages, and snapshots referenced by the\n // imported components' subgraph are re-stated here; every other workspace dep's\n // locked version must be preserved so pnpm doesn't re-resolve it to a newer\n // registry version.\n const existingLockfile = await nodeApi.readLockfile<LockfileFile>({ dir: opts.rootDir });\n const mergedLockfile = existingLockfile\n ? mergeGraphLockfileIntoExisting(existingLockfile, graphLockfile)\n : graphLockfile;\n Object.assign(mergedLockfile, {\n bit: {\n ...(mergedLockfile as LockfileFile & { bit?: Record<string, unknown> }).bit,\n restoredFromModel: true,\n },\n });\n await nodeApi.writeLockfile({ dir: opts.rootDir, lockfile: mergedLockfile });\n const lockfilePath = join(opts.rootDir, 'pnpm-lock.yaml');\n this.logger.debug(`generated a lockfile from dependencies graph at ${lockfilePath}`);\n if (process.env.DEPS_GRAPH_LOG) {\n // eslint-disable-next-line no-console\n console.log(`generated a lockfile from dependencies graph at ${lockfilePath}`);\n }\n }\n\n async install(\n { rootDir, manifests }: InstallationContext,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<InstallResult> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { install } = require('./lynx');\n\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { config } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n if (\n installOptions.dependenciesGraph &&\n (installOptions.rootComponents || installOptions.rootComponentsForCapsules)\n ) {\n try {\n await this.dependenciesGraphToLockfile(installOptions.dependenciesGraph, {\n manifests,\n rootDir,\n registries,\n proxyConfig,\n networkConfig,\n cacheDir: config.cacheDir,\n });\n } catch (error) {\n this.logger.error((error as Error).message);\n if (installOptions.failOnDependenciesGraphError) throw error;\n }\n }\n\n this.logger.debug(`running installation in root dir ${rootDir}`);\n this.logger.debug('components manifests for installation', manifests);\n if (!installOptions.hidePackageManagerOutput) {\n // this.logger.setStatusLine('installing dependencies using pnpm');\n // turn off the logger because it interrupts the pnpm output\n // this.logger.console('-------------------------PNPM OUTPUT-------------------------');\n this.logger.off();\n }\n if (!installOptions.useNesting && installOptions.rootComponentsForCapsules) {\n manifests = await extendWithComponentsFromDir(rootDir, manifests);\n }\n if (installOptions.nmSelfReferences) {\n Object.values(manifests).forEach((manifest) => {\n if (manifest.name) {\n manifest.devDependencies = {\n [manifest.name]: 'link:.',\n ...manifest.devDependencies,\n };\n }\n });\n }\n this.modulesManifestCache.delete(rootDir);\n const hoistPattern = resolveHoistPattern(installOptions.hoistPatterns, config.hoistPattern);\n // packages this process already loaded modules from must stay requireable even if this install\n // re-keys them to a new peer hash - see preserve-loaded-virtual-store-dirs.ts\n const loadedVirtualStoreDirs = snapshotLoadedVirtualStoreDirs(rootDir);\n const { dependenciesChanged, rebuild, storeDir, depsRequiringBuild } = await install(\n rootDir,\n manifests,\n config.storeDir,\n config.cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n {\n autoInstallPeers: installOptions.autoInstallPeers ?? true,\n dedupePeers: installOptions.dedupePeers ?? true,\n enableModulesDir: installOptions.enableModulesDir,\n engineStrict: installOptions.engineStrict ?? config.engineStrict,\n excludeLinksFromLockfile: installOptions.excludeLinksFromLockfile,\n lockfileOnly: installOptions.lockfileOnly,\n minimumReleaseAge: installOptions.minimumReleaseAge,\n minimumReleaseAgeExclude: installOptions.minimumReleaseAgeExclude,\n neverBuiltDependencies: installOptions.neverBuiltDependencies,\n allowScripts: installOptions.allowScripts,\n dangerouslyAllowAllScripts: installOptions.dangerouslyAllowAllScripts,\n nodeLinker: installOptions.nodeLinker,\n nodeVersion: installOptions.nodeVersion ?? config.nodeVersion,\n includeOptionalDeps: installOptions.includeOptionalDeps,\n ignorePackageManifest: installOptions.ignorePackageManifest,\n dedupeInjectedDeps: installOptions.dedupeInjectedDeps ?? false,\n dryRun: installOptions.dependenciesGraph == null && installOptions.dryRun,\n overrides: installOptions.overrides,\n hoistPattern,\n publicHoistPattern: config.shamefullyHoist\n ? ['*']\n : ['@eslint/plugin-*', '*eslint-plugin*', '@prettier/plugin-*', '*prettier-plugin-*'],\n hoistWorkspacePackages: installOptions.hoistWorkspacePackages ?? false,\n hoistInjectedDependencies: installOptions.hoistInjectedDependencies,\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n enableGlobalVirtualStore: installOptions.enableGlobalVirtualStore,\n globalVirtualStoreDir: installOptions.globalVirtualStoreDir,\n patchedDependencies: installOptions.patchedDependencies,\n packageExtensions: installOptions.packageExtensions,\n preferOffline: installOptions.preferOffline,\n rootComponents: installOptions.rootComponents,\n rootComponentsForCapsules: installOptions.rootComponentsForCapsules,\n sideEffectsCacheRead: installOptions.sideEffectsCache ?? true,\n sideEffectsCacheWrite: installOptions.sideEffectsCache ?? true,\n pnpmHomeDir: config.pnpmHomeDir,\n updateAll: installOptions.updateAll,\n hidePackageManagerOutput: installOptions.hidePackageManagerOutput,\n reportOptions: {\n appendOnly: installOptions.optimizeReportForNonTerminal,\n outputStream: process.env.BIT_CLI_SERVER_NO_TTY ? new ServerSendOutStream() : undefined,\n throttleProgress: installOptions.throttleProgress,\n hideProgressPrefix: installOptions.hideProgressPrefix,\n hideLifecycleOutput: installOptions.hideLifecycleOutput,\n peerDependencyRules: installOptions.peerDependencyRules,\n },\n returnListOfDepsRequiringBuild: installOptions.returnListOfDepsRequiringBuild,\n forcedHarmonyVersion: installOptions.forcedHarmonyVersion,\n },\n this.logger\n );\n if (!installOptions.hidePackageManagerOutput) {\n this.logger.on();\n // Make a divider row to improve output\n // this.logger.console('-------------------------END PNPM OUTPUT-------------------------');\n // this.logger.consoleSuccess('installing dependencies using pnpm');\n }\n await restoreRemovedLoadedVirtualStoreDirs(loadedVirtualStoreDirs, this.logger);\n return { dependenciesChanged, rebuild, storeDir, depsRequiringBuild };\n }\n\n async getPeerDependencyIssues(\n rootDir: string,\n manifests: Record<string, ProjectManifest>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<PeerDependencyIssuesByProjects> {\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const registries = await this.depResolver.getRegistries();\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const lynx = require('./lynx');\n const { config } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n return lynx.getPeerDependencyIssues(manifests, {\n storeDir: config.storeDir,\n cacheDir: config.cacheDir,\n proxyConfig,\n registries,\n rootDir,\n networkConfig,\n overrides: installOptions.overrides,\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n });\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { resolveRemoteVersion } = require('./lynx');\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { config } = await this.readConfig(options.packageManagerConfigRootDir);\n return resolveRemoteVersion(packageName, {\n rootDir: options.rootDir,\n cacheDir: config.cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n fullMetadata: options.fullMetadata,\n });\n }\n\n async getProxyConfig?(): Promise<PackageManagerProxyConfig> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getProxyConfig } = require('./get-proxy-config');\n const { config } = await this.readConfig();\n return getProxyConfig(config);\n }\n\n async getNetworkConfig?(): Promise<PackageManagerNetworkConfig> {\n const { config } = await this.readConfig();\n const configuredUserAgent = config.userAgent;\n if (!configuredUserAgent && !this.username) {\n this.username = (await this.cloud.getCurrentUser())?.username ?? 'anonymous';\n }\n const result: PackageManagerNetworkConfig = {\n userAgent: configuredUserAgent ?? `bit user/${this.username}`,\n };\n // The resolved config carries the engine's defaults for the numeric\n // network settings, and anything returned here overrides Bit's global\n // network config in the dependency resolver's merge, so only settings the\n // user explicitly configured may pass through.\n const explicitSettings = new Set(config.explicitSettings);\n if (config.maxSockets != null && explicitSettings.has('maxSockets')) {\n result.maxSockets = config.maxSockets;\n }\n if (config.networkConcurrency != null && explicitSettings.has('networkConcurrency')) {\n result.networkConcurrency = config.networkConcurrency;\n }\n if (config.fetchRetries != null && explicitSettings.has('fetchRetries')) {\n result.fetchRetries = config.fetchRetries;\n }\n if (config.fetchTimeout != null && explicitSettings.has('fetchTimeout')) {\n result.fetchTimeout = config.fetchTimeout;\n }\n if (config.fetchRetryMaxtimeout != null && explicitSettings.has('fetchRetryMaxtimeout')) {\n result.fetchRetryMaxtimeout = config.fetchRetryMaxtimeout;\n }\n if (config.fetchRetryMintimeout != null && explicitSettings.has('fetchRetryMintimeout')) {\n result.fetchRetryMintimeout = config.fetchRetryMintimeout;\n }\n // Unlike the numeric settings above, strictSsl/ca/cert/key are optional\n // in the engine's projection and populated only when explicitly\n // configured (the engine applies its own defaults at client-build\n // time), so presence is already the explicit gate.\n if (config.strictSsl != null) {\n result.strictSSL = config.strictSsl;\n }\n if (config.ca != null) {\n result.ca = config.ca;\n }\n if (config.cert != null) {\n result.cert = config.cert;\n }\n if (config.key != null) {\n result.key = config.key;\n }\n return result;\n }\n\n async getRegistries(): Promise<Registries> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getRegistries } = require('./get-registries');\n const { config } = await this.readConfig();\n const pnpmRegistry = await getRegistries(config);\n const defaultRegistry = new Registry(\n pnpmRegistry.default.uri,\n pnpmRegistry.default.alwaysAuth,\n pnpmRegistry.default.authHeaderValue,\n pnpmRegistry.default.originalAuthType,\n pnpmRegistry.default.originalAuthValue\n );\n\n const pnpmScoped = omit(pnpmRegistry, ['default']);\n const scopesRegistries: Record<string, Registry> = Object.keys(pnpmScoped).reduce((acc, scopedRegName) => {\n const scopedReg = pnpmScoped[scopedRegName];\n const name = scopedRegName.replace('@', '');\n acc[name] = new Registry(\n scopedReg.uri,\n scopedReg.alwaysAuth,\n scopedReg.authHeaderValue,\n scopedReg.originalAuthType,\n scopedReg.originalAuthValue\n );\n return acc;\n }, {});\n\n // Add bit registry server if not exist\n if (!scopesRegistries.bit) {\n scopesRegistries.bit = new Registry(BIT_CLOUD_REGISTRY, true);\n }\n\n return new Registries(defaultRegistry, scopesRegistries);\n }\n\n async getInjectedDirs(rootDir: string, componentDir: string, packageName: string): Promise<string[]> {\n const modulesState = await this._readModulesManifest(rootDir);\n if (modulesState?.injectedDeps == null) return [];\n return modulesState.injectedDeps[`node_modules/${packageName}`] ?? modulesState.injectedDeps[componentDir] ?? [];\n }\n\n async _readModulesManifest(lockfileDir: string): Promise<ModulesManifest | undefined> {\n if (this.modulesManifestCache.has(lockfileDir)) {\n return this.modulesManifestCache.get(lockfileDir);\n }\n const nodeApi = loadNodeApi();\n const modulesManifest = (await nodeApi.readModulesManifest(\n join(lockfileDir, 'node_modules')\n )) as ModulesManifest | null;\n if (modulesManifest) {\n this.modulesManifestCache.set(lockfileDir, modulesManifest);\n }\n return modulesManifest ?? undefined;\n }\n\n getWorkspaceDepsOfBitRoots(manifests: ProjectManifest[]): Record<string, string> {\n return Object.fromEntries(manifests.map((manifest) => [manifest.name, 'workspace:*']));\n }\n\n /**\n * pnpm's own shared `<storeDir>/links`.\n *\n * Bit used to carve out a private `<storeDir>/bit-links/<installationId>` root, because the core\n * aspects had to be mirrored at the root of the virtual store for the published envs to reach\n * them, and such a mirror cannot be shared with the pnpm CLI or another bit installation. They now\n * go to the project-local hoisted directory instead (see\n * `DependencyLinker.linkCoreAspectsToHoistedStore`), so nothing is written inside the store and\n * the shared directory can be used - slots are reused across bit versions and with every other\n * pnpm project, upgrades stay incremental, and `pnpm store prune` can account for them.\n */\n async getGlobalVirtualStoreDir({\n packageManagerConfigRootDir,\n }: {\n packageManagerConfigRootDir?: string;\n installationId: string;\n }): Promise<string> {\n const { config } = await this.readConfig(packageManagerConfigRootDir);\n return config.globalVirtualStoreDir ?? join(config.storeDir, 'links');\n }\n\n async pruneModules(rootDir: string): Promise<void> {\n return pnpmPruneModules(rootDir);\n }\n\n async findUsages(depName: string, opts: { lockfileDir: string; depth?: number }): Promise<string> {\n const nodeApi = loadNodeApi();\n const trees = await nodeApi.getDependents({\n dir: opts.lockfileDir,\n packages: [depName],\n // The generated importers under `.bit_roots` wire the workspace\n // together; they are not somewhere a user's dependency comes from.\n excludeProjectPatterns: [`*${BIT_ROOTS_DIR}/*`],\n // The engine walks the lockfile, which knows package names. Ask it\n // for the field that carries the component id so the tree can be\n // rendered in Bit's terms instead.\n manifestFields: ['componentId'],\n });\n applyComponentIdNames(trees);\n return nodeApi.renderDependents(trees, { depth: opts.depth, long: false });\n }\n\n /**\n * Calculating the dependencies graph of a given component using the lockfile.\n */\n async calcDependenciesGraph(opts: CalcDepsGraphOptions): Promise<void> {\n await initLockfileDepsGraphConverter();\n const nodeApi = loadNodeApi();\n const originalLockfile = await nodeApi.readLockfile<LockfileFile>({ dir: opts.rootDir });\n if (!originalLockfile?.importers) {\n return;\n }\n const originalImporters = originalLockfile.importers as Record<string, LockfileFileImporter>;\n for (const { componentRootDir, componentRelativeDir, pkgName, component } of opts.components) {\n const componentImporterId = (componentRelativeDir || '.') as ProjectId;\n let compRootDir: string | undefined;\n if (componentRootDir && !originalImporters[componentRootDir] && componentRootDir.includes('@')) {\n compRootDir = componentRootDir.split('@')[0];\n } else {\n compRootDir = componentRootDir;\n }\n if (!originalImporters[componentImporterId]) {\n continue;\n }\n const hasComponentRootImporter = compRootDir != null && Boolean(originalImporters[compRootDir]);\n const filterByImporterIds = [componentImporterId];\n if (hasComponentRootImporter && compRootDir !== componentImporterId) {\n filterByImporterIds.push(compRootDir as ProjectId);\n }\n // Only clone the importers that will be mutated, reuse the rest of the lockfile as-is\n const clonedImporters: Record<string, LockfileFileImporter> = {};\n for (const importerId of filterByImporterIds) {\n if (originalImporters[importerId]) {\n clonedImporters[importerId] = structuredClone(originalImporters[importerId]);\n }\n }\n const lockfile = {\n ...originalLockfile,\n importers: { ...originalImporters, ...clonedImporters },\n };\n for (const importerId of filterByImporterIds) {\n const importer = lockfile.importers[importerId];\n if (importer == null) continue;\n for (const workspacePkgName of opts.componentIdByPkgName.keys()) {\n if (workspacePkgName === pkgName) continue;\n // In the component's own importer, an injected sibling (a \"file:\"\n // ref) is a real direct dependency of this component — the graph\n // converter rewrites it to the component's semver id. Entries in\n // any other importer (e.g. the capsule/workspace root) merely\n // wire the workspace together and must not leak into this\n // component's graph.\n if (importerId === componentImporterId) {\n const ref =\n importer.dependencies?.[workspacePkgName] ??\n importer.devDependencies?.[workspacePkgName] ??\n importer.optionalDependencies?.[workspacePkgName];\n if (ref?.version?.startsWith('file:')) continue;\n }\n for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies', 'dependenciesMeta']) {\n delete importer[depType]?.[workspacePkgName];\n }\n }\n }\n // Filters the lockfile so that it only includes packages related to the given component.\n const partialLockfile = nodeApi.filterLockfileByImporters<LockfileFile>(lockfile, filterByImporterIds);\n const graph = convertLockfileToGraph(partialLockfile, {\n ...opts,\n componentRootDir: hasComponentRootImporter ? compRootDir : undefined,\n componentRelativeDir: componentImporterId,\n pkgName,\n });\n component.state._consumer.dependenciesGraph = graph;\n }\n }\n}\n\nfunction resolveHoistPattern(hoistPatternsFromBitConfig?: string[], hoistPatternFromPnpmConfig?: string[]): string[] {\n if (hoistPatternsFromBitConfig == null) return hoistPatternFromPnpmConfig ?? ['*'];\n if (\n isDefaultHoistPattern(hoistPatternsFromBitConfig) &&\n hoistPatternFromPnpmConfig &&\n !isDefaultHoistPattern(hoistPatternFromPnpmConfig)\n ) {\n return hoistPatternFromPnpmConfig;\n }\n return hoistPatternsFromBitConfig;\n}\n\nfunction isDefaultHoistPattern(hoistPattern: string[]): boolean {\n return hoistPattern.length === 1 && hoistPattern[0] === '*';\n}\n\n/**\n * Rename every node the engine resolved to a Bit component after its\n * component id, in place. The engine has no notion of one — it reports the\n * package name from the lockfile — so it is asked for the `componentId`\n * field of each node's manifest and Bit turns that into the display name,\n * which the renderer then prefers over the package name.\n */\nfunction applyComponentIdNames(trees: DependentsTree[]): void {\n const rename = (node: DependentsTree | DependentNode) => {\n const componentId = node.manifest?.componentId as { scope?: string; name?: string } | undefined;\n if (componentId?.scope && componentId.name) {\n node.displayName = `${componentId.scope}/${componentId.name}`;\n }\n node.dependents?.forEach(rename);\n };\n trees.forEach(rename);\n}\n\n// Merge a graph-derived lockfile into an existing wanted lockfile. The graph lockfile is\n// authoritative for keys it contains (a re-imported component can change the resolution\n// of its own deps), but must not erase packages, snapshots, or importer entries that are\n// only known to the existing lockfile. convertGraphToLockfile emits importer entries for\n// every workspace project, but only populates deps for manifests whose keys appear in the\n// graph's root edge — so per-importer overlay (instead of overwrite) is what keeps\n// unrelated workspace importers intact.\n//\n// Packages and snapshots are deep-merged per key so that pnpm-managed metadata the graph\n// doesn't round-trip (e.g. `optional`, `transitivePeerDependencies`, `dev`) survives on\n// entries the graph also knows about.\nfunction mergeGraphLockfileIntoExisting(existing: LockfileFile, graph: LockfileFile): LockfileFile {\n const importers: NonNullable<LockfileFile['importers']> = { ...existing.importers };\n for (const [importerId, graphImporter] of Object.entries(graph.importers ?? {})) {\n const existingImporter = importers[importerId];\n if (!existingImporter) {\n importers[importerId] = graphImporter;\n continue;\n }\n importers[importerId] = {\n ...existingImporter,\n dependencies: { ...existingImporter.dependencies, ...graphImporter.dependencies },\n devDependencies: { ...existingImporter.devDependencies, ...graphImporter.devDependencies },\n optionalDependencies: {\n ...existingImporter.optionalDependencies,\n ...graphImporter.optionalDependencies,\n },\n };\n }\n const existingBit = (existing as LockfileFile & { bit?: { depsRequiringBuild?: string[] } }).bit;\n const graphBit = (graph as LockfileFile & { bit?: { depsRequiringBuild?: string[] } }).bit;\n const mergedDepsRequiringBuild = Array.from(\n new Set([...(existingBit?.depsRequiringBuild ?? []), ...(graphBit?.depsRequiringBuild ?? [])])\n ).sort();\n const merged = {\n ...existing,\n // Keep the existing lockfile's schema version. convertGraphToLockfile hardcodes\n // lockfileVersion: '9.0', so preferring graph.lockfileVersion would silently\n // downgrade workspaces whose pnpm already writes a newer schema and trigger a\n // full rewrite on the next install.\n lockfileVersion: existing.lockfileVersion ?? graph.lockfileVersion,\n importers,\n packages: mergeEntryRecords(existing.packages, graph.packages),\n snapshots: mergeEntryRecords(existing.snapshots, graph.snapshots),\n };\n if (existingBit || graphBit) {\n (merged as LockfileFile & { bit?: Record<string, unknown> }).bit = {\n ...existingBit,\n ...graphBit,\n depsRequiringBuild: mergedDepsRequiringBuild,\n };\n }\n pruneUnreachableLockfileEntries(merged);\n return merged;\n}\n\nfunction mergeEntryRecords<T extends object>(\n existing: Record<string, T> | undefined,\n graph: Record<string, T> | undefined\n): Record<string, T> | undefined {\n if (!existing) return graph;\n if (!graph) return existing;\n const merged: Record<string, T> = { ...existing };\n for (const [key, graphEntry] of Object.entries(graph)) {\n const existingEntry = merged[key];\n merged[key] = existingEntry ? ({ ...existingEntry, ...graphEntry } as T) : graphEntry;\n }\n return merged;\n}\n\nfunction pruneUnreachableLockfileEntries(lockfile: LockfileFile): void {\n const reachablePackages = new Set<string>();\n const reachableSnapshots = new Set<string>();\n // An explicit stack: deep dependency chains would overflow the call\n // stack with a recursive walk.\n const stack: string[] = [];\n const visit = (depPath: string) => {\n stack.push(depPath);\n while (stack.length > 0) {\n const current = stack.pop()!;\n if (reachableSnapshots.has(current)) continue;\n reachableSnapshots.add(current);\n reachablePackages.add(removePeerSuffix(current));\n const snapshot = lockfile.snapshots?.[current];\n if (!snapshot) continue;\n for (const depType of ['dependencies', 'optionalDependencies'] as const) {\n for (const [name, ref] of Object.entries(snapshot[depType] ?? {}) as Array<[string, string]>) {\n if (ref.startsWith('link:') || ref.startsWith('file:')) continue;\n stack.push(`${name}@${ref}`);\n }\n }\n }\n };\n for (const importer of Object.values(lockfile.importers ?? {})) {\n for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies'] as const) {\n for (const [name, dep] of Object.entries(importer[depType] ?? {}) as Array<\n [string, { version?: string } | string]\n >) {\n const version = typeof dep === 'string' ? dep : dep.version;\n if (!version || version.startsWith('link:') || version.startsWith('file:')) continue;\n visit(`${name}@${version}`);\n }\n }\n }\n for (const pkgId of Object.keys(lockfile.packages ?? {})) {\n if (!reachablePackages.has(pkgId)) {\n delete lockfile.packages![pkgId];\n }\n }\n for (const depPath of Object.keys(lockfile.snapshots ?? {})) {\n if (!reachableSnapshots.has(depPath)) {\n delete lockfile.snapshots![depPath];\n }\n }\n const bitAttrs = (lockfile as LockfileFile & { bit?: { depsRequiringBuild?: string[] } }).bit;\n if (bitAttrs?.depsRequiringBuild) {\n bitAttrs.depsRequiringBuild = bitAttrs.depsRequiringBuild.filter((depPath) =>\n reachablePackages.has(removePeerSuffix(depPath))\n );\n }\n}\n\nfunction removePeerSuffix(depPath: string): string {\n const suffixStart = depPath.indexOf('(');\n return suffixStart === -1 ? depPath : depPath.slice(0, suffixStart);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_dependencyResolver","data","require","_pkgEntities","_lodash","_legacy","_legacy2","_path","_lockfileDepsGraphConverter","_readConfig","_pnpmPruneModules","_preserveLoadedVirtualStoreDirs","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","loadNodeApi","PnpmPackageManager","constructor","depResolver","logger","cloud","Map","dir","config","warnings","readConfig","fetchRetries","memoize","dependenciesGraphToLockfile","dependenciesGraph","opts","initLockfileDepsGraphConverter","registries","Registries","Registry","generateResolverAndFetcher","resolve","graphLockfile","convertGraphToLockfile","nodeApi","existingLockfile","readLockfile","rootDir","mergedLockfile","mergeGraphLockfileIntoExisting","assign","bit","restoredFromModel","writeLockfile","lockfile","lockfilePath","join","debug","process","env","DEPS_GRAPH_LOG","console","log","install","manifests","installOptions","proxyConfig","networkConfig","profileAsync","readRegistries","getRegistries","readProxyConfig","getProxyConfig","readNetworkConfig","getNetworkConfig","readConfigResult","packageManagerConfigRootDir","rootComponents","rootComponentsForCapsules","cacheDir","error","message","failOnDependenciesGraphError","hidePackageManagerOutput","off","useNesting","extendWithComponentsFromDir","nmSelfReferences","values","manifest","name","devDependencies","modulesManifestCache","delete","hoistPattern","resolveHoistPattern","hoistPatterns","loadedVirtualStoreDirs","snapshotLoadedVirtualStoreDirs","installResult","storeDir","autoInstallPeers","dedupePeers","enableModulesDir","engineStrict","excludeLinksFromLockfile","lockfileOnly","minimumReleaseAge","minimumReleaseAgeExclude","neverBuiltDependencies","allowScripts","dangerouslyAllowAllScripts","nodeLinker","nodeVersion","includeOptionalDeps","ignorePackageManifest","dedupeInjectedDeps","dryRun","overrides","publicHoistPattern","shamefullyHoist","hoistWorkspacePackages","hoistInjectedDependencies","packageImportMethod","enableGlobalVirtualStore","globalVirtualStoreDir","patchedDependencies","packageExtensions","preferOffline","sideEffectsCacheRead","sideEffectsCache","sideEffectsCacheWrite","pnpmHomeDir","updateAll","reportOptions","appendOnly","optimizeReportForNonTerminal","outputStream","BIT_CLI_SERVER_NO_TTY","ServerSendOutStream","undefined","throttleProgress","hideProgressPrefix","hideLifecycleOutput","peerDependencyRules","returnListOfDepsRequiringBuild","forcedHarmonyVersion","dependenciesChanged","rebuild","depsRequiringBuild","on","restoreRemovedLoadedVirtualStoreDirs","getPeerDependencyIssues","lynx","resolveRemoteVersion","packageName","options","fullMetadata","configuredUserAgent","userAgent","username","getCurrentUser","result","explicitSettings","Set","maxSockets","has","networkConcurrency","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","strictSsl","strictSSL","ca","cert","key","pnpmRegistry","defaultRegistry","default","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","omit","scopesRegistries","reduce","acc","scopedRegName","scopedReg","replace","BIT_CLOUD_REGISTRY","getInjectedDirs","componentDir","modulesState","_readModulesManifest","injectedDeps","lockfileDir","get","modulesManifest","readModulesManifest","set","getWorkspaceDepsOfBitRoots","fromEntries","map","getGlobalVirtualStoreDir","pruneModules","pnpmPruneModules","findUsages","depName","trees","getDependents","packages","excludeProjectPatterns","BIT_ROOTS_DIR","manifestFields","applyComponentIdNames","renderDependents","depth","long","calcDependenciesGraph","originalLockfile","importers","originalImporters","componentRootDir","componentRelativeDir","pkgName","component","components","componentImporterId","compRootDir","includes","split","hasComponentRootImporter","Boolean","filterByImporterIds","clonedImporters","importerId","structuredClone","importer","workspacePkgName","componentIdByPkgName","ref","dependencies","optionalDependencies","version","startsWith","depType","partialLockfile","filterLockfileByImporters","graph","convertLockfileToGraph","state","_consumer","exports","hoistPatternsFromBitConfig","hoistPatternFromPnpmConfig","isDefaultHoistPattern","rename","node","componentId","scope","displayName","dependents","existing","graphImporter","entries","existingImporter","existingBit","graphBit","mergedDepsRequiringBuild","Array","from","sort","merged","lockfileVersion","mergeEntryRecords","snapshots","pruneUnreachableLockfileEntries","graphEntry","existingEntry","reachablePackages","reachableSnapshots","stack","visit","depPath","current","pop","add","removePeerSuffix","snapshot","dep","pkgId","bitAttrs","suffixStart","indexOf","slice"],"sources":["pnpm.package-manager.ts"],"sourcesContent":["import type { CloudMain } from '@teambit/cloud';\nimport { extendWithComponentsFromDir, BIT_CLOUD_REGISTRY } from '@teambit/dependency-resolver';\nimport type {\n DependencyResolverMain,\n InstallationContext,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n CalcDepsGraphOptions,\n} from '@teambit/dependency-resolver';\nimport { Registries, Registry } from '@teambit/pkg.entities.registry';\nimport type { Logger } from '@teambit/logger';\nimport { type LockfileFile } from '@pnpm/lockfile.types';\nimport { memoize, omit } from 'lodash';\nimport type * as NodeApi from '@pnpm/napi';\nimport type { DependentNode, DependentsTree, PeerDependencyIssuesByProjects, ResolvedConfig } from '@pnpm/napi';\nimport { type ProjectId, type ProjectManifest, type DepPath } from '@pnpm/types';\nimport { BIT_ROOTS_DIR } from '@teambit/legacy.constants';\nimport { ServerSendOutStream } from '@teambit/legacy.logger';\nimport { join } from 'path';\nimport {\n convertLockfileToGraph,\n convertGraphToLockfile,\n init as initLockfileDepsGraphConverter,\n} from './lockfile-deps-graph-converter';\nimport { readConfig } from './read-config';\nimport { pnpmPruneModules } from './pnpm-prune-modules';\nimport {\n snapshotLoadedVirtualStoreDirs,\n restoreRemovedLoadedVirtualStoreDirs,\n} from './preserve-loaded-virtual-store-dirs';\nimport type { RebuildFn } from './lynx';\nimport type * as LynxModule from './lynx';\nimport { type DependenciesGraph } from '@teambit/objects';\n\nexport type { RebuildFn };\n\nexport interface InstallResult {\n dependenciesChanged: boolean;\n rebuild: RebuildFn;\n storeDir: string;\n depsRequiringBuild?: DepPath[];\n}\n\ntype ReadConfigResult = Promise<{ config: ResolvedConfig; warnings: string[] }>;\n\n/**\n * The `.modules.yaml` fields Bit reads. The engine returns the whole\n * manifest; only these are consumed here.\n */\ninterface ModulesManifest {\n injectedDeps?: Record<string, string[]>;\n}\n\n/** One importer entry of a lockfile, in the file's own shape. */\ntype LockfileFileImporter = Record<string, Record<string, { specifier?: string; version?: string }> | undefined>;\n\n/**\n * Required lazily so the native engine binary is not mapped into every\n * `bit` process at startup (same convention as the `./lynx` require sites).\n */\nfunction loadNodeApi(): typeof NodeApi {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n return require('@pnpm/napi') as typeof NodeApi;\n}\n\nexport class PnpmPackageManager implements PackageManager {\n readonly name = 'pnpm';\n readonly supportsDependencyGraphRestoration = true;\n readonly modulesManifestCache: Map<string, ModulesManifest> = new Map();\n private username: string;\n\n private _readConfig = async (dir?: string): ReadConfigResult => {\n const { config, warnings } = await readConfig(dir);\n if (config?.fetchRetries && config?.fetchRetries < 5) {\n config.fetchRetries = 5;\n return { config, warnings };\n }\n\n return { config, warnings };\n };\n\n public readConfig: (dir?: string) => ReadConfigResult = memoize(this._readConfig);\n\n constructor(\n private depResolver: DependencyResolverMain,\n private logger: Logger,\n private cloud: CloudMain\n ) {}\n\n async dependenciesGraphToLockfile(\n dependenciesGraph: DependenciesGraph,\n opts: {\n cacheDir: string;\n manifests: Record<string, ProjectManifest>;\n rootDir: string;\n registries?: Registries;\n proxyConfig?: PackageManagerProxyConfig;\n networkConfig?: PackageManagerNetworkConfig;\n }\n ) {\n await initLockfileDepsGraphConverter();\n const registries = opts.registries ?? new Registries(new Registry('https://node-registry.bit.cloud', false), {});\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { generateResolverAndFetcher } = require('./lynx') as typeof LynxModule;\n const { resolve } = await generateResolverAndFetcher({\n ...opts,\n registries,\n });\n const graphLockfile: LockfileFile = await convertGraphToLockfile(dependenciesGraph, {\n ...opts,\n resolve,\n });\n const nodeApi = loadNodeApi();\n // Merge the graph-derived subset into any existing wanted lockfile rather than\n // overwriting. Only the importers, packages, and snapshots referenced by the\n // imported components' subgraph are re-stated here; every other workspace dep's\n // locked version must be preserved so pnpm doesn't re-resolve it to a newer\n // registry version.\n const existingLockfile = await nodeApi.readLockfile<LockfileFile>({ dir: opts.rootDir });\n const mergedLockfile = existingLockfile\n ? mergeGraphLockfileIntoExisting(existingLockfile, graphLockfile)\n : graphLockfile;\n Object.assign(mergedLockfile, {\n bit: {\n ...(mergedLockfile as LockfileFile & { bit?: Record<string, unknown> }).bit,\n restoredFromModel: true,\n },\n });\n await nodeApi.writeLockfile({ dir: opts.rootDir, lockfile: mergedLockfile });\n const lockfilePath = join(opts.rootDir, 'pnpm-lock.yaml');\n this.logger.debug(`generated a lockfile from dependencies graph at ${lockfilePath}`);\n if (process.env.DEPS_GRAPH_LOG) {\n // eslint-disable-next-line no-console\n console.log(`generated a lockfile from dependencies graph at ${lockfilePath}`);\n }\n }\n\n async install(\n { rootDir, manifests }: InstallationContext,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<InstallResult> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { install } = require('./lynx');\n\n const { registries, proxyConfig, networkConfig, config } = await this.logger.profileAsync(\n 'install.pnpm.readConfig',\n async () => {\n const readRegistries = await this.depResolver.getRegistries();\n const readProxyConfig = await this.depResolver.getProxyConfig();\n const readNetworkConfig = await this.depResolver.getNetworkConfig();\n const { config: readConfigResult } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n return {\n registries: readRegistries,\n proxyConfig: readProxyConfig,\n networkConfig: readNetworkConfig,\n config: readConfigResult,\n };\n }\n );\n if (\n installOptions.dependenciesGraph &&\n (installOptions.rootComponents || installOptions.rootComponentsForCapsules)\n ) {\n try {\n await this.dependenciesGraphToLockfile(installOptions.dependenciesGraph, {\n manifests,\n rootDir,\n registries,\n proxyConfig,\n networkConfig,\n cacheDir: config.cacheDir,\n });\n } catch (error) {\n this.logger.error((error as Error).message);\n if (installOptions.failOnDependenciesGraphError) throw error;\n }\n }\n\n this.logger.debug(`running installation in root dir ${rootDir}`);\n this.logger.debug('components manifests for installation', manifests);\n if (!installOptions.hidePackageManagerOutput) {\n // this.logger.setStatusLine('installing dependencies using pnpm');\n // turn off the logger because it interrupts the pnpm output\n // this.logger.console('-------------------------PNPM OUTPUT-------------------------');\n this.logger.off();\n }\n if (!installOptions.useNesting && installOptions.rootComponentsForCapsules) {\n manifests = await extendWithComponentsFromDir(rootDir, manifests);\n }\n if (installOptions.nmSelfReferences) {\n Object.values(manifests).forEach((manifest) => {\n if (manifest.name) {\n manifest.devDependencies = {\n [manifest.name]: 'link:.',\n ...manifest.devDependencies,\n };\n }\n });\n }\n this.modulesManifestCache.delete(rootDir);\n const hoistPattern = resolveHoistPattern(installOptions.hoistPatterns, config.hoistPattern);\n // packages this process already loaded modules from must stay requireable even if this install\n // re-keys them to a new peer hash - see preserve-loaded-virtual-store-dirs.ts\n const loadedVirtualStoreDirs = snapshotLoadedVirtualStoreDirs(rootDir);\n const installResult = await this.logger.profileAsync<{\n dependenciesChanged: boolean;\n rebuild: RebuildFn;\n storeDir: string;\n depsRequiringBuild?: DepPath[];\n }>('install.pnpm.core', () =>\n install(\n rootDir,\n manifests,\n config.storeDir,\n config.cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n {\n autoInstallPeers: installOptions.autoInstallPeers ?? true,\n dedupePeers: installOptions.dedupePeers ?? true,\n enableModulesDir: installOptions.enableModulesDir,\n engineStrict: installOptions.engineStrict ?? config.engineStrict,\n excludeLinksFromLockfile: installOptions.excludeLinksFromLockfile,\n lockfileOnly: installOptions.lockfileOnly,\n minimumReleaseAge: installOptions.minimumReleaseAge,\n minimumReleaseAgeExclude: installOptions.minimumReleaseAgeExclude,\n neverBuiltDependencies: installOptions.neverBuiltDependencies,\n allowScripts: installOptions.allowScripts,\n dangerouslyAllowAllScripts: installOptions.dangerouslyAllowAllScripts,\n nodeLinker: installOptions.nodeLinker,\n nodeVersion: installOptions.nodeVersion ?? config.nodeVersion,\n includeOptionalDeps: installOptions.includeOptionalDeps,\n ignorePackageManifest: installOptions.ignorePackageManifest,\n dedupeInjectedDeps: installOptions.dedupeInjectedDeps ?? false,\n dryRun: installOptions.dependenciesGraph == null && installOptions.dryRun,\n overrides: installOptions.overrides,\n hoistPattern,\n publicHoistPattern: config.shamefullyHoist\n ? ['*']\n : ['@eslint/plugin-*', '*eslint-plugin*', '@prettier/plugin-*', '*prettier-plugin-*'],\n hoistWorkspacePackages: installOptions.hoistWorkspacePackages ?? false,\n hoistInjectedDependencies: installOptions.hoistInjectedDependencies,\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n enableGlobalVirtualStore: installOptions.enableGlobalVirtualStore,\n globalVirtualStoreDir: installOptions.globalVirtualStoreDir,\n patchedDependencies: installOptions.patchedDependencies,\n packageExtensions: installOptions.packageExtensions,\n preferOffline: installOptions.preferOffline,\n rootComponents: installOptions.rootComponents,\n rootComponentsForCapsules: installOptions.rootComponentsForCapsules,\n sideEffectsCacheRead: installOptions.sideEffectsCache ?? true,\n sideEffectsCacheWrite: installOptions.sideEffectsCache ?? true,\n pnpmHomeDir: config.pnpmHomeDir,\n updateAll: installOptions.updateAll,\n hidePackageManagerOutput: installOptions.hidePackageManagerOutput,\n reportOptions: {\n appendOnly: installOptions.optimizeReportForNonTerminal,\n outputStream: process.env.BIT_CLI_SERVER_NO_TTY ? new ServerSendOutStream() : undefined,\n throttleProgress: installOptions.throttleProgress,\n hideProgressPrefix: installOptions.hideProgressPrefix,\n hideLifecycleOutput: installOptions.hideLifecycleOutput,\n peerDependencyRules: installOptions.peerDependencyRules,\n },\n returnListOfDepsRequiringBuild: installOptions.returnListOfDepsRequiringBuild,\n forcedHarmonyVersion: installOptions.forcedHarmonyVersion,\n },\n this.logger\n )\n );\n const { dependenciesChanged, rebuild, storeDir, depsRequiringBuild } = installResult;\n if (!installOptions.hidePackageManagerOutput) {\n this.logger.on();\n // Make a divider row to improve output\n // this.logger.console('-------------------------END PNPM OUTPUT-------------------------');\n // this.logger.consoleSuccess('installing dependencies using pnpm');\n }\n await restoreRemovedLoadedVirtualStoreDirs(loadedVirtualStoreDirs, this.logger);\n return { dependenciesChanged, rebuild, storeDir, depsRequiringBuild };\n }\n\n async getPeerDependencyIssues(\n rootDir: string,\n manifests: Record<string, ProjectManifest>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<PeerDependencyIssuesByProjects> {\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const registries = await this.depResolver.getRegistries();\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const lynx = require('./lynx');\n const { config } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n return lynx.getPeerDependencyIssues(manifests, {\n storeDir: config.storeDir,\n cacheDir: config.cacheDir,\n proxyConfig,\n registries,\n rootDir,\n networkConfig,\n overrides: installOptions.overrides,\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n });\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { resolveRemoteVersion } = require('./lynx');\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { config } = await this.readConfig(options.packageManagerConfigRootDir);\n return resolveRemoteVersion(packageName, {\n rootDir: options.rootDir,\n cacheDir: config.cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n fullMetadata: options.fullMetadata,\n });\n }\n\n async getProxyConfig?(): Promise<PackageManagerProxyConfig> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getProxyConfig } = require('./get-proxy-config');\n const { config } = await this.readConfig();\n return getProxyConfig(config);\n }\n\n async getNetworkConfig?(): Promise<PackageManagerNetworkConfig> {\n const { config } = await this.readConfig();\n const configuredUserAgent = config.userAgent;\n if (!configuredUserAgent && !this.username) {\n this.username = (await this.cloud.getCurrentUser())?.username ?? 'anonymous';\n }\n const result: PackageManagerNetworkConfig = {\n userAgent: configuredUserAgent ?? `bit user/${this.username}`,\n };\n // The resolved config carries the engine's defaults for the numeric\n // network settings, and anything returned here overrides Bit's global\n // network config in the dependency resolver's merge, so only settings the\n // user explicitly configured may pass through.\n const explicitSettings = new Set(config.explicitSettings);\n if (config.maxSockets != null && explicitSettings.has('maxSockets')) {\n result.maxSockets = config.maxSockets;\n }\n if (config.networkConcurrency != null && explicitSettings.has('networkConcurrency')) {\n result.networkConcurrency = config.networkConcurrency;\n }\n if (config.fetchRetries != null && explicitSettings.has('fetchRetries')) {\n result.fetchRetries = config.fetchRetries;\n }\n if (config.fetchTimeout != null && explicitSettings.has('fetchTimeout')) {\n result.fetchTimeout = config.fetchTimeout;\n }\n if (config.fetchRetryMaxtimeout != null && explicitSettings.has('fetchRetryMaxtimeout')) {\n result.fetchRetryMaxtimeout = config.fetchRetryMaxtimeout;\n }\n if (config.fetchRetryMintimeout != null && explicitSettings.has('fetchRetryMintimeout')) {\n result.fetchRetryMintimeout = config.fetchRetryMintimeout;\n }\n // Unlike the numeric settings above, strictSsl/ca/cert/key are optional\n // in the engine's projection and populated only when explicitly\n // configured (the engine applies its own defaults at client-build\n // time), so presence is already the explicit gate.\n if (config.strictSsl != null) {\n result.strictSSL = config.strictSsl;\n }\n if (config.ca != null) {\n result.ca = config.ca;\n }\n if (config.cert != null) {\n result.cert = config.cert;\n }\n if (config.key != null) {\n result.key = config.key;\n }\n return result;\n }\n\n async getRegistries(): Promise<Registries> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getRegistries } = require('./get-registries');\n const { config } = await this.readConfig();\n const pnpmRegistry = await getRegistries(config);\n const defaultRegistry = new Registry(\n pnpmRegistry.default.uri,\n pnpmRegistry.default.alwaysAuth,\n pnpmRegistry.default.authHeaderValue,\n pnpmRegistry.default.originalAuthType,\n pnpmRegistry.default.originalAuthValue\n );\n\n const pnpmScoped = omit(pnpmRegistry, ['default']);\n const scopesRegistries: Record<string, Registry> = Object.keys(pnpmScoped).reduce((acc, scopedRegName) => {\n const scopedReg = pnpmScoped[scopedRegName];\n const name = scopedRegName.replace('@', '');\n acc[name] = new Registry(\n scopedReg.uri,\n scopedReg.alwaysAuth,\n scopedReg.authHeaderValue,\n scopedReg.originalAuthType,\n scopedReg.originalAuthValue\n );\n return acc;\n }, {});\n\n // Add bit registry server if not exist\n if (!scopesRegistries.bit) {\n scopesRegistries.bit = new Registry(BIT_CLOUD_REGISTRY, true);\n }\n\n return new Registries(defaultRegistry, scopesRegistries);\n }\n\n async getInjectedDirs(rootDir: string, componentDir: string, packageName: string): Promise<string[]> {\n const modulesState = await this._readModulesManifest(rootDir);\n if (modulesState?.injectedDeps == null) return [];\n return modulesState.injectedDeps[`node_modules/${packageName}`] ?? modulesState.injectedDeps[componentDir] ?? [];\n }\n\n async _readModulesManifest(lockfileDir: string): Promise<ModulesManifest | undefined> {\n if (this.modulesManifestCache.has(lockfileDir)) {\n return this.modulesManifestCache.get(lockfileDir);\n }\n const nodeApi = loadNodeApi();\n const modulesManifest = (await nodeApi.readModulesManifest(\n join(lockfileDir, 'node_modules')\n )) as ModulesManifest | null;\n if (modulesManifest) {\n this.modulesManifestCache.set(lockfileDir, modulesManifest);\n }\n return modulesManifest ?? undefined;\n }\n\n getWorkspaceDepsOfBitRoots(manifests: ProjectManifest[]): Record<string, string> {\n return Object.fromEntries(manifests.map((manifest) => [manifest.name, 'workspace:*']));\n }\n\n /**\n * pnpm's own shared `<storeDir>/links`.\n *\n * Bit used to carve out a private `<storeDir>/bit-links/<installationId>` root, because the core\n * aspects had to be mirrored at the root of the virtual store for the published envs to reach\n * them, and such a mirror cannot be shared with the pnpm CLI or another bit installation. They now\n * go to the project-local hoisted directory instead (see\n * `DependencyLinker.linkCoreAspectsToHoistedStore`), so nothing is written inside the store and\n * the shared directory can be used - slots are reused across bit versions and with every other\n * pnpm project, upgrades stay incremental, and `pnpm store prune` can account for them.\n */\n async getGlobalVirtualStoreDir({\n packageManagerConfigRootDir,\n }: {\n packageManagerConfigRootDir?: string;\n installationId: string;\n }): Promise<string> {\n const { config } = await this.readConfig(packageManagerConfigRootDir);\n return config.globalVirtualStoreDir ?? join(config.storeDir, 'links');\n }\n\n async pruneModules(rootDir: string): Promise<void> {\n return pnpmPruneModules(rootDir);\n }\n\n async findUsages(depName: string, opts: { lockfileDir: string; depth?: number }): Promise<string> {\n const nodeApi = loadNodeApi();\n const trees = await nodeApi.getDependents({\n dir: opts.lockfileDir,\n packages: [depName],\n // The generated importers under `.bit_roots` wire the workspace\n // together; they are not somewhere a user's dependency comes from.\n excludeProjectPatterns: [`*${BIT_ROOTS_DIR}/*`],\n // The engine walks the lockfile, which knows package names. Ask it\n // for the field that carries the component id so the tree can be\n // rendered in Bit's terms instead.\n manifestFields: ['componentId'],\n });\n applyComponentIdNames(trees);\n return nodeApi.renderDependents(trees, { depth: opts.depth, long: false });\n }\n\n /**\n * Calculating the dependencies graph of a given component using the lockfile.\n */\n async calcDependenciesGraph(opts: CalcDepsGraphOptions): Promise<void> {\n await initLockfileDepsGraphConverter();\n const nodeApi = loadNodeApi();\n const originalLockfile = await nodeApi.readLockfile<LockfileFile>({ dir: opts.rootDir });\n if (!originalLockfile?.importers) {\n return;\n }\n const originalImporters = originalLockfile.importers as Record<string, LockfileFileImporter>;\n for (const { componentRootDir, componentRelativeDir, pkgName, component } of opts.components) {\n const componentImporterId = (componentRelativeDir || '.') as ProjectId;\n let compRootDir: string | undefined;\n if (componentRootDir && !originalImporters[componentRootDir] && componentRootDir.includes('@')) {\n compRootDir = componentRootDir.split('@')[0];\n } else {\n compRootDir = componentRootDir;\n }\n if (!originalImporters[componentImporterId]) {\n continue;\n }\n const hasComponentRootImporter = compRootDir != null && Boolean(originalImporters[compRootDir]);\n const filterByImporterIds = [componentImporterId];\n if (hasComponentRootImporter && compRootDir !== componentImporterId) {\n filterByImporterIds.push(compRootDir as ProjectId);\n }\n // Only clone the importers that will be mutated, reuse the rest of the lockfile as-is\n const clonedImporters: Record<string, LockfileFileImporter> = {};\n for (const importerId of filterByImporterIds) {\n if (originalImporters[importerId]) {\n clonedImporters[importerId] = structuredClone(originalImporters[importerId]);\n }\n }\n const lockfile = {\n ...originalLockfile,\n importers: { ...originalImporters, ...clonedImporters },\n };\n for (const importerId of filterByImporterIds) {\n const importer = lockfile.importers[importerId];\n if (importer == null) continue;\n for (const workspacePkgName of opts.componentIdByPkgName.keys()) {\n if (workspacePkgName === pkgName) continue;\n // In the component's own importer, an injected sibling (a \"file:\"\n // ref) is a real direct dependency of this component — the graph\n // converter rewrites it to the component's semver id. Entries in\n // any other importer (e.g. the capsule/workspace root) merely\n // wire the workspace together and must not leak into this\n // component's graph.\n if (importerId === componentImporterId) {\n const ref =\n importer.dependencies?.[workspacePkgName] ??\n importer.devDependencies?.[workspacePkgName] ??\n importer.optionalDependencies?.[workspacePkgName];\n if (ref?.version?.startsWith('file:')) continue;\n }\n for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies', 'dependenciesMeta']) {\n delete importer[depType]?.[workspacePkgName];\n }\n }\n }\n // Filters the lockfile so that it only includes packages related to the given component.\n const partialLockfile = nodeApi.filterLockfileByImporters<LockfileFile>(lockfile, filterByImporterIds);\n const graph = convertLockfileToGraph(partialLockfile, {\n ...opts,\n componentRootDir: hasComponentRootImporter ? compRootDir : undefined,\n componentRelativeDir: componentImporterId,\n pkgName,\n });\n component.state._consumer.dependenciesGraph = graph;\n }\n }\n}\n\nfunction resolveHoistPattern(hoistPatternsFromBitConfig?: string[], hoistPatternFromPnpmConfig?: string[]): string[] {\n if (hoistPatternsFromBitConfig == null) return hoistPatternFromPnpmConfig ?? ['*'];\n if (\n isDefaultHoistPattern(hoistPatternsFromBitConfig) &&\n hoistPatternFromPnpmConfig &&\n !isDefaultHoistPattern(hoistPatternFromPnpmConfig)\n ) {\n return hoistPatternFromPnpmConfig;\n }\n return hoistPatternsFromBitConfig;\n}\n\nfunction isDefaultHoistPattern(hoistPattern: string[]): boolean {\n return hoistPattern.length === 1 && hoistPattern[0] === '*';\n}\n\n/**\n * Rename every node the engine resolved to a Bit component after its\n * component id, in place. The engine has no notion of one — it reports the\n * package name from the lockfile — so it is asked for the `componentId`\n * field of each node's manifest and Bit turns that into the display name,\n * which the renderer then prefers over the package name.\n */\nfunction applyComponentIdNames(trees: DependentsTree[]): void {\n const rename = (node: DependentsTree | DependentNode) => {\n const componentId = node.manifest?.componentId as { scope?: string; name?: string } | undefined;\n if (componentId?.scope && componentId.name) {\n node.displayName = `${componentId.scope}/${componentId.name}`;\n }\n node.dependents?.forEach(rename);\n };\n trees.forEach(rename);\n}\n\n// Merge a graph-derived lockfile into an existing wanted lockfile. The graph lockfile is\n// authoritative for keys it contains (a re-imported component can change the resolution\n// of its own deps), but must not erase packages, snapshots, or importer entries that are\n// only known to the existing lockfile. convertGraphToLockfile emits importer entries for\n// every workspace project, but only populates deps for manifests whose keys appear in the\n// graph's root edge — so per-importer overlay (instead of overwrite) is what keeps\n// unrelated workspace importers intact.\n//\n// Packages and snapshots are deep-merged per key so that pnpm-managed metadata the graph\n// doesn't round-trip (e.g. `optional`, `transitivePeerDependencies`, `dev`) survives on\n// entries the graph also knows about.\nfunction mergeGraphLockfileIntoExisting(existing: LockfileFile, graph: LockfileFile): LockfileFile {\n const importers: NonNullable<LockfileFile['importers']> = { ...existing.importers };\n for (const [importerId, graphImporter] of Object.entries(graph.importers ?? {})) {\n const existingImporter = importers[importerId];\n if (!existingImporter) {\n importers[importerId] = graphImporter;\n continue;\n }\n importers[importerId] = {\n ...existingImporter,\n dependencies: { ...existingImporter.dependencies, ...graphImporter.dependencies },\n devDependencies: { ...existingImporter.devDependencies, ...graphImporter.devDependencies },\n optionalDependencies: {\n ...existingImporter.optionalDependencies,\n ...graphImporter.optionalDependencies,\n },\n };\n }\n const existingBit = (existing as LockfileFile & { bit?: { depsRequiringBuild?: string[] } }).bit;\n const graphBit = (graph as LockfileFile & { bit?: { depsRequiringBuild?: string[] } }).bit;\n const mergedDepsRequiringBuild = Array.from(\n new Set([...(existingBit?.depsRequiringBuild ?? []), ...(graphBit?.depsRequiringBuild ?? [])])\n ).sort();\n const merged = {\n ...existing,\n // Keep the existing lockfile's schema version. convertGraphToLockfile hardcodes\n // lockfileVersion: '9.0', so preferring graph.lockfileVersion would silently\n // downgrade workspaces whose pnpm already writes a newer schema and trigger a\n // full rewrite on the next install.\n lockfileVersion: existing.lockfileVersion ?? graph.lockfileVersion,\n importers,\n packages: mergeEntryRecords(existing.packages, graph.packages),\n snapshots: mergeEntryRecords(existing.snapshots, graph.snapshots),\n };\n if (existingBit || graphBit) {\n (merged as LockfileFile & { bit?: Record<string, unknown> }).bit = {\n ...existingBit,\n ...graphBit,\n depsRequiringBuild: mergedDepsRequiringBuild,\n };\n }\n pruneUnreachableLockfileEntries(merged);\n return merged;\n}\n\nfunction mergeEntryRecords<T extends object>(\n existing: Record<string, T> | undefined,\n graph: Record<string, T> | undefined\n): Record<string, T> | undefined {\n if (!existing) return graph;\n if (!graph) return existing;\n const merged: Record<string, T> = { ...existing };\n for (const [key, graphEntry] of Object.entries(graph)) {\n const existingEntry = merged[key];\n merged[key] = existingEntry ? ({ ...existingEntry, ...graphEntry } as T) : graphEntry;\n }\n return merged;\n}\n\nfunction pruneUnreachableLockfileEntries(lockfile: LockfileFile): void {\n const reachablePackages = new Set<string>();\n const reachableSnapshots = new Set<string>();\n // An explicit stack: deep dependency chains would overflow the call\n // stack with a recursive walk.\n const stack: string[] = [];\n const visit = (depPath: string) => {\n stack.push(depPath);\n while (stack.length > 0) {\n const current = stack.pop()!;\n if (reachableSnapshots.has(current)) continue;\n reachableSnapshots.add(current);\n reachablePackages.add(removePeerSuffix(current));\n const snapshot = lockfile.snapshots?.[current];\n if (!snapshot) continue;\n for (const depType of ['dependencies', 'optionalDependencies'] as const) {\n for (const [name, ref] of Object.entries(snapshot[depType] ?? {}) as Array<[string, string]>) {\n if (ref.startsWith('link:') || ref.startsWith('file:')) continue;\n stack.push(`${name}@${ref}`);\n }\n }\n }\n };\n for (const importer of Object.values(lockfile.importers ?? {})) {\n for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies'] as const) {\n for (const [name, dep] of Object.entries(importer[depType] ?? {}) as Array<\n [string, { version?: string } | string]\n >) {\n const version = typeof dep === 'string' ? dep : dep.version;\n if (!version || version.startsWith('link:') || version.startsWith('file:')) continue;\n visit(`${name}@${version}`);\n }\n }\n }\n for (const pkgId of Object.keys(lockfile.packages ?? {})) {\n if (!reachablePackages.has(pkgId)) {\n delete lockfile.packages![pkgId];\n }\n }\n for (const depPath of Object.keys(lockfile.snapshots ?? {})) {\n if (!reachableSnapshots.has(depPath)) {\n delete lockfile.snapshots![depPath];\n }\n }\n const bitAttrs = (lockfile as LockfileFile & { bit?: { depsRequiringBuild?: string[] } }).bit;\n if (bitAttrs?.depsRequiringBuild) {\n bitAttrs.depsRequiringBuild = bitAttrs.depsRequiringBuild.filter((depPath) =>\n reachablePackages.has(removePeerSuffix(depPath))\n );\n }\n}\n\nfunction removePeerSuffix(depPath: string): string {\n const suffixStart = depPath.indexOf('(');\n return suffixStart === -1 ? depPath : depPath.slice(0, suffixStart);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -62,7 +62,9 @@ function createPackageManager(config) {
|
|
|
62
62
|
getProxyConfig: async () => undefined,
|
|
63
63
|
getNetworkConfig: async () => undefined
|
|
64
64
|
}, {
|
|
65
|
-
error: () => {}
|
|
65
|
+
error: () => {},
|
|
66
|
+
profile: () => {},
|
|
67
|
+
profileAsync: async (_id, fn) => fn()
|
|
66
68
|
}, {
|
|
67
69
|
getCurrentUser: async () => ({
|
|
68
70
|
username: 'test-user'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chai","data","require","_pnpm","describe","it","packageManager","createPackageManager","networkConfig","getNetworkConfig","expect","to","include","userAgent","restoreError","Error","dependenciesGraphToLockfile","thrown","install","rootDir","manifests","componentDirectoryMap","dependenciesGraph","rootComponents","failOnDependenciesGraphError","error","equal","config","PnpmPackageManager","getRegistries","undefined","getProxyConfig","getCurrentUser","username","readConfig","warnings"],"sources":["pnpm.package-manager.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport type { ResolvedConfig } from '@pnpm/napi';\nimport { PnpmPackageManager } from './pnpm.package-manager';\n\ndescribe('PnpmPackageManager.getNetworkConfig', () => {\n it('uses the Bit user agent when no user agent is configured', async () => {\n const packageManager = createPackageManager({});\n\n const networkConfig = await packageManager.getNetworkConfig?.();\n expect(networkConfig).to.include({\n userAgent: 'bit user/test-user',\n });\n });\n\n it('uses the explicitly configured user agent', async () => {\n const packageManager = createPackageManager({\n userAgent: 'custom-user-agent',\n });\n\n const networkConfig = await packageManager.getNetworkConfig?.();\n expect(networkConfig).to.include({\n userAgent: 'custom-user-agent',\n });\n });\n});\n\ndescribe('PnpmPackageManager.install', () => {\n it('rethrows dependency graph conversion errors when strict restoration is requested', async () => {\n const packageManager = createPackageManager({});\n const restoreError = new Error('failed to restore lockfile');\n packageManager.dependenciesGraphToLockfile = async () => {\n throw restoreError;\n };\n\n let thrown: unknown;\n try {\n await packageManager.install(\n {\n rootDir: '/tmp/workspace',\n manifests: {},\n componentDirectoryMap: {} as any,\n },\n {\n dependenciesGraph: {} as any,\n rootComponents: true,\n failOnDependenciesGraphError: true,\n }\n );\n } catch (error) {\n thrown = error;\n }\n\n expect(thrown).to.equal(restoreError);\n });\n});\n\nfunction createPackageManager(config: Partial<ResolvedConfig>) {\n const packageManager = new PnpmPackageManager(\n {\n getRegistries: async () => undefined,\n getProxyConfig: async () => undefined,\n getNetworkConfig: async () => undefined,\n } as any,\n {\n error: () => {},\n } as any,\n {\n getCurrentUser: async () => ({ username: 'test-user' }),\n } as any\n );\n packageManager.readConfig = async () => ({\n config: config as ResolvedConfig,\n warnings: [],\n });\n return packageManager;\n}\n"],"mappings":";;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,MAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEAG,QAAQ,CAAC,qCAAqC,EAAE,MAAM;EACpDC,EAAE,CAAC,0DAA0D,EAAE,YAAY;IACzE,MAAMC,cAAc,GAAGC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAMC,aAAa,GAAG,MAAMF,cAAc,CAACG,gBAAgB,GAAG,CAAC;IAC/D,IAAAC,cAAM,EAACF,aAAa,CAAC,CAACG,EAAE,CAACC,OAAO,CAAC;MAC/BC,SAAS,EAAE;IACb,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFR,EAAE,CAAC,2CAA2C,EAAE,YAAY;IAC1D,MAAMC,cAAc,GAAGC,oBAAoB,CAAC;MAC1CM,SAAS,EAAE;IACb,CAAC,CAAC;IAEF,MAAML,aAAa,GAAG,MAAMF,cAAc,CAACG,gBAAgB,GAAG,CAAC;IAC/D,IAAAC,cAAM,EAACF,aAAa,CAAC,CAACG,EAAE,CAACC,OAAO,CAAC;MAC/BC,SAAS,EAAE;IACb,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFT,QAAQ,CAAC,4BAA4B,EAAE,MAAM;EAC3CC,EAAE,CAAC,kFAAkF,EAAE,YAAY;IACjG,MAAMC,cAAc,GAAGC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAMO,YAAY,GAAG,IAAIC,KAAK,CAAC,4BAA4B,CAAC;IAC5DT,cAAc,CAACU,2BAA2B,GAAG,YAAY;MACvD,MAAMF,YAAY;IACpB,CAAC;IAED,IAAIG,MAAe;IACnB,IAAI;MACF,MAAMX,cAAc,CAACY,OAAO,CAC1B;QACEC,OAAO,EAAE,gBAAgB;QACzBC,SAAS,EAAE,CAAC,CAAC;QACbC,qBAAqB,EAAE,CAAC;MAC1B,CAAC,EACD;QACEC,iBAAiB,EAAE,CAAC,CAAQ;QAC5BC,cAAc,EAAE,IAAI;QACpBC,4BAA4B,EAAE;MAChC,CACF,CAAC;IACH,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdR,MAAM,GAAGQ,KAAK;IAChB;IAEA,IAAAf,cAAM,EAACO,MAAM,CAAC,CAACN,EAAE,CAACe,KAAK,CAACZ,YAAY,CAAC;EACvC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,SAASP,oBAAoBA,CAACoB,MAA+B,EAAE;EAC7D,MAAMrB,cAAc,GAAG,KAAIsB,0BAAkB,EAC3C;IACEC,aAAa,EAAE,MAAAA,CAAA,KAAYC,SAAS;IACpCC,cAAc,EAAE,MAAAA,CAAA,KAAYD,SAAS;IACrCrB,gBAAgB,EAAE,MAAAA,CAAA,KAAYqB;EAChC,CAAC,EACD;IACEL,KAAK,EAAEA,CAAA,KAAM,CAAC;
|
|
1
|
+
{"version":3,"names":["_chai","data","require","_pnpm","describe","it","packageManager","createPackageManager","networkConfig","getNetworkConfig","expect","to","include","userAgent","restoreError","Error","dependenciesGraphToLockfile","thrown","install","rootDir","manifests","componentDirectoryMap","dependenciesGraph","rootComponents","failOnDependenciesGraphError","error","equal","config","PnpmPackageManager","getRegistries","undefined","getProxyConfig","profile","profileAsync","_id","fn","getCurrentUser","username","readConfig","warnings"],"sources":["pnpm.package-manager.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport type { ResolvedConfig } from '@pnpm/napi';\nimport { PnpmPackageManager } from './pnpm.package-manager';\n\ndescribe('PnpmPackageManager.getNetworkConfig', () => {\n it('uses the Bit user agent when no user agent is configured', async () => {\n const packageManager = createPackageManager({});\n\n const networkConfig = await packageManager.getNetworkConfig?.();\n expect(networkConfig).to.include({\n userAgent: 'bit user/test-user',\n });\n });\n\n it('uses the explicitly configured user agent', async () => {\n const packageManager = createPackageManager({\n userAgent: 'custom-user-agent',\n });\n\n const networkConfig = await packageManager.getNetworkConfig?.();\n expect(networkConfig).to.include({\n userAgent: 'custom-user-agent',\n });\n });\n});\n\ndescribe('PnpmPackageManager.install', () => {\n it('rethrows dependency graph conversion errors when strict restoration is requested', async () => {\n const packageManager = createPackageManager({});\n const restoreError = new Error('failed to restore lockfile');\n packageManager.dependenciesGraphToLockfile = async () => {\n throw restoreError;\n };\n\n let thrown: unknown;\n try {\n await packageManager.install(\n {\n rootDir: '/tmp/workspace',\n manifests: {},\n componentDirectoryMap: {} as any,\n },\n {\n dependenciesGraph: {} as any,\n rootComponents: true,\n failOnDependenciesGraphError: true,\n }\n );\n } catch (error) {\n thrown = error;\n }\n\n expect(thrown).to.equal(restoreError);\n });\n});\n\nfunction createPackageManager(config: Partial<ResolvedConfig>) {\n const packageManager = new PnpmPackageManager(\n {\n getRegistries: async () => undefined,\n getProxyConfig: async () => undefined,\n getNetworkConfig: async () => undefined,\n } as any,\n {\n error: () => {},\n profile: () => {},\n profileAsync: async (_id: string, fn: () => Promise<unknown>) => fn(),\n } as any,\n {\n getCurrentUser: async () => ({ username: 'test-user' }),\n } as any\n );\n packageManager.readConfig = async () => ({\n config: config as ResolvedConfig,\n warnings: [],\n });\n return packageManager;\n}\n"],"mappings":";;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,MAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEAG,QAAQ,CAAC,qCAAqC,EAAE,MAAM;EACpDC,EAAE,CAAC,0DAA0D,EAAE,YAAY;IACzE,MAAMC,cAAc,GAAGC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAMC,aAAa,GAAG,MAAMF,cAAc,CAACG,gBAAgB,GAAG,CAAC;IAC/D,IAAAC,cAAM,EAACF,aAAa,CAAC,CAACG,EAAE,CAACC,OAAO,CAAC;MAC/BC,SAAS,EAAE;IACb,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFR,EAAE,CAAC,2CAA2C,EAAE,YAAY;IAC1D,MAAMC,cAAc,GAAGC,oBAAoB,CAAC;MAC1CM,SAAS,EAAE;IACb,CAAC,CAAC;IAEF,MAAML,aAAa,GAAG,MAAMF,cAAc,CAACG,gBAAgB,GAAG,CAAC;IAC/D,IAAAC,cAAM,EAACF,aAAa,CAAC,CAACG,EAAE,CAACC,OAAO,CAAC;MAC/BC,SAAS,EAAE;IACb,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFT,QAAQ,CAAC,4BAA4B,EAAE,MAAM;EAC3CC,EAAE,CAAC,kFAAkF,EAAE,YAAY;IACjG,MAAMC,cAAc,GAAGC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAMO,YAAY,GAAG,IAAIC,KAAK,CAAC,4BAA4B,CAAC;IAC5DT,cAAc,CAACU,2BAA2B,GAAG,YAAY;MACvD,MAAMF,YAAY;IACpB,CAAC;IAED,IAAIG,MAAe;IACnB,IAAI;MACF,MAAMX,cAAc,CAACY,OAAO,CAC1B;QACEC,OAAO,EAAE,gBAAgB;QACzBC,SAAS,EAAE,CAAC,CAAC;QACbC,qBAAqB,EAAE,CAAC;MAC1B,CAAC,EACD;QACEC,iBAAiB,EAAE,CAAC,CAAQ;QAC5BC,cAAc,EAAE,IAAI;QACpBC,4BAA4B,EAAE;MAChC,CACF,CAAC;IACH,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdR,MAAM,GAAGQ,KAAK;IAChB;IAEA,IAAAf,cAAM,EAACO,MAAM,CAAC,CAACN,EAAE,CAACe,KAAK,CAACZ,YAAY,CAAC;EACvC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,SAASP,oBAAoBA,CAACoB,MAA+B,EAAE;EAC7D,MAAMrB,cAAc,GAAG,KAAIsB,0BAAkB,EAC3C;IACEC,aAAa,EAAE,MAAAA,CAAA,KAAYC,SAAS;IACpCC,cAAc,EAAE,MAAAA,CAAA,KAAYD,SAAS;IACrCrB,gBAAgB,EAAE,MAAAA,CAAA,KAAYqB;EAChC,CAAC,EACD;IACEL,KAAK,EAAEA,CAAA,KAAM,CAAC,CAAC;IACfO,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;IACjBC,YAAY,EAAE,MAAAA,CAAOC,GAAW,EAAEC,EAA0B,KAAKA,EAAE,CAAC;EACtE,CAAC,EACD;IACEC,cAAc,EAAE,MAAAA,CAAA,MAAa;MAAEC,QAAQ,EAAE;IAAY,CAAC;EACxD,CACF,CAAC;EACD/B,cAAc,CAACgC,UAAU,GAAG,aAAa;IACvCX,MAAM,EAAEA,MAAwB;IAChCY,QAAQ,EAAE;EACZ,CAAC,CAAC;EACF,OAAOjC,cAAc;AACvB","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.1193/dist/pnpm.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.1193/dist/pnpm.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/pnpm",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1193",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/dependencies/pnpm",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.dependencies",
|
|
8
8
|
"name": "pnpm",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.1193"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@pnpm/napi": "12.1.0",
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
"@teambit/legacy.constants": "0.0.42",
|
|
29
29
|
"@teambit/pkg.entities.registry": "0.0.4",
|
|
30
30
|
"@teambit/harmony": "0.4.12",
|
|
31
|
-
"@teambit/legacy.logger": "0.0.57",
|
|
32
31
|
"@teambit/ui-foundation.ui.use-box.menu": "1.0.16",
|
|
33
|
-
"@teambit/dependency-resolver": "1.0.
|
|
34
|
-
"@teambit/objects": "0.0.
|
|
35
|
-
"@teambit/logger": "0.0.
|
|
36
|
-
"@teambit/cli": "0.0.
|
|
37
|
-
"@teambit/cloud": "0.0.
|
|
38
|
-
"@teambit/
|
|
39
|
-
"@teambit/
|
|
32
|
+
"@teambit/dependency-resolver": "1.0.1153",
|
|
33
|
+
"@teambit/objects": "0.0.660",
|
|
34
|
+
"@teambit/logger": "0.0.1480",
|
|
35
|
+
"@teambit/cli": "0.0.1387",
|
|
36
|
+
"@teambit/cloud": "0.0.1453",
|
|
37
|
+
"@teambit/legacy.logger": "0.0.59",
|
|
38
|
+
"@teambit/component": "1.0.1153",
|
|
39
|
+
"@teambit/ui": "1.0.1153"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/lodash": "4.14.165",
|