@teambit/pnpm 0.0.667 → 0.0.670

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.
@@ -10,10 +10,13 @@ export declare class PnpmPackageManager implements PackageManager {
10
10
  private readConfig;
11
11
  constructor(depResolver: DependencyResolverMain, pkg: PkgMain, logger: Logger);
12
12
  private _componentsToPnpmWorkspaceProjects;
13
- _getGlobalPnpmDirs(cacheRootDir?: string): {
13
+ _getGlobalPnpmDirs(opts?: {
14
+ cacheRootDir?: string;
15
+ packageManagerConfigRootDir?: string;
16
+ }): Promise<{
14
17
  storeDir: string;
15
18
  cacheDir: string;
16
- };
19
+ }>;
17
20
  install(rootDir: string, rootPolicy: WorkspacePolicy, componentDirectoryMap: ComponentMap<string>, installOptions?: PackageManagerInstallOptions): Promise<void>;
18
21
  getPeerDependencyIssues(rootDir: string, rootPolicy: WorkspacePolicy, componentDirectoryMap: ComponentMap<string>, installOptions?: PackageManagerInstallOptions): Promise<PeerDependencyIssuesByProjects>;
19
22
  private computeComponentsManifests;
@@ -108,9 +108,14 @@ class PnpmPackageManager {
108
108
  };
109
109
  }
110
110
 
111
- _getGlobalPnpmDirs(cacheRootDir) {
112
- const storeDir = cacheRootDir ? (0, _path().join)(cacheRootDir, '.pnpm-store') : defaultStoreDir;
113
- const cacheDir = cacheRootDir ? (0, _path().join)(cacheRootDir, '.pnpm-cache') : defaultCacheDir;
111
+ async _getGlobalPnpmDirs(opts = {}) {
112
+ var _config$storeDir, _config$cacheDir;
113
+
114
+ const {
115
+ config
116
+ } = await this.readConfig(opts.packageManagerConfigRootDir);
117
+ const storeDir = opts.cacheRootDir ? (0, _path().join)(opts.cacheRootDir, '.pnpm-store') : (_config$storeDir = config.storeDir) !== null && _config$storeDir !== void 0 ? _config$storeDir : defaultStoreDir;
118
+ const cacheDir = opts.cacheRootDir ? (0, _path().join)(opts.cacheRootDir, '.pnpm-cache') : (_config$cacheDir = config.cacheDir) !== null && _config$cacheDir !== void 0 ? _config$cacheDir : defaultCacheDir;
114
119
  return {
115
120
  storeDir,
116
121
  cacheDir
@@ -136,15 +141,13 @@ class PnpmPackageManager {
136
141
  const registries = await this.depResolver.getRegistries();
137
142
  const proxyConfig = await this.depResolver.getProxyConfig();
138
143
  const networkConfig = await this.depResolver.getNetworkConfig();
139
-
140
144
  const {
141
145
  storeDir,
142
146
  cacheDir
143
- } = this._getGlobalPnpmDirs(installOptions === null || installOptions === void 0 ? void 0 : installOptions.cacheRootDir);
144
-
147
+ } = await this._getGlobalPnpmDirs(installOptions);
145
148
  const {
146
149
  config
147
- } = await this.readConfig();
150
+ } = await this.readConfig(installOptions.packageManagerConfigRootDir);
148
151
  await (0, _dependencyResolver().extendWithComponentsFromDir)(rootManifest.rootDir, componentsManifests);
149
152
  await install(rootManifest, componentsManifests, storeDir, cacheDir, registries, proxyConfig, networkConfig, {
150
153
  nodeLinker: installOptions.nodeLinker,
@@ -162,8 +165,7 @@ class PnpmPackageManager {
162
165
  const {
163
166
  storeDir,
164
167
  cacheDir
165
- } = this._getGlobalPnpmDirs(installOptions === null || installOptions === void 0 ? void 0 : installOptions.cacheRootDir);
166
-
168
+ } = await this._getGlobalPnpmDirs(installOptions);
167
169
  const proxyConfig = await this.depResolver.getProxyConfig();
168
170
  const networkConfig = await this.depResolver.getNetworkConfig();
169
171
  const registries = await this.depResolver.getRegistries(); // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import
@@ -208,7 +210,9 @@ class PnpmPackageManager {
208
210
  resolveRemoteVersion
209
211
  } = require('./lynx');
210
212
 
211
- const cacheDir = options !== null && options !== void 0 && options.cacheRootDir ? (0, _path().join)(options === null || options === void 0 ? void 0 : options.cacheRootDir, '.pnpm-cache') : defaultStoreDir;
213
+ const {
214
+ cacheDir
215
+ } = await this._getGlobalPnpmDirs(options);
212
216
  const registries = await this.depResolver.getRegistries();
213
217
  const proxyConfig = await this.depResolver.getProxyConfig();
214
218
  const networkConfig = await this.depResolver.getNetworkConfig();
@@ -1 +1 @@
1
- {"version":3,"sources":["pnpm.package-manager.ts"],"names":["defaultStoreDir","userHome","defaultCacheDir","PnpmPackageManager","constructor","depResolver","pkg","logger","readConfig","_componentsToPnpmWorkspaceProjects","rootDir","rootPolicy","componentDirectoryMap","installOptions","components","toArray","map","component","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","dependencyFilterFn","workspaceManifest","getWorkspaceManifest","undefined","rootManifest","toJsonWithDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","installPeersFromEnvs","componentsManifests","computeComponentsManifests","componentsManifestsMap","copyPeerToRuntimeOnComponents","_getGlobalPnpmDirs","cacheRootDir","storeDir","cacheDir","install","require","debug","setStatusLine","off","registries","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","config","nodeLinker","overrides","hoistPattern","publicHoistPattern","on","console","consoleSuccess","getPeerDependencyIssues","lynx","componentsManifestsFromWorkspace","reduce","acc","dir","packageName","getPackageName","has","get","toJson","resolveRemoteVersion","maxSockets","networkConcurrency","fetchRetries","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","pnpmRegistry","defaultRegistry","Registry","default","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","scopesRegistries","Object","keys","scopedRegName","scopedReg","name","replace","bit","BIT_DEV_REGISTRY","Registries"],"mappings":"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","sourcesContent":["import { ComponentMap } from '@teambit/component';\nimport {\n ComponentsManifestsMap,\n CreateFromComponentsOptions,\n WorkspacePolicy,\n DependencyResolverMain,\n extendWithComponentsFromDir,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n Registries,\n Registry,\n BIT_DEV_REGISTRY,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { memoize, omit } from 'lodash';\nimport { PkgMain } from '@teambit/pkg';\nimport { PeerDependencyIssuesByProjects } from '@pnpm/core';\nimport { ProjectManifest } from '@pnpm/types';\nimport { join } from 'path';\nimport userHome from 'user-home';\nimport { readConfig } from './read-config';\n\nconst defaultStoreDir = join(userHome, '.pnpm-store');\nconst defaultCacheDir = join(userHome, '.pnpm-cache');\n\ninterface Manifests {\n componentsManifests: Record<string, ProjectManifest>;\n rootManifest: {\n rootDir: string;\n manifest: ProjectManifest;\n };\n}\n\nexport class PnpmPackageManager implements PackageManager {\n private readConfig = memoize(readConfig);\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\n\n private async _componentsToPnpmWorkspaceProjects(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<Manifests> {\n const components = componentDirectoryMap.toArray().map(([component]) => component);\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: installOptions.dedupe,\n dependencyFilterFn: installOptions.dependencyFilterFn,\n };\n const workspaceManifest = await this.depResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n components,\n options\n );\n const rootManifest = workspaceManifest.toJsonWithDir({\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\n installPeersFromEnvs: installOptions.installPeersFromEnvs,\n });\n\n const componentsManifests = this.computeComponentsManifests(\n componentDirectoryMap,\n workspaceManifest.componentsManifestsMap,\n // In case of not deduping we want to install peers inside the components\n // !options.dedupe\n installOptions.copyPeerToRuntimeOnComponents\n );\n return {\n componentsManifests,\n rootManifest,\n };\n }\n\n _getGlobalPnpmDirs(cacheRootDir?: string) {\n const storeDir = cacheRootDir ? join(cacheRootDir, '.pnpm-store') : defaultStoreDir;\n const cacheDir = cacheRootDir ? join(cacheRootDir, '.pnpm-cache') : defaultCacheDir;\n return { storeDir, cacheDir };\n }\n\n async install(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<void> {\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 { componentsManifests, rootManifest } = await this._componentsToPnpmWorkspaceProjects(\n rootDir,\n rootPolicy,\n componentDirectoryMap,\n installOptions\n );\n this.logger.debug('root manifest for installation', rootManifest);\n this.logger.debug('components manifests for installation', componentsManifests);\n this.logger.setStatusLine('installing dependencies using pnpm');\n // turn off the logger because it interrupts the pnpm output\n this.logger.off();\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { storeDir, cacheDir } = this._getGlobalPnpmDirs(installOptions?.cacheRootDir);\n const { config } = await this.readConfig();\n await extendWithComponentsFromDir(rootManifest.rootDir, componentsManifests);\n await install(\n rootManifest,\n componentsManifests,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n {\n nodeLinker: installOptions.nodeLinker,\n overrides: installOptions.overrides,\n hoistPattern: config.hoistPattern,\n publicHoistPattern: ['*eslint*', '@prettier/plugin-*', '*prettier-plugin-*'],\n },\n this.logger\n );\n this.logger.on();\n // Make a divider row to improve output\n this.logger.console('-------------------------');\n this.logger.consoleSuccess('installing dependencies using pnpm');\n }\n\n async getPeerDependencyIssues(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<PeerDependencyIssuesByProjects> {\n const { storeDir, cacheDir } = this._getGlobalPnpmDirs(installOptions?.cacheRootDir);\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 { componentsManifests, rootManifest } = await this._componentsToPnpmWorkspaceProjects(\n rootDir,\n rootPolicy,\n componentDirectoryMap,\n installOptions\n );\n return lynx.getPeerDependencyIssues(rootManifest, componentsManifests, {\n storeDir,\n cacheDir,\n proxyConfig,\n registries,\n networkConfig,\n overrides: installOptions.overrides,\n });\n }\n\n private computeComponentsManifests(\n componentDirectoryMap: ComponentMap<string>,\n componentsManifestsFromWorkspace: ComponentsManifestsMap,\n copyPeerToRuntime = false\n ): Record<string, ProjectManifest> {\n return componentDirectoryMap.toArray().reduce((acc, [component, dir]) => {\n const packageName = this.pkg.getPackageName(component);\n if (componentsManifestsFromWorkspace.has(packageName)) {\n acc[dir] = componentsManifestsFromWorkspace.get(packageName)?.toJson({ copyPeerToRuntime });\n }\n return acc;\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 cacheDir = options?.cacheRootDir ? join(options?.cacheRootDir, '.pnpm-cache') : defaultStoreDir;\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig, networkConfig);\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 return {\n maxSockets: config.maxSockets,\n networkConcurrency: config.networkConcurrency,\n fetchRetries: config.fetchRetries,\n fetchTimeout: config.fetchTimeout,\n fetchRetryMaxtimeout: config.fetchRetryMaxtimeout,\n fetchRetryMintimeout: config.fetchRetryMintimeout,\n };\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_DEV_REGISTRY, true);\n }\n\n return new Registries(defaultRegistry, scopesRegistries);\n }\n}\n"]}
1
+ {"version":3,"sources":["pnpm.package-manager.ts"],"names":["defaultStoreDir","userHome","defaultCacheDir","PnpmPackageManager","constructor","depResolver","pkg","logger","readConfig","_componentsToPnpmWorkspaceProjects","rootDir","rootPolicy","componentDirectoryMap","installOptions","components","toArray","map","component","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","dependencyFilterFn","workspaceManifest","getWorkspaceManifest","undefined","rootManifest","toJsonWithDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","installPeersFromEnvs","componentsManifests","computeComponentsManifests","componentsManifestsMap","copyPeerToRuntimeOnComponents","_getGlobalPnpmDirs","opts","config","packageManagerConfigRootDir","storeDir","cacheRootDir","cacheDir","install","require","debug","setStatusLine","off","registries","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","nodeLinker","overrides","hoistPattern","publicHoistPattern","on","console","consoleSuccess","getPeerDependencyIssues","lynx","componentsManifestsFromWorkspace","reduce","acc","dir","packageName","getPackageName","has","get","toJson","resolveRemoteVersion","maxSockets","networkConcurrency","fetchRetries","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","pnpmRegistry","defaultRegistry","Registry","default","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","scopesRegistries","Object","keys","scopedRegName","scopedReg","name","replace","bit","BIT_DEV_REGISTRY","Registries"],"mappings":"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","sourcesContent":["import { ComponentMap } from '@teambit/component';\nimport {\n ComponentsManifestsMap,\n CreateFromComponentsOptions,\n WorkspacePolicy,\n DependencyResolverMain,\n extendWithComponentsFromDir,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n Registries,\n Registry,\n BIT_DEV_REGISTRY,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { memoize, omit } from 'lodash';\nimport { PkgMain } from '@teambit/pkg';\nimport { PeerDependencyIssuesByProjects } from '@pnpm/core';\nimport { ProjectManifest } from '@pnpm/types';\nimport { join } from 'path';\nimport userHome from 'user-home';\nimport { readConfig } from './read-config';\n\nconst defaultStoreDir = join(userHome, '.pnpm-store');\nconst defaultCacheDir = join(userHome, '.pnpm-cache');\n\ninterface Manifests {\n componentsManifests: Record<string, ProjectManifest>;\n rootManifest: {\n rootDir: string;\n manifest: ProjectManifest;\n };\n}\n\nexport class PnpmPackageManager implements PackageManager {\n private readConfig = memoize(readConfig);\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\n\n private async _componentsToPnpmWorkspaceProjects(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<Manifests> {\n const components = componentDirectoryMap.toArray().map(([component]) => component);\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: installOptions.dedupe,\n dependencyFilterFn: installOptions.dependencyFilterFn,\n };\n const workspaceManifest = await this.depResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n components,\n options\n );\n const rootManifest = workspaceManifest.toJsonWithDir({\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\n installPeersFromEnvs: installOptions.installPeersFromEnvs,\n });\n\n const componentsManifests = this.computeComponentsManifests(\n componentDirectoryMap,\n workspaceManifest.componentsManifestsMap,\n // In case of not deduping we want to install peers inside the components\n // !options.dedupe\n installOptions.copyPeerToRuntimeOnComponents\n );\n return {\n componentsManifests,\n rootManifest,\n };\n }\n\n async _getGlobalPnpmDirs(\n opts: {\n cacheRootDir?: string;\n packageManagerConfigRootDir?: string;\n } = {}\n ) {\n const { config } = await this.readConfig(opts.packageManagerConfigRootDir);\n const storeDir = opts.cacheRootDir ? join(opts.cacheRootDir, '.pnpm-store') : config.storeDir ?? defaultStoreDir;\n const cacheDir = opts.cacheRootDir ? join(opts.cacheRootDir, '.pnpm-cache') : config.cacheDir ?? defaultCacheDir;\n return { storeDir, cacheDir };\n }\n\n async install(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<void> {\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 { componentsManifests, rootManifest } = await this._componentsToPnpmWorkspaceProjects(\n rootDir,\n rootPolicy,\n componentDirectoryMap,\n installOptions\n );\n this.logger.debug('root manifest for installation', rootManifest);\n this.logger.debug('components manifests for installation', componentsManifests);\n this.logger.setStatusLine('installing dependencies using pnpm');\n // turn off the logger because it interrupts the pnpm output\n this.logger.off();\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { storeDir, cacheDir } = await this._getGlobalPnpmDirs(installOptions);\n const { config } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n await extendWithComponentsFromDir(rootManifest.rootDir, componentsManifests);\n await install(\n rootManifest,\n componentsManifests,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n {\n nodeLinker: installOptions.nodeLinker,\n overrides: installOptions.overrides,\n hoistPattern: config.hoistPattern,\n publicHoistPattern: ['*eslint*', '@prettier/plugin-*', '*prettier-plugin-*'],\n },\n this.logger\n );\n this.logger.on();\n // Make a divider row to improve output\n this.logger.console('-------------------------');\n this.logger.consoleSuccess('installing dependencies using pnpm');\n }\n\n async getPeerDependencyIssues(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<PeerDependencyIssuesByProjects> {\n const { storeDir, cacheDir } = await this._getGlobalPnpmDirs(installOptions);\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 { componentsManifests, rootManifest } = await this._componentsToPnpmWorkspaceProjects(\n rootDir,\n rootPolicy,\n componentDirectoryMap,\n installOptions\n );\n return lynx.getPeerDependencyIssues(rootManifest, componentsManifests, {\n storeDir,\n cacheDir,\n proxyConfig,\n registries,\n networkConfig,\n overrides: installOptions.overrides,\n });\n }\n\n private computeComponentsManifests(\n componentDirectoryMap: ComponentMap<string>,\n componentsManifestsFromWorkspace: ComponentsManifestsMap,\n copyPeerToRuntime = false\n ): Record<string, ProjectManifest> {\n return componentDirectoryMap.toArray().reduce((acc, [component, dir]) => {\n const packageName = this.pkg.getPackageName(component);\n if (componentsManifestsFromWorkspace.has(packageName)) {\n acc[dir] = componentsManifestsFromWorkspace.get(packageName)?.toJson({ copyPeerToRuntime });\n }\n return acc;\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 { cacheDir } = await this._getGlobalPnpmDirs(options);\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig, networkConfig);\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 return {\n maxSockets: config.maxSockets,\n networkConcurrency: config.networkConcurrency,\n fetchRetries: config.fetchRetries,\n fetchTimeout: config.fetchTimeout,\n fetchRetryMaxtimeout: config.fetchRetryMaxtimeout,\n fetchRetryMintimeout: config.fetchRetryMintimeout,\n };\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_DEV_REGISTRY, true);\n }\n\n return new Registries(defaultRegistry, scopesRegistries);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- export declare function readConfig(): Promise<{
1
+ export declare function readConfig(dir?: string): Promise<{
2
2
  config: import("@pnpm/config").Config;
3
3
  warnings: string[];
4
4
  }>;
@@ -19,10 +19,12 @@ function _config() {
19
19
  return data;
20
20
  }
21
21
 
22
- async function readConfig() {
22
+ async function readConfig(dir) {
23
23
  const pnpmConfig = await (0, _config().default)({
24
- cliOptions: {// 'global': true,
24
+ cliOptions: {
25
+ dir // 'global': true,
25
26
  // 'link-workspace-packages': true,
27
+
26
28
  },
27
29
  packageManager: {
28
30
  name: 'pnpm',
@@ -1 +1 @@
1
- {"version":3,"sources":["read-config.ts"],"names":["readConfig","pnpmConfig","cliOptions","packageManager","name","version"],"mappings":";;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,eAAeA,UAAf,GAA4B;AACjC,QAAMC,UAAU,GAAG,MAAM,uBAAU;AACjCC,IAAAA,UAAU,EAAE,CACV;AACA;AAFU,KADqB;AAKjCC,IAAAA,cAAc,EAAE;AACdC,MAAAA,IAAI,EAAE,MADQ;AAEdC,MAAAA,OAAO,EAAE;AAFK;AALiB,GAAV,CAAzB;AAUA,SAAOJ,UAAP;AACD","sourcesContent":["import getConfig from '@pnpm/config';\n\nexport async function readConfig() {\n const pnpmConfig = await getConfig({\n cliOptions: {\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"]}
1
+ {"version":3,"sources":["read-config.ts"],"names":["readConfig","dir","pnpmConfig","cliOptions","packageManager","name","version"],"mappings":";;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,eAAeA,UAAf,CAA0BC,GAA1B,EAAwC;AAC7C,QAAMC,UAAU,GAAG,MAAM,uBAAU;AACjCC,IAAAA,UAAU,EAAE;AACVF,MAAAA,GADU,CAEV;AACA;;AAHU,KADqB;AAMjCG,IAAAA,cAAc,EAAE;AACdC,MAAAA,IAAI,EAAE,MADQ;AAEdC,MAAAA,OAAO,EAAE;AAFK;AANiB,GAAV,CAAzB;AAWA,SAAOJ,UAAP;AACD","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"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/pnpm",
3
- "version": "0.0.667",
3
+ "version": "0.0.670",
4
4
  "homepage": "https://bit.dev/teambit/dependencies/pnpm",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.dependencies",
8
8
  "name": "pnpm",
9
- "version": "0.0.667"
9
+ "version": "0.0.670"
10
10
  },
11
11
  "dependencies": {
12
12
  "@pnpm/error": "2.1.0",
@@ -34,13 +34,13 @@
34
34
  "user-home": "2.0.0",
35
35
  "@babel/runtime": "7.12.18",
36
36
  "core-js": "^3.0.0",
37
- "@teambit/dependency-resolver": "0.0.667",
38
- "@teambit/logger": "0.0.540",
39
- "@teambit/cli": "0.0.450",
40
- "@teambit/pkg": "0.0.667",
41
- "@teambit/component": "0.0.667",
37
+ "@teambit/dependency-resolver": "0.0.670",
38
+ "@teambit/logger": "0.0.542",
39
+ "@teambit/cli": "0.0.452",
40
+ "@teambit/pkg": "0.0.670",
41
+ "@teambit/component": "0.0.670",
42
42
  "@teambit/ui-foundation.ui.use-box.menu": "0.0.111",
43
- "@teambit/ui": "0.0.667"
43
+ "@teambit/ui": "0.0.670"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/lodash": "4.14.165",
@@ -54,7 +54,7 @@
54
54
  "@teambit/dependencies.aspect-docs.pnpm": "0.0.132"
55
55
  },
56
56
  "peerDependencies": {
57
- "@teambit/legacy": "1.0.229",
57
+ "@teambit/legacy": "1.0.231",
58
58
  "react-dom": "^16.8.0 || ^17.0.0",
59
59
  "react": "^16.8.0 || ^17.0.0"
60
60
  },
@@ -82,7 +82,7 @@
82
82
  "react": "-"
83
83
  },
84
84
  "peerDependencies": {
85
- "@teambit/legacy": "1.0.229",
85
+ "@teambit/legacy": "1.0.231",
86
86
  "react-dom": "^16.8.0 || ^17.0.0",
87
87
  "react": "^16.8.0 || ^17.0.0"
88
88
  }
@@ -1,2 +1,2 @@
1
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_pnpm@0.0.667/dist/pnpm.composition.js')]
2
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_pnpm@0.0.667/dist/pnpm.docs.mdx')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_pnpm@0.0.670/dist/pnpm.composition.js')]
2
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_pnpm@0.0.670/dist/pnpm.docs.mdx')]