@teambit/pnpm 1.0.1124 → 1.0.1126

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.
Files changed (38) hide show
  1. package/.npmignore +18 -0
  2. package/dist/get-proxy-config.d.ts +2 -7
  3. package/dist/get-proxy-config.js +4 -7
  4. package/dist/get-proxy-config.js.map +1 -1
  5. package/dist/get-registries.d.ts +2 -2
  6. package/dist/get-registries.js +23 -93
  7. package/dist/get-registries.js.map +1 -1
  8. package/dist/load-pnpm-esm.cjs +19 -0
  9. package/dist/lockfile-deps-graph-converter.d.ts +17 -1
  10. package/dist/lockfile-deps-graph-converter.js +101 -32
  11. package/dist/lockfile-deps-graph-converter.js.map +1 -1
  12. package/dist/lockfile-deps-graph-converter.spec.js +200 -5
  13. package/dist/lockfile-deps-graph-converter.spec.js.map +1 -1
  14. package/dist/lynx.d.ts +53 -5
  15. package/dist/lynx.js +378 -322
  16. package/dist/lynx.js.map +1 -1
  17. package/dist/lynx.spec.d.ts +1 -0
  18. package/dist/lynx.spec.js +55 -0
  19. package/dist/lynx.spec.js.map +1 -0
  20. package/dist/pnpm-error-to-bit-error.d.ts +17 -2
  21. package/dist/pnpm-error-to-bit-error.js +7 -0
  22. package/dist/pnpm-error-to-bit-error.js.map +1 -1
  23. package/dist/pnpm-error-to-bit-error.spec.js +10 -11
  24. package/dist/pnpm-error-to-bit-error.spec.js.map +1 -1
  25. package/dist/pnpm-prune-modules.js +18 -8
  26. package/dist/pnpm-prune-modules.js.map +1 -1
  27. package/dist/pnpm.package-manager.d.ts +3 -4
  28. package/dist/pnpm.package-manager.js +168 -60
  29. package/dist/pnpm.package-manager.js.map +1 -1
  30. package/dist/pnpm.package-manager.spec.d.ts +1 -0
  31. package/dist/pnpm.package-manager.spec.js +48 -0
  32. package/dist/pnpm.package-manager.spec.js.map +1 -0
  33. package/dist/{preview-1785466791445.js → preview-1785520628900.js} +2 -2
  34. package/dist/read-config.d.ts +7 -1
  35. package/dist/read-config.js +22 -14
  36. package/dist/read-config.js.map +1 -1
  37. package/load-pnpm-esm.cjs +19 -0
  38. package/package.json +21 -33
@@ -1 +1 @@
1
- {"version":3,"names":["_dependencyResolver","data","require","_pkgEntities","_harmonyModules","_fs","_interopRequireDefault","_lodash","_lockfile","_modulesYaml","_reviewing","_list","_lockfile2","_legacy","_legacy2","_path","_lockfileDepsGraphConverter","_readConfig","_pnpmPruneModules","_lynx","e","__esModule","default","ownKeys","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","PnpmPackageManager","constructor","depResolver","logger","cloud","Map","dir","config","warnings","readConfig","fetchRetries","memoize","dependenciesGraphToLockfile","dependenciesGraph","opts","registries","Registries","Registry","resolve","generateResolverAndFetcher","graphLockfile","convertGraphToLockfile","existingLockfile","readWantedLockfile","rootDir","ignoreIncompatible","mergedLockfile","mergeGraphLockfileIntoExisting","convertLockfileObjectToLockfileFile","assign","bit","restoredFromModel","lockfilePath","join","writeLockfileFile","debug","process","env","DEPS_GRAPH_LOG","console","log","install","manifests","installOptions","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","packageManagerConfigRootDir","isFeatureEnabled","DEPS_GRAPH","rootComponents","rootComponentsForCapsules","cacheDir","error","message","hidePackageManagerOutput","off","useNesting","extendWithComponentsFromDir","nmSelfReferences","values","manifest","name","devDependencies","modulesManifestCache","delete","dependenciesChanged","rebuild","storeDir","depsRequiringBuild","autoInstallPeers","dedupePeers","enableModulesDir","engineStrict","excludeLinksFromLockfile","lockfileOnly","minimumReleaseAge","minimumReleaseAgeExclude","neverBuiltDependencies","allowScripts","dangerouslyAllowAllScripts","nodeLinker","nodeVersion","includeOptionalDeps","ignorePackageManifest","dedupeInjectedDeps","dryRun","overrides","hoistPattern","hoistPatterns","publicHoistPattern","shamefullyHoist","hoistWorkspacePackages","hoistInjectedDependencies","packageImportMethod","preferOffline","sideEffectsCacheRead","sideEffectsCache","sideEffectsCacheWrite","pnpmHomeDir","updateAll","reportOptions","appendOnly","optimizeReportForNonTerminal","BIT_CLI_SERVER_NO_TTY","stdout","ServerSendOutStream","undefined","throttleProgress","hideProgressPrefix","hideLifecycleOutput","peerDependencyRules","returnListOfDepsRequiringBuild","forcedHarmonyVersion","on","getPeerDependencyIssues","lynx","resolveRemoteVersion","packageName","options","fullMetadata","configuredUserAgent","rawConfig","username","getCurrentUser","result","userAgent","maxSockets","networkConcurrency","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","strictSSL","ca","cert","key","pnpmRegistry","defaultRegistry","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","omit","scopesRegistries","reduce","acc","scopedRegName","scopedReg","replace","BIT_CLOUD_REGISTRY","getInjectedDirs","componentDir","modulesState","_readModulesManifest","injectedDeps","lockfileDir","has","get","modulesManifest","readModulesManifest","set","getWorkspaceDepsOfBitRoots","fromEntries","map","pruneModules","pnpmPruneModules","findUsages","depName","lockfile","importerIds","importers","id","includes","BIT_ROOTS_DIR","projectPaths","importerInfoMap","importerId","pkgJson","tryReadPackageJson","version","trees","buildDependentsTree","include","dependencies","optionalDependencies","nameFormatter","scope","componentId","renderDependentsTree","depth","Infinity","long","calcDependenciesGraph","originalLockfile","componentRootDir","componentRelativeDir","pkgName","component","components","componentImporterId","compRootDir","split","hasComponentRootImporter","Boolean","filterByImporterIds","clonedImporters","structuredClone","depType","workspacePkgName","componentIdByPkgName","partialLockfile","filterLockfileByImporters","failOnMissingDependencies","skipped","Set","graph","convertLockfileToGraph","state","_consumer","exports","pkgDir","JSON","parse","fs","readFileSync","existing","graphImporter","entries","existingImporter","existingBit","graphBit","mergedDepsRequiringBuild","Array","from","sort","merged","lockfileVersion","packages","mergeEntryRecords","snapshots","graphEntry","existingEntry"],"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 { DEPS_GRAPH, isFeatureEnabled } from '@teambit/harmony.modules.feature-toggle';\nimport type { Logger } from '@teambit/logger';\nimport { type LockfileFile } from '@pnpm/lockfile.types';\nimport fs from 'fs';\nimport { memoize, omit } from 'lodash';\nimport type { PeerDependencyIssuesByProjects } from '@pnpm/core';\nimport { filterLockfileByImporters } from '@pnpm/lockfile.filtering';\nimport type { Config } from '@pnpm/config';\nimport { type ProjectId, type ProjectManifest, type DepPath } from '@pnpm/types';\nimport type { Modules } from '@pnpm/modules-yaml';\nimport { readModulesManifest } from '@pnpm/modules-yaml';\nimport type { ImporterInfo } from '@pnpm/reviewing.dependencies-hierarchy';\nimport { buildDependentsTree } from '@pnpm/reviewing.dependencies-hierarchy';\nimport { renderDependentsTree } from '@pnpm/list';\nimport {\n readWantedLockfile,\n writeLockfileFile,\n convertToLockfileFile as convertLockfileObjectToLockfileFile,\n} from '@pnpm/lockfile.fs';\nimport { BIT_ROOTS_DIR } from '@teambit/legacy.constants';\nimport { ServerSendOutStream } from '@teambit/legacy.logger';\nimport { join } from 'path';\nimport { convertLockfileToGraph, convertGraphToLockfile } from './lockfile-deps-graph-converter';\nimport { readConfig } from './read-config';\nimport { pnpmPruneModules } from './pnpm-prune-modules';\nimport type { RebuildFn } from './lynx';\nimport { generateResolverAndFetcher } 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: Config; warnings: string[] }>;\n\nexport class PnpmPackageManager implements PackageManager {\n readonly name = 'pnpm';\n readonly modulesManifestCache: Map<string, Modules> = 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 const registries = opts.registries ?? new Registries(new Registry('https://node-registry.bit.cloud', false), {});\n const { resolve } = await generateResolverAndFetcher({\n ...opts,\n registries,\n });\n const graphLockfile: LockfileFile = await convertGraphToLockfile(dependenciesGraph, {\n ...opts,\n resolve,\n });\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 readWantedLockfile(opts.rootDir, { ignoreIncompatible: true });\n const mergedLockfile = existingLockfile\n ? mergeGraphLockfileIntoExisting(convertLockfileObjectToLockfileFile(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 const lockfilePath = join(opts.rootDir, 'pnpm-lock.yaml');\n await writeLockfileFile(lockfilePath, mergedLockfile);\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 isFeatureEnabled(DEPS_GRAPH) &&\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 // If the lockfile could not be created for some reason, it will be created later during installation.\n this.logger.error((error as Error).message);\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 { 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: installOptions.hoistPatterns ?? config.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 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 process: process.env.BIT_CLI_SERVER_NO_TTY ? { ...process, stdout: 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 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.rawConfig['user-agent'];\n if (!configuredUserAgent && !this.username) {\n this.username = (await this.cloud.getCurrentUser())?.username ?? 'anonymous';\n }\n // We need to use config.rawConfig as it will only contain the settings defined by the user.\n // config contains default values of the settings when they are not defined by the user.\n const result: PackageManagerNetworkConfig = {\n userAgent: configuredUserAgent ?? `bit user/${this.username}`,\n };\n if (config.rawConfig['max-sockets'] != null) {\n result.maxSockets = config.rawConfig['max-sockets'];\n }\n if (config.rawConfig['network-concurrency'] != null) {\n result.networkConcurrency = config.rawConfig['network-concurrency'];\n }\n if (config.rawConfig['fetch-retries'] != null) {\n result.fetchRetries = config.rawConfig['fetch-retries'];\n }\n if (config.rawConfig['fetch-timeout'] != null) {\n result.fetchTimeout = config.rawConfig['fetch-timeout'];\n }\n if (config.rawConfig['fetch-retry-maxtimeout'] != null) {\n result.fetchRetryMaxtimeout = config.rawConfig['fetch-retry-maxtimeout'];\n }\n if (config.rawConfig['fetch-retry-mintimeout'] != null) {\n result.fetchRetryMintimeout = config.rawConfig['fetch-retry-mintimeout'];\n }\n if (config.rawConfig['strict-ssl'] != null) {\n result.strictSSL = config.rawConfig['strict-ssl'];\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<Modules | undefined> {\n if (this.modulesManifestCache.has(lockfileDir)) {\n return this.modulesManifestCache.get(lockfileDir);\n }\n const modulesManifest = await readModulesManifest(join(lockfileDir, 'node_modules'));\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 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 lockfile = await readWantedLockfile(opts.lockfileDir, { ignoreIncompatible: false });\n if (!lockfile) return '';\n const importerIds = Object.keys(lockfile.importers ?? {}).filter((id) => !id.includes(`${BIT_ROOTS_DIR}/`));\n const projectPaths = importerIds.map((id) => join(opts.lockfileDir, id));\n const importerInfoMap = new Map<string, ImporterInfo>();\n for (const importerId of importerIds) {\n const pkgJson = tryReadPackageJson(join(opts.lockfileDir, importerId));\n importerInfoMap.set(importerId, {\n name: pkgJson?.name ?? importerId,\n version: pkgJson?.version ?? '',\n });\n }\n const trees = await buildDependentsTree([depName], projectPaths, {\n include: {\n dependencies: true,\n devDependencies: true,\n optionalDependencies: true,\n },\n lockfileDir: opts.lockfileDir,\n registries: {\n default: 'https://registry.npmjs.org',\n },\n importerInfoMap,\n lockfile,\n nameFormatter({ manifest }) {\n if ('componentId' in manifest) {\n const { scope, name } = manifest.componentId as { scope: string; name: string };\n return `${scope}/${name}`;\n }\n return manifest.name;\n },\n });\n return renderDependentsTree(trees, {\n depth: opts.depth ?? Infinity,\n long: false,\n });\n }\n\n /**\n * Calculating the dependencies graph of a given component using the lockfile.\n */\n async calcDependenciesGraph(opts: CalcDepsGraphOptions): Promise<void> {\n const originalLockfile = await readWantedLockfile(opts.rootDir, { ignoreIncompatible: false });\n if (!originalLockfile) {\n return;\n }\n for (const { componentRootDir, componentRelativeDir, pkgName, component } of opts.components) {\n const componentImporterId = (componentRelativeDir || '.') as ProjectId;\n let compRootDir: string | undefined;\n if (componentRootDir && !originalLockfile.importers[componentRootDir] && componentRootDir.includes('@')) {\n compRootDir = componentRootDir.split('@')[0];\n } else {\n compRootDir = componentRootDir;\n }\n if (!originalLockfile.importers[componentImporterId]) {\n continue;\n }\n const hasComponentRootImporter =\n compRootDir != null && Boolean(originalLockfile.importers[compRootDir as ProjectId]);\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, any> = {};\n for (const importerId of filterByImporterIds) {\n if (originalLockfile.importers[importerId]) {\n clonedImporters[importerId] = structuredClone(originalLockfile.importers[importerId]);\n }\n }\n const lockfile = {\n ...originalLockfile,\n importers: { ...originalLockfile.importers, ...clonedImporters },\n };\n for (const importerId of filterByImporterIds) {\n for (const depType of [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n 'specifiers',\n 'dependenciesMeta',\n ]) {\n for (const workspacePkgName of opts.componentIdByPkgName.keys()) {\n if (workspacePkgName !== pkgName) {\n delete lockfile.importers[importerId]?.[depType]?.[workspacePkgName];\n }\n }\n }\n }\n // Filters the lockfile so that it only includes packages related to the given component.\n const partialLockfile = convertLockfileObjectToLockfileFile(\n filterLockfileByImporters(lockfile, filterByImporterIds, {\n include: {\n dependencies: true,\n devDependencies: true,\n optionalDependencies: true,\n },\n failOnMissingDependencies: false,\n skipped: new Set(),\n })\n );\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 tryReadPackageJson(pkgDir: string) {\n try {\n return JSON.parse(fs.readFileSync(join(pkgDir, 'package.json'), 'utf8'));\n } catch {\n return undefined;\n }\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 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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_dependencyResolver","data","require","_pkgEntities","_harmonyModules","_fs","_interopRequireDefault","_lodash","_lockfile","_depsInspection","_depsInspection2","_legacy","_legacy2","_path","_lockfileDepsGraphConverter","_readConfig","_pnpmPruneModules","e","__esModule","default","ownKeys","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","pnpmEsmPromise","loadPnpmEsm","loadEsm","lockfileFs","modulesYaml","PnpmPackageManager","constructor","depResolver","logger","cloud","Map","dir","config","warnings","readConfig","fetchRetries","memoize","dependenciesGraphToLockfile","dependenciesGraph","opts","initLockfileDepsGraphConverter","registries","Registries","Registry","generateResolverAndFetcher","resolve","graphLockfile","convertGraphToLockfile","readWantedLockfile","writeLockfileFile","convertToLockfileFile","convertLockfileObjectToLockfileFile","existingLockfile","rootDir","ignoreIncompatible","mergedLockfile","mergeGraphLockfileIntoExisting","assign","bit","restoredFromModel","lockfilePath","join","debug","process","env","DEPS_GRAPH_LOG","console","log","install","manifests","installOptions","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","packageManagerConfigRootDir","isFeatureEnabled","DEPS_GRAPH","rootComponents","rootComponentsForCapsules","cacheDir","error","message","hidePackageManagerOutput","off","useNesting","extendWithComponentsFromDir","nmSelfReferences","values","manifest","name","devDependencies","modulesManifestCache","delete","hoistPattern","resolveHoistPattern","hoistPatterns","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","preferOffline","sideEffectsCacheRead","sideEffectsCache","sideEffectsCacheWrite","pnpmHomeDir","updateAll","reportOptions","appendOnly","optimizeReportForNonTerminal","BIT_CLI_SERVER_NO_TTY","stdout","ServerSendOutStream","undefined","throttleProgress","hideProgressPrefix","hideLifecycleOutput","peerDependencyRules","returnListOfDepsRequiringBuild","forcedHarmonyVersion","on","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","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","omit","scopesRegistries","reduce","acc","scopedRegName","scopedReg","replace","BIT_CLOUD_REGISTRY","getInjectedDirs","componentDir","modulesState","_readModulesManifest","injectedDeps","lockfileDir","get","readModulesManifest","modulesManifest","set","getWorkspaceDepsOfBitRoots","fromEntries","map","pruneModules","pnpmPruneModules","findUsages","depName","lockfile","importerIds","importers","id","includes","BIT_ROOTS_DIR","projectPaths","importerInfoMap","importerId","pkgJson","tryReadPackageJson","version","trees","buildDependentsTree","include","dependencies","optionalDependencies","nameFormatter","scope","componentId","renderDependentsTree","depth","Infinity","long","calcDependenciesGraph","originalLockfile","componentRootDir","componentRelativeDir","pkgName","component","components","componentImporterId","compRootDir","split","hasComponentRootImporter","Boolean","filterByImporterIds","clonedImporters","structuredClone","importer","workspacePkgName","componentIdByPkgName","ref","startsWith","depType","partialLockfile","filterLockfileByImporters","failOnMissingDependencies","skipped","graph","convertLockfileToGraph","state","_consumer","exports","hoistPatternsFromBitConfig","hoistPatternFromPnpmConfig","isDefaultHoistPattern","pkgDir","JSON","parse","fs","readFileSync","existing","graphImporter","entries","existingImporter","existingBit","graphBit","mergedDepsRequiringBuild","Array","from","sort","merged","lockfileVersion","packages","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 { DEPS_GRAPH, isFeatureEnabled } from '@teambit/harmony.modules.feature-toggle';\nimport type { Logger } from '@teambit/logger';\nimport { type LockfileFile } from '@pnpm/lockfile.types';\nimport fs from 'fs';\nimport { memoize, omit } from 'lodash';\nimport { filterLockfileByImporters } from '@pnpm/lockfile.filtering';\nimport type { PeerDependencyIssuesByProjects, ResolvedConfig } from '@pnpm/napi';\nimport { type ProjectId, type ProjectManifest, type DepPath } from '@pnpm/types';\nimport type * as LockfileFs from '@pnpm/lockfile.fs';\nimport type { Modules } from '@pnpm/installing.modules-yaml';\nimport type * as ModulesYaml from '@pnpm/installing.modules-yaml';\nimport type { ImporterInfo } from '@pnpm/deps.inspection.tree-builder';\nimport { buildDependentsTree } from '@pnpm/deps.inspection.tree-builder';\nimport { renderDependentsTree } from '@pnpm/deps.inspection.list';\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 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[] }>;\ntype LockfileFsModule = typeof LockfileFs;\ntype ModulesYamlModule = typeof ModulesYaml;\nlet pnpmEsmPromise: Promise<{ lockfileFs: LockfileFsModule; modulesYaml: ModulesYamlModule }> | undefined;\n\nfunction loadPnpmEsm(): Promise<{ lockfileFs: LockfileFsModule; modulesYaml: ModulesYamlModule }> {\n pnpmEsmPromise ??= (async () => {\n const { loadEsm } = require('./load-pnpm-esm.cjs') as {\n loadEsm: () => Promise<{ lockfileFs: LockfileFsModule; modulesYaml: ModulesYamlModule }>;\n };\n const { lockfileFs, modulesYaml } = await loadEsm();\n return { lockfileFs, modulesYaml };\n })();\n return pnpmEsmPromise;\n}\n\nexport class PnpmPackageManager implements PackageManager {\n readonly name = 'pnpm';\n readonly modulesManifestCache: Map<string, Modules> = 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 {\n lockfileFs: { readWantedLockfile, writeLockfileFile, convertToLockfileFile: convertLockfileObjectToLockfileFile },\n } = await loadPnpmEsm();\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 readWantedLockfile(opts.rootDir, { ignoreIncompatible: true });\n const mergedLockfile = existingLockfile\n ? mergeGraphLockfileIntoExisting(convertLockfileObjectToLockfileFile(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 const lockfilePath = join(opts.rootDir, 'pnpm-lock.yaml');\n await writeLockfileFile(lockfilePath, mergedLockfile);\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 isFeatureEnabled(DEPS_GRAPH) &&\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 // If the lockfile could not be created for some reason, it will be created later during installation.\n this.logger.error((error as Error).message);\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 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 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 process: process.env.BIT_CLI_SERVER_NO_TTY ? { ...process, stdout: 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 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\n // the user explicitly configured may pass through. `explicitSettings`\n // ships in @pnpm/napi > 12.0.0-beta.2; on older engines nothing is\n // forwarded and the engine still honors `.npmrc` itself.\n const explicitSettings = new Set((config as { explicitSettings?: string[] }).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<Modules | undefined> {\n if (this.modulesManifestCache.has(lockfileDir)) {\n return this.modulesManifestCache.get(lockfileDir);\n }\n const {\n modulesYaml: { readModulesManifest },\n } = await loadPnpmEsm();\n const modulesManifest = await readModulesManifest(join(lockfileDir, 'node_modules'));\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 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 {\n lockfileFs: { readWantedLockfile },\n } = await loadPnpmEsm();\n const lockfile = await readWantedLockfile(opts.lockfileDir, { ignoreIncompatible: false });\n if (!lockfile) return '';\n const importerIds = Object.keys(lockfile.importers ?? {}).filter((id) => !id.includes(`${BIT_ROOTS_DIR}/`));\n const projectPaths = importerIds.map((id) => join(opts.lockfileDir, id));\n const importerInfoMap = new Map<string, ImporterInfo>();\n for (const importerId of importerIds) {\n const pkgJson = tryReadPackageJson(join(opts.lockfileDir, importerId));\n importerInfoMap.set(importerId, {\n name: pkgJson?.name ?? importerId,\n version: pkgJson?.version ?? '',\n });\n }\n const trees = await buildDependentsTree([depName], projectPaths, {\n include: {\n dependencies: true,\n devDependencies: true,\n optionalDependencies: true,\n },\n lockfileDir: opts.lockfileDir,\n registries: {\n default: 'https://registry.npmjs.org',\n },\n importerInfoMap,\n lockfile,\n nameFormatter({ manifest }) {\n if ('componentId' in manifest) {\n const { scope, name } = manifest.componentId as { scope: string; name: string };\n return `${scope}/${name}`;\n }\n return manifest.name;\n },\n });\n return renderDependentsTree(trees, {\n depth: opts.depth ?? Infinity,\n long: false,\n });\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 {\n lockfileFs: { readWantedLockfile, convertToLockfileFile: convertLockfileObjectToLockfileFile },\n } = await loadPnpmEsm();\n const originalLockfile = await readWantedLockfile(opts.rootDir, { ignoreIncompatible: false });\n if (!originalLockfile) {\n return;\n }\n for (const { componentRootDir, componentRelativeDir, pkgName, component } of opts.components) {\n const componentImporterId = (componentRelativeDir || '.') as ProjectId;\n let compRootDir: string | undefined;\n if (componentRootDir && !originalLockfile.importers[componentRootDir] && componentRootDir.includes('@')) {\n compRootDir = componentRootDir.split('@')[0];\n } else {\n compRootDir = componentRootDir;\n }\n if (!originalLockfile.importers[componentImporterId]) {\n continue;\n }\n const hasComponentRootImporter =\n compRootDir != null && Boolean(originalLockfile.importers[compRootDir as ProjectId]);\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, any> = {};\n for (const importerId of filterByImporterIds) {\n if (originalLockfile.importers[importerId]) {\n clonedImporters[importerId] = structuredClone(originalLockfile.importers[importerId]);\n }\n }\n const lockfile = {\n ...originalLockfile,\n importers: { ...originalLockfile.importers, ...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 (typeof ref === 'string' && ref.startsWith('file:')) continue;\n }\n for (const depType of [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n 'specifiers',\n 'dependenciesMeta',\n ]) {\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 = convertLockfileObjectToLockfileFile(\n filterLockfileByImporters(lockfile, filterByImporterIds, {\n include: {\n dependencies: true,\n devDependencies: true,\n optionalDependencies: true,\n },\n failOnMissingDependencies: false,\n skipped: new Set(),\n })\n );\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\nfunction tryReadPackageJson(pkgDir: string) {\n try {\n return JSON.parse(fs.readFileSync(join(pkgDir, 'package.json'), 'utf8'));\n } catch {\n return undefined;\n }\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":[]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ function _chai() {
4
+ const data = require("chai");
5
+ _chai = function () {
6
+ return data;
7
+ };
8
+ return data;
9
+ }
10
+ function _pnpm() {
11
+ const data = require("./pnpm.package-manager");
12
+ _pnpm = function () {
13
+ return data;
14
+ };
15
+ return data;
16
+ }
17
+ describe('PnpmPackageManager.getNetworkConfig', () => {
18
+ it('uses the Bit user agent when no user agent is configured', async () => {
19
+ const packageManager = createPackageManager({});
20
+ const networkConfig = await packageManager.getNetworkConfig?.();
21
+ (0, _chai().expect)(networkConfig).to.include({
22
+ userAgent: 'bit user/test-user'
23
+ });
24
+ });
25
+ it('uses the explicitly configured user agent', async () => {
26
+ const packageManager = createPackageManager({
27
+ userAgent: 'custom-user-agent'
28
+ });
29
+ const networkConfig = await packageManager.getNetworkConfig?.();
30
+ (0, _chai().expect)(networkConfig).to.include({
31
+ userAgent: 'custom-user-agent'
32
+ });
33
+ });
34
+ });
35
+ function createPackageManager(config) {
36
+ const packageManager = new (_pnpm().PnpmPackageManager)({}, {}, {
37
+ getCurrentUser: async () => ({
38
+ username: 'test-user'
39
+ })
40
+ });
41
+ packageManager.readConfig = async () => ({
42
+ config: config,
43
+ warnings: []
44
+ });
45
+ return packageManager;
46
+ }
47
+
48
+ //# sourceMappingURL=pnpm.package-manager.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chai","data","require","_pnpm","describe","it","packageManager","createPackageManager","networkConfig","getNetworkConfig","expect","to","include","userAgent","config","PnpmPackageManager","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\nfunction createPackageManager(config: Partial<ResolvedConfig>) {\n const packageManager = new PnpmPackageManager(\n {} as any,\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;AAEF,SAASN,oBAAoBA,CAACO,MAA+B,EAAE;EAC7D,MAAMR,cAAc,GAAG,KAAIS,0BAAkB,EAC3C,CAAC,CAAC,EACF,CAAC,CAAC,EACF;IACEC,cAAc,EAAE,MAAAA,CAAA,MAAa;MAAEC,QAAQ,EAAE;IAAY,CAAC;EACxD,CACF,CAAC;EACDX,cAAc,CAACY,UAAU,GAAG,aAAa;IACvCJ,MAAM,EAAEA,MAAwB;IAChCK,QAAQ,EAAE;EACZ,CAAC,CAAC;EACF,OAAOb,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.1124/dist/pnpm.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.1124/dist/pnpm.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.1126/dist/pnpm.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.1126/dist/pnpm.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1,4 +1,10 @@
1
+ import type { ResolvedConfig } from '@pnpm/napi';
2
+ /**
3
+ * Resolve the configuration the pnpm engine's own installs use — the
4
+ * `.npmrc` / `pnpm-workspace.yaml` cascade — through `@pnpm/napi`, so Bit
5
+ * needs no JavaScript config reader.
6
+ */
1
7
  export declare function readConfig(dir?: string): Promise<{
2
- config: import("@pnpm/config").Config;
8
+ config: ResolvedConfig;
3
9
  warnings: string[];
4
10
  }>;
@@ -4,26 +4,34 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.readConfig = readConfig;
7
- function _config() {
8
- const data = require("@pnpm/config");
9
- _config = function () {
7
+ function _path() {
8
+ const data = _interopRequireDefault(require("path"));
9
+ _path = function () {
10
10
  return data;
11
11
  };
12
12
  return data;
13
13
  }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ /**
16
+ * Resolve the configuration the pnpm engine's own installs use — the
17
+ * `.npmrc` / `pnpm-workspace.yaml` cascade — through `@pnpm/napi`, so Bit
18
+ * needs no JavaScript config reader.
19
+ */
14
20
  async function readConfig(dir) {
15
- const pnpmConfig = await (0, _config().getConfig)({
16
- cliOptions: {
17
- dir
18
- // 'global': true,
19
- // 'link-workspace-packages': true,
20
- },
21
- packageManager: {
22
- name: 'pnpm',
23
- version: '1.0.0'
24
- }
21
+ // Required lazily so the native engine binary is not mapped into every
22
+ // `bit` process at startup — only commands that actually read the pnpm
23
+ // config pay for it (same convention as the `./lynx` require sites).
24
+ // eslint-disable-next-line global-require, import/no-dynamic-require
25
+ const {
26
+ readConfig: napiReadConfig
27
+ } = require('@pnpm/napi');
28
+ const config = napiReadConfig({
29
+ dir: _path().default.resolve(dir ?? process.cwd())
25
30
  });
26
- return pnpmConfig;
31
+ return {
32
+ config,
33
+ warnings: []
34
+ };
27
35
  }
28
36
 
29
37
  //# sourceMappingURL=read-config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_config","data","require","readConfig","dir","pnpmConfig","getConfig","cliOptions","packageManager","name","version"],"sources":["read-config.ts"],"sourcesContent":["import { getConfig } from '@pnpm/config';\n\nexport async function readConfig(dir?: string) {\n const pnpmConfig = await getConfig({\n cliOptions: {\n dir,\n // 'global': true,\n // 'link-workspace-packages': true,\n },\n packageManager: {\n name: 'pnpm',\n version: '1.0.0',\n },\n });\n return pnpmConfig;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,eAAeE,UAAUA,CAACC,GAAY,EAAE;EAC7C,MAAMC,UAAU,GAAG,MAAM,IAAAC,mBAAS,EAAC;IACjCC,UAAU,EAAE;MACVH;MACA;MACA;IACF,CAAC;IACDI,cAAc,EAAE;MACdC,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE;IACX;EACF,CAAC,CAAC;EACF,OAAOL,UAAU;AACnB","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","_interopRequireDefault","require","e","__esModule","default","readConfig","dir","napiReadConfig","config","path","resolve","process","cwd","warnings"],"sources":["read-config.ts"],"sourcesContent":["import type { ResolvedConfig } from '@pnpm/napi';\nimport path from 'path';\n\n/**\n * Resolve the configuration the pnpm engine's own installs use — the\n * `.npmrc` / `pnpm-workspace.yaml` cascade — through `@pnpm/napi`, so Bit\n * needs no JavaScript config reader.\n */\nexport async function readConfig(dir?: string): Promise<{ config: ResolvedConfig; warnings: string[] }> {\n // Required lazily so the native engine binary is not mapped into every\n // `bit` process at startup — only commands that actually read the pnpm\n // config pay for it (same convention as the `./lynx` require sites).\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { readConfig: napiReadConfig } = require('@pnpm/napi') as {\n readConfig: (options: { dir: string }) => ResolvedConfig;\n };\n const config = napiReadConfig({ dir: path.resolve(dir ?? process.cwd()) });\n return { config, warnings: [] };\n}\n"],"mappings":";;;;;;AACA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAwB,SAAAC,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExB;AACA;AACA;AACA;AACA;AACO,eAAeG,UAAUA,CAACC,GAAY,EAA2D;EACtG;EACA;EACA;EACA;EACA,MAAM;IAAED,UAAU,EAAEE;EAAe,CAAC,GAAGN,OAAO,CAAC,YAAY,CAE1D;EACD,MAAMO,MAAM,GAAGD,cAAc,CAAC;IAAED,GAAG,EAAEG,eAAI,CAACC,OAAO,CAACJ,GAAG,IAAIK,OAAO,CAACC,GAAG,CAAC,CAAC;EAAE,CAAC,CAAC;EAC1E,OAAO;IAAEJ,MAAM;IAAEK,QAAQ,EAAE;EAAG,CAAC;AACjC","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ // Native CJS so Babel's modules-commonjs transform leaves the import() alone.
4
+ // @pnpm/deps.path, @pnpm/lockfile.fs, and @pnpm/installing.modules-yaml are
5
+ // ESM-only and must go through Node's ESM loader.
6
+ let esmPromise;
7
+ exports.loadEsm = async () => {
8
+ esmPromise ??= Promise.all([
9
+ import('@pnpm/deps.path'),
10
+ import('@pnpm/lockfile.fs'),
11
+ import('@pnpm/installing.modules-yaml'),
12
+ ]).then(([dp, lockfileFs, modulesYaml]) => ({
13
+ dp,
14
+ lockfileFs,
15
+ modulesYaml,
16
+ getLockfileImporterId: lockfileFs.getLockfileImporterId,
17
+ }));
18
+ return esmPromise;
19
+ };
package/package.json CHANGED
@@ -1,60 +1,48 @@
1
1
  {
2
2
  "name": "@teambit/pnpm",
3
- "version": "1.0.1124",
3
+ "version": "1.0.1126",
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.1124"
9
+ "version": "1.0.1126"
10
10
  },
11
11
  "dependencies": {
12
- "@pnpm/config": "1004.11.0",
13
- "credentials-by-uri": "2.0.0",
12
+ "@pnpm/napi": "12.0.0-beta.2",
13
+ "@pnpm/deps.path": "1100.0.8",
14
+ "@pnpm/installing.modules-yaml": "1100.0.9",
15
+ "@pnpm/lockfile.fs": "1100.1.7",
16
+ "@pnpm/lockfile.types": "1100.0.12",
17
+ "@pnpm/types": "1101.3.2",
14
18
  "lodash": "4.17.21",
15
- "nerf-dart": "1.0.0",
16
- "@pnpm/client": "1001.1.24",
17
- "@pnpm/dependency-path": "1001.1.10",
18
- "@pnpm/lockfile.fs": "^1001.1.32",
19
- "@pnpm/lockfile.types": "^1002.1.0",
20
- "@pnpm/types": "1001.3.0",
21
19
  "normalize-path": "3.0.0",
22
- "@pnpm/logger": "1001.0.1",
23
- "@pnpm/core": "1016.2.0",
24
- "@pnpm/default-reporter": "1002.1.14",
25
- "@pnpm/package-store": "1007.1.6",
26
- "@pnpm/plugin-commands-rebuild": "1008.0.13",
20
+ "@pnpm/logger": "1100.0.0",
21
+ "@pnpm/cli.default-reporter": "1100.3.14",
27
22
  "@pnpm/plugin-trusted-deps": "0.2.2",
28
- "@pnpm/sort-packages": "1000.0.16",
29
- "@pnpm/store-connection-manager": "1002.3.19",
30
- "@pnpm/worker": "1000.6.7",
31
- "@pnpm/workspace.pkgs-graph": "1000.0.39",
23
+ "nerf-dart": "1.0.0",
32
24
  "parse-package-name": "0.1.0",
33
25
  "semver": "7.7.1",
34
- "@pnpm/error": "1000.1.0",
35
26
  "fs-extra": "10.0.0",
36
- "@pnpm/list": "^1000.3.4",
37
- "@pnpm/lockfile.filtering": "^1001.0.31",
38
- "@pnpm/modules-yaml": "1002.0.1",
39
- "@pnpm/reviewing.dependencies-hierarchy": "^1001.3.4",
40
- "@teambit/dependency-resolver": "1.0.1086",
41
- "@teambit/toolbox.string.strip-trailing-char": "0.0.513",
27
+ "@pnpm/deps.inspection.list": "1100.0.20",
28
+ "@pnpm/deps.inspection.tree-builder": "1100.0.17",
29
+ "@pnpm/lockfile.filtering": "1100.1.8",
42
30
  "@teambit/bit-error": "0.0.404",
43
31
  "@teambit/component-package-version": "0.0.459",
44
- "@teambit/objects": "0.0.593",
45
- "@teambit/logger": "0.0.1452",
32
+ "@teambit/logger": "0.0.1453",
46
33
  "@teambit/dependencies.pnpm.dep-path": "1.0.1",
47
34
  "@teambit/legacy.constants": "0.0.39",
48
- "@teambit/pkg.config.auth": "0.0.3",
49
35
  "@teambit/pkg.entities.registry": "0.0.4",
50
36
  "@teambit/harmony": "0.4.12",
51
- "@teambit/cli": "0.0.1359",
37
+ "@teambit/cli": "0.0.1360",
52
38
  "@teambit/harmony.modules.feature-toggle": "0.0.51",
53
39
  "@teambit/legacy.logger": "0.0.54",
54
- "@teambit/component": "1.0.1086",
55
40
  "@teambit/ui-foundation.ui.use-box.menu": "1.0.16",
56
- "@teambit/ui": "1.0.1086",
57
- "@teambit/cloud": "0.0.1385"
41
+ "@teambit/dependency-resolver": "1.0.1088",
42
+ "@teambit/objects": "0.0.595",
43
+ "@teambit/cloud": "0.0.1387",
44
+ "@teambit/component": "1.0.1088",
45
+ "@teambit/ui": "1.0.1088"
58
46
  },
59
47
  "devDependencies": {
60
48
  "@types/lodash": "4.14.165",