@teambit/pnpm 0.0.522 → 0.0.526

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lynx.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ResolvedPackageVersion, Registries, PackageManagerProxyConfig } from '@teambit/dependency-resolver';
1
+ import { ResolvedPackageVersion, Registries, PackageManagerProxyConfig, PackageManagerNetworkConfig } from '@teambit/dependency-resolver';
2
2
  import { Logger } from '@teambit/logger';
3
- export declare function install(rootPathToManifest: any, pathsToManifests: any, storeDir: string, cacheDir: string, registries: Registries, proxyConfig?: PackageManagerProxyConfig, logger?: Logger): Promise<void>;
4
- export declare function resolveRemoteVersion(packageName: string, rootDir: string, cacheDir: string, registries: Registries, proxyConfig?: PackageManagerProxyConfig): Promise<ResolvedPackageVersion>;
3
+ export declare function install(rootPathToManifest: any, pathsToManifests: any, storeDir: string, cacheDir: string, registries: Registries, proxyConfig?: PackageManagerProxyConfig, networkConfig?: PackageManagerNetworkConfig, logger?: Logger): Promise<void>;
4
+ export declare function resolveRemoteVersion(packageName: string, rootDir: string, cacheDir: string, registries: Registries, proxyConfig?: PackageManagerProxyConfig, networkConfig?: PackageManagerNetworkConfig): Promise<ResolvedPackageVersion>;
package/dist/lynx.js CHANGED
@@ -139,7 +139,7 @@ function _readConfig() {
139
139
  // logger.console(logObj)
140
140
  // });
141
141
  // }
142
- async function createStoreController(storeDir, cacheDir, registries, proxyConfig = {}) {
142
+ async function createStoreController(storeDir, cacheDir, registries, proxyConfig = {}, networkConfig = {}) {
143
143
  // const fetchFromRegistry = createFetchFromRegistry({});
144
144
  // const getCredentials = () => ({ authHeaderValue: '', alwaysAuth: false });
145
145
  // const resolver: ResolveFunction = createResolver(fetchFromRegistry, getCredentials, {
@@ -172,7 +172,8 @@ async function createStoreController(storeDir, cacheDir, registries, proxyConfig
172
172
  cert: proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.cert,
173
173
  key: proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.key,
174
174
  noProxy: proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.noProxy,
175
- strictSsl: proxyConfig.strictSSL
175
+ strictSsl: proxyConfig.strictSSL,
176
+ networkConcurrency: networkConfig.networkConcurrency
176
177
  };
177
178
  const {
178
179
  ctrl
@@ -180,7 +181,7 @@ async function createStoreController(storeDir, cacheDir, registries, proxyConfig
180
181
  return ctrl;
181
182
  }
182
183
 
183
- async function generateResolverAndFetcher(cacheDir, registries, proxyConfig = {}) {
184
+ async function generateResolverAndFetcher(cacheDir, registries, proxyConfig = {}, networkConfig = {}) {
184
185
  const pnpmConfig = await (0, _readConfig().readConfig)();
185
186
  const authConfig = getAuthConfig(registries);
186
187
  const opts = {
@@ -192,13 +193,20 @@ async function generateResolverAndFetcher(cacheDir, registries, proxyConfig = {}
192
193
  cert: proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.cert,
193
194
  key: proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.key,
194
195
  noProxy: proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.noProxy,
195
- strictSsl: proxyConfig.strictSSL
196
+ strictSsl: proxyConfig.strictSSL,
197
+ timeout: networkConfig.fetchTimeout,
198
+ retry: {
199
+ factor: networkConfig.fetchRetryFactor,
200
+ maxTimeout: networkConfig.fetchRetryMaxtimeout,
201
+ minTimeout: networkConfig.fetchRetryMintimeout,
202
+ retries: networkConfig.fetchRetries
203
+ }
196
204
  };
197
205
  const result = (0, _client().default)(opts);
198
206
  return result;
199
207
  }
200
208
 
201
- async function install(rootPathToManifest, pathsToManifests, storeDir, cacheDir, registries, proxyConfig = {}, // eslint-disable-next-line @typescript-eslint/no-unused-vars
209
+ async function install(rootPathToManifest, pathsToManifests, storeDir, cacheDir, registries, proxyConfig = {}, networkConfig = {}, // eslint-disable-next-line @typescript-eslint/no-unused-vars
202
210
  logger) {
203
211
  const packagesToBuild = []; // supi will use this to install the packages
204
212
 
@@ -241,7 +249,7 @@ logger) {
241
249
  });
242
250
  const registriesMap = getRegistriesMap(registries);
243
251
  const authConfig = getAuthConfig(registries);
244
- const storeController = await createStoreController(storeDir, cacheDir, registries, proxyConfig);
252
+ const storeController = await createStoreController(storeDir, cacheDir, registries, proxyConfig, networkConfig);
245
253
  const opts = {
246
254
  storeDir,
247
255
  dir: rootPathToManifest.rootDir,
@@ -268,10 +276,10 @@ logger) {
268
276
  await (0, _supi().mutateModules)(packagesToBuild, opts);
269
277
  }
270
278
 
271
- async function resolveRemoteVersion(packageName, rootDir, cacheDir, registries, proxyConfig = {}) {
279
+ async function resolveRemoteVersion(packageName, rootDir, cacheDir, registries, proxyConfig = {}, networkConfig = {}) {
272
280
  const {
273
281
  resolve
274
- } = await generateResolverAndFetcher(cacheDir, registries, proxyConfig);
282
+ } = await generateResolverAndFetcher(cacheDir, registries, proxyConfig, networkConfig);
275
283
  const resolveOpts = {
276
284
  projectDir: rootDir,
277
285
  registry: ''
package/dist/lynx.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["lynx.ts"],"names":["createStoreController","storeDir","cacheDir","registries","proxyConfig","authConfig","getAuthConfig","opts","rawConfig","verifyStoreIntegrity","httpProxy","httpsProxy","ca","cert","key","noProxy","strictSsl","strictSSL","ctrl","generateResolverAndFetcher","pnpmConfig","Object","assign","config","result","install","rootPathToManifest","pathsToManifests","logger","packagesToBuild","workspacePackages","rootDir","manifest","push","buildIndex","mutation","name","version","dir","registriesMap","getRegistriesMap","storeController","update","context","argv","reportingOptions","appendOnly","throttleProgress","streamParser","resolveRemoteVersion","packageName","resolve","resolveOpts","projectDir","registry","parsedPackage","wantedDep","alias","pref","isValidRange","semver","validRange","val","isSemver","resolvedVia","e","message","includes","undefined","normalizedPref","default","defaultRegistry","uri","NPM_REGISTRY","entries","scopes","forEach","registryName","res","alwaysAuth","defaultAuthTokens","getAuthTokenForRegistry","keyName","authTokens","nerfed","alwaysAuthKeyName","isDefault","originalAuthType","originalAuthValue","split"],"mappings":"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","sourcesContent":["import semver from 'semver';\nimport parsePackageName from 'parse-package-name';\nimport defaultReporter from '@pnpm/default-reporter';\n// import createClient from '@pnpm/client'\n// import { createFetchFromRegistry } from '@pnpm/fetch';\nimport { streamParser } from '@pnpm/logger';\n// import createStore, { ResolveFunction, StoreController } from '@pnpm/package-store';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n// import { PreferredVersions, RequestPackageOptions, StoreController, WantedDependency } from '@pnpm/package-store';\nimport { StoreController, WantedDependency } from '@pnpm/package-store';\nimport { createNewStoreController } from '@pnpm/store-connection-manager';\n// TODO: this should be taken from - @pnpm/store-connection-manager\n// it's not taken from there since it's not exported.\n// here is a bug in pnpm about it https://github.com/pnpm/pnpm/issues/2748\nimport { CreateNewStoreControllerOptions } from '@pnpm/store-connection-manager/lib/createNewStoreController';\nimport {\n ResolvedPackageVersion,\n Registries,\n NPM_REGISTRY,\n Registry,\n PackageManagerProxyConfig,\n} from '@teambit/dependency-resolver';\n// import execa from 'execa';\n// import createFetcher from '@pnpm/tarball-fetcher';\nimport { MutatedProject, mutateModules } from 'supi';\n// import { ReporterFunction } from 'supi/lib/types';\n// import { createResolver } from './create-resolver';\n// import {isValidPath} from '@teambit/legacy/dist/utils';\n// import {createResolver} from '@pnpm/default-resolver';\nimport createResolverAndFetcher, { ClientOptions } from '@pnpm/client';\nimport pickRegistryForPackage from '@pnpm/pick-registry-for-package';\nimport { Logger } from '@teambit/logger';\nimport toNerfDart from 'nerf-dart';\nimport { readConfig } from './read-config';\n\ntype RegistriesMap = {\n default: string;\n [registryName: string]: string;\n};\n\n// TODO: DO NOT DELETE - uncomment when this is solved https://github.com/pnpm/pnpm/issues/2910\n// function getReporter(logger: Logger): ReporterFunction {\n// return ((logObj) => {\n// // TODO: print correctly not the entire object\n// logger.console(logObj)\n// });\n// }\n\nasync function createStoreController(\n storeDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {}\n): Promise<StoreController> {\n // const fetchFromRegistry = createFetchFromRegistry({});\n // const getCredentials = () => ({ authHeaderValue: '', alwaysAuth: false });\n // const resolver: ResolveFunction = createResolver(fetchFromRegistry, getCredentials, {\n // metaCache: new Map(),\n // storeDir,\n // });\n // const fetcher = createFetcher(fetchFromRegistry, getCredentials, {});\n // const { resolve, fetchers } = createClient({\n // // authConfig,\n // metaCache: new Map(),\n // // retry: retryOpts,\n // storeDir,\n // // ...resolveOpts,\n // // ...fetchOpts,\n // })\n // const storeController = await createStore(resolve, fetchers, {\n // storeDir,\n // verifyStoreIntegrity: true,\n // });\n // const pnpmConfig = await readConfig();\n const authConfig = getAuthConfig(registries);\n const opts: CreateNewStoreControllerOptions = {\n cacheDir,\n storeDir,\n rawConfig: authConfig,\n verifyStoreIntegrity: true,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n ca: proxyConfig?.ca,\n cert: proxyConfig?.cert,\n key: proxyConfig?.key,\n noProxy: proxyConfig?.noProxy,\n strictSsl: proxyConfig.strictSSL,\n };\n const { ctrl } = await createNewStoreController(opts);\n return ctrl;\n}\n\nasync function generateResolverAndFetcher(\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {}\n) {\n const pnpmConfig = await readConfig();\n const authConfig = getAuthConfig(registries);\n const opts: ClientOptions = {\n authConfig: Object.assign({}, pnpmConfig.config.rawConfig, authConfig),\n cacheDir,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n ca: proxyConfig?.ca,\n cert: proxyConfig?.cert,\n key: proxyConfig?.key,\n noProxy: proxyConfig?.noProxy,\n strictSsl: proxyConfig.strictSSL,\n };\n const result = createResolverAndFetcher(opts);\n return result;\n}\n\nexport async function install(\n rootPathToManifest,\n pathsToManifests,\n storeDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n logger?: Logger\n) {\n const packagesToBuild: MutatedProject[] = []; // supi will use this to install the packages\n const workspacePackages = {}; // supi will use this to link packages to each other\n\n // This will create local link by pnpm to a component exists in the ws.\n // it will later deleted by the link process\n // we keep it here to better support case like this:\n // compA@1.0.0 uses compB@1.0.0\n // I have compB@2.0.0 in my workspace\n // now I install compA@1.0.0\n // compA is hoisted to the root and install B@1.0.0 hoisted to the root as well\n // now we will make link to B@2.0.0 and A will break\n // with this we will have a link to the local B by pnpm so it will install B@1.0.0 inside A\n // then when overriding the link, A will still works\n // This is the rational behind not deleting this completely, but need further check that it really works\n\n // eslint-disable-next-line\n for (const rootDir in pathsToManifests) {\n const manifest = pathsToManifests[rootDir];\n packagesToBuild.push({\n buildIndex: 0, // workspace components should be installed before the root\n manifest,\n rootDir,\n mutation: 'install',\n });\n workspacePackages[manifest.name] = workspacePackages[manifest.name] || {};\n workspacePackages[manifest.name][manifest.version] = { dir: rootDir, manifest };\n }\n packagesToBuild.push({\n buildIndex: 1, // install the root package after the workspace components were installed\n manifest: rootPathToManifest.manifest,\n mutation: 'install',\n rootDir: rootPathToManifest.rootDir,\n });\n const registriesMap = getRegistriesMap(registries);\n const authConfig = getAuthConfig(registries);\n const storeController = await createStoreController(storeDir, cacheDir, registries, proxyConfig);\n const opts = {\n storeDir,\n dir: rootPathToManifest.rootDir,\n storeController,\n update: true,\n workspacePackages,\n registries: registriesMap,\n rawConfig: authConfig,\n // TODO: uncomment when this is solved https://github.com/pnpm/pnpm/issues/2910\n // reporter: logger ? getReporter(logger) : undefined,\n };\n\n defaultReporter({\n context: {\n argv: [],\n },\n reportingOptions: {\n appendOnly: false,\n // logLevel: 'error' as LogLevel,\n // streamLifecycleOutput: opts.config.stream,\n throttleProgress: 200,\n },\n streamParser,\n });\n await mutateModules(packagesToBuild, opts);\n}\n\nexport async function resolveRemoteVersion(\n packageName: string,\n rootDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {}\n): Promise<ResolvedPackageVersion> {\n const { resolve } = await generateResolverAndFetcher(cacheDir, registries, proxyConfig);\n const resolveOpts = {\n projectDir: rootDir,\n registry: '',\n };\n try {\n const parsedPackage = parsePackageName(packageName);\n const registriesMap = getRegistriesMap(registries);\n const registry = pickRegistryForPackage(registriesMap, parsedPackage.name);\n const wantedDep: WantedDependency = {\n alias: parsedPackage.name,\n pref: parsedPackage.version,\n };\n const isValidRange = parsedPackage.version ? !!semver.validRange(parsedPackage.version) : false;\n resolveOpts.registry = registry;\n const val = await resolve(wantedDep, resolveOpts);\n const version = isValidRange ? parsedPackage.version : val.manifest.version;\n // const { stdout } = await execa('npm', ['view', packageName, 'version'], {});\n\n return {\n packageName: val.manifest.name,\n version,\n isSemver: true,\n resolvedVia: val.resolvedVia,\n };\n } catch (e: any) {\n if (!e.message?.includes('is not a valid string')) {\n throw e;\n }\n // The provided package is probably a git url or path to a folder\n const wantedDep: WantedDependency = {\n alias: undefined,\n pref: packageName,\n };\n const val = await resolve(wantedDep, resolveOpts);\n return {\n packageName: val.manifest.name,\n version: val.normalizedPref,\n isSemver: false,\n resolvedVia: val.resolvedVia,\n };\n }\n}\n\nfunction getRegistriesMap(registries: Registries): RegistriesMap {\n const registriesMap = {\n default: registries.defaultRegistry.uri || NPM_REGISTRY,\n };\n\n Object.entries(registries.scopes).forEach(([registryName, registry]) => {\n registriesMap[`@${registryName}`] = registry.uri;\n });\n return registriesMap;\n}\n\nfunction getAuthConfig(registries: Registries): Record<string, any> {\n const res: any = {};\n res.registry = registries.defaultRegistry.uri;\n if (registries.defaultRegistry.alwaysAuth) {\n res['always-auth'] = true;\n }\n const defaultAuthTokens = getAuthTokenForRegistry(registries.defaultRegistry, true);\n defaultAuthTokens.forEach(({ keyName, val }) => {\n res[keyName] = val;\n });\n\n Object.entries(registries.scopes).forEach(([, registry]) => {\n const authTokens = getAuthTokenForRegistry(registry);\n authTokens.forEach(({ keyName, val }) => {\n res[keyName] = val;\n });\n if (registry.alwaysAuth) {\n const nerfed = toNerfDart(registry.uri);\n const alwaysAuthKeyName = `${nerfed}:always-auth`;\n res[alwaysAuthKeyName] = true;\n }\n });\n return res;\n}\n\nfunction getAuthTokenForRegistry(registry: Registry, isDefault = false): { keyName: string; val: string }[] {\n const nerfed = toNerfDart(registry.uri);\n if (registry.originalAuthType === 'authToken') {\n return [\n {\n keyName: `${nerfed}:_authToken`,\n val: registry.originalAuthValue || '',\n },\n ];\n }\n if (registry.originalAuthType === 'auth') {\n return [\n {\n keyName: isDefault ? '_auth' : `${nerfed}:_auth`,\n val: registry.originalAuthValue || '',\n },\n ];\n }\n if (registry.originalAuthType === 'user-pass') {\n return [\n {\n keyName: `${nerfed}:username`,\n val: registry.originalAuthValue?.split(':')[0] || '',\n },\n {\n keyName: `${nerfed}:_password`,\n val: registry.originalAuthValue?.split(':')[1] || '',\n },\n ];\n }\n return [];\n}\n"]}
1
+ {"version":3,"sources":["lynx.ts"],"names":["createStoreController","storeDir","cacheDir","registries","proxyConfig","networkConfig","authConfig","getAuthConfig","opts","rawConfig","verifyStoreIntegrity","httpProxy","httpsProxy","ca","cert","key","noProxy","strictSsl","strictSSL","networkConcurrency","ctrl","generateResolverAndFetcher","pnpmConfig","Object","assign","config","timeout","fetchTimeout","retry","factor","fetchRetryFactor","maxTimeout","fetchRetryMaxtimeout","minTimeout","fetchRetryMintimeout","retries","fetchRetries","result","install","rootPathToManifest","pathsToManifests","logger","packagesToBuild","workspacePackages","rootDir","manifest","push","buildIndex","mutation","name","version","dir","registriesMap","getRegistriesMap","storeController","update","context","argv","reportingOptions","appendOnly","throttleProgress","streamParser","resolveRemoteVersion","packageName","resolve","resolveOpts","projectDir","registry","parsedPackage","wantedDep","alias","pref","isValidRange","semver","validRange","val","isSemver","resolvedVia","e","message","includes","undefined","normalizedPref","default","defaultRegistry","uri","NPM_REGISTRY","entries","scopes","forEach","registryName","res","alwaysAuth","defaultAuthTokens","getAuthTokenForRegistry","keyName","authTokens","nerfed","alwaysAuthKeyName","isDefault","originalAuthType","originalAuthValue","split"],"mappings":"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","sourcesContent":["import semver from 'semver';\nimport parsePackageName from 'parse-package-name';\nimport defaultReporter from '@pnpm/default-reporter';\n// import createClient from '@pnpm/client'\n// import { createFetchFromRegistry } from '@pnpm/fetch';\nimport { streamParser } from '@pnpm/logger';\n// import createStore, { ResolveFunction, StoreController } from '@pnpm/package-store';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n// import { PreferredVersions, RequestPackageOptions, StoreController, WantedDependency } from '@pnpm/package-store';\nimport { StoreController, WantedDependency } from '@pnpm/package-store';\nimport { createNewStoreController } from '@pnpm/store-connection-manager';\n// TODO: this should be taken from - @pnpm/store-connection-manager\n// it's not taken from there since it's not exported.\n// here is a bug in pnpm about it https://github.com/pnpm/pnpm/issues/2748\nimport { CreateNewStoreControllerOptions } from '@pnpm/store-connection-manager/lib/createNewStoreController';\nimport {\n ResolvedPackageVersion,\n Registries,\n NPM_REGISTRY,\n Registry,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\n// import execa from 'execa';\n// import createFetcher from '@pnpm/tarball-fetcher';\nimport { MutatedProject, mutateModules } from 'supi';\n// import { ReporterFunction } from 'supi/lib/types';\n// import { createResolver } from './create-resolver';\n// import {isValidPath} from '@teambit/legacy/dist/utils';\n// import {createResolver} from '@pnpm/default-resolver';\nimport createResolverAndFetcher, { ClientOptions } from '@pnpm/client';\nimport pickRegistryForPackage from '@pnpm/pick-registry-for-package';\nimport { Logger } from '@teambit/logger';\nimport toNerfDart from 'nerf-dart';\nimport { readConfig } from './read-config';\n\ntype RegistriesMap = {\n default: string;\n [registryName: string]: string;\n};\n\n// TODO: DO NOT DELETE - uncomment when this is solved https://github.com/pnpm/pnpm/issues/2910\n// function getReporter(logger: Logger): ReporterFunction {\n// return ((logObj) => {\n// // TODO: print correctly not the entire object\n// logger.console(logObj)\n// });\n// }\n\nasync function createStoreController(\n storeDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {}\n): Promise<StoreController> {\n // const fetchFromRegistry = createFetchFromRegistry({});\n // const getCredentials = () => ({ authHeaderValue: '', alwaysAuth: false });\n // const resolver: ResolveFunction = createResolver(fetchFromRegistry, getCredentials, {\n // metaCache: new Map(),\n // storeDir,\n // });\n // const fetcher = createFetcher(fetchFromRegistry, getCredentials, {});\n // const { resolve, fetchers } = createClient({\n // // authConfig,\n // metaCache: new Map(),\n // // retry: retryOpts,\n // storeDir,\n // // ...resolveOpts,\n // // ...fetchOpts,\n // })\n // const storeController = await createStore(resolve, fetchers, {\n // storeDir,\n // verifyStoreIntegrity: true,\n // });\n // const pnpmConfig = await readConfig();\n const authConfig = getAuthConfig(registries);\n const opts: CreateNewStoreControllerOptions = {\n cacheDir,\n storeDir,\n rawConfig: authConfig,\n verifyStoreIntegrity: true,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n ca: proxyConfig?.ca,\n cert: proxyConfig?.cert,\n key: proxyConfig?.key,\n noProxy: proxyConfig?.noProxy,\n strictSsl: proxyConfig.strictSSL,\n networkConcurrency: networkConfig.networkConcurrency,\n };\n const { ctrl } = await createNewStoreController(opts);\n return ctrl;\n}\n\nasync function generateResolverAndFetcher(\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {}\n) {\n const pnpmConfig = await readConfig();\n const authConfig = getAuthConfig(registries);\n const opts: ClientOptions = {\n authConfig: Object.assign({}, pnpmConfig.config.rawConfig, authConfig),\n cacheDir,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n ca: proxyConfig?.ca,\n cert: proxyConfig?.cert,\n key: proxyConfig?.key,\n noProxy: proxyConfig?.noProxy,\n strictSsl: proxyConfig.strictSSL,\n timeout: networkConfig.fetchTimeout,\n retry: {\n factor: networkConfig.fetchRetryFactor,\n maxTimeout: networkConfig.fetchRetryMaxtimeout,\n minTimeout: networkConfig.fetchRetryMintimeout,\n retries: networkConfig.fetchRetries,\n },\n };\n const result = createResolverAndFetcher(opts);\n return result;\n}\n\nexport async function install(\n rootPathToManifest,\n pathsToManifests,\n storeDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {},\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n logger?: Logger\n) {\n const packagesToBuild: MutatedProject[] = []; // supi will use this to install the packages\n const workspacePackages = {}; // supi will use this to link packages to each other\n\n // This will create local link by pnpm to a component exists in the ws.\n // it will later deleted by the link process\n // we keep it here to better support case like this:\n // compA@1.0.0 uses compB@1.0.0\n // I have compB@2.0.0 in my workspace\n // now I install compA@1.0.0\n // compA is hoisted to the root and install B@1.0.0 hoisted to the root as well\n // now we will make link to B@2.0.0 and A will break\n // with this we will have a link to the local B by pnpm so it will install B@1.0.0 inside A\n // then when overriding the link, A will still works\n // This is the rational behind not deleting this completely, but need further check that it really works\n\n // eslint-disable-next-line\n for (const rootDir in pathsToManifests) {\n const manifest = pathsToManifests[rootDir];\n packagesToBuild.push({\n buildIndex: 0, // workspace components should be installed before the root\n manifest,\n rootDir,\n mutation: 'install',\n });\n workspacePackages[manifest.name] = workspacePackages[manifest.name] || {};\n workspacePackages[manifest.name][manifest.version] = { dir: rootDir, manifest };\n }\n packagesToBuild.push({\n buildIndex: 1, // install the root package after the workspace components were installed\n manifest: rootPathToManifest.manifest,\n mutation: 'install',\n rootDir: rootPathToManifest.rootDir,\n });\n const registriesMap = getRegistriesMap(registries);\n const authConfig = getAuthConfig(registries);\n const storeController = await createStoreController(storeDir, cacheDir, registries, proxyConfig, networkConfig);\n const opts = {\n storeDir,\n dir: rootPathToManifest.rootDir,\n storeController,\n update: true,\n workspacePackages,\n registries: registriesMap,\n rawConfig: authConfig,\n // TODO: uncomment when this is solved https://github.com/pnpm/pnpm/issues/2910\n // reporter: logger ? getReporter(logger) : undefined,\n };\n\n defaultReporter({\n context: {\n argv: [],\n },\n reportingOptions: {\n appendOnly: false,\n // logLevel: 'error' as LogLevel,\n // streamLifecycleOutput: opts.config.stream,\n throttleProgress: 200,\n },\n streamParser,\n });\n await mutateModules(packagesToBuild, opts);\n}\n\nexport async function resolveRemoteVersion(\n packageName: string,\n rootDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {}\n): Promise<ResolvedPackageVersion> {\n const { resolve } = await generateResolverAndFetcher(cacheDir, registries, proxyConfig, networkConfig);\n const resolveOpts = {\n projectDir: rootDir,\n registry: '',\n };\n try {\n const parsedPackage = parsePackageName(packageName);\n const registriesMap = getRegistriesMap(registries);\n const registry = pickRegistryForPackage(registriesMap, parsedPackage.name);\n const wantedDep: WantedDependency = {\n alias: parsedPackage.name,\n pref: parsedPackage.version,\n };\n const isValidRange = parsedPackage.version ? !!semver.validRange(parsedPackage.version) : false;\n resolveOpts.registry = registry;\n const val = await resolve(wantedDep, resolveOpts);\n const version = isValidRange ? parsedPackage.version : val.manifest.version;\n // const { stdout } = await execa('npm', ['view', packageName, 'version'], {});\n\n return {\n packageName: val.manifest.name,\n version,\n isSemver: true,\n resolvedVia: val.resolvedVia,\n };\n } catch (e: any) {\n if (!e.message?.includes('is not a valid string')) {\n throw e;\n }\n // The provided package is probably a git url or path to a folder\n const wantedDep: WantedDependency = {\n alias: undefined,\n pref: packageName,\n };\n const val = await resolve(wantedDep, resolveOpts);\n return {\n packageName: val.manifest.name,\n version: val.normalizedPref,\n isSemver: false,\n resolvedVia: val.resolvedVia,\n };\n }\n}\n\nfunction getRegistriesMap(registries: Registries): RegistriesMap {\n const registriesMap = {\n default: registries.defaultRegistry.uri || NPM_REGISTRY,\n };\n\n Object.entries(registries.scopes).forEach(([registryName, registry]) => {\n registriesMap[`@${registryName}`] = registry.uri;\n });\n return registriesMap;\n}\n\nfunction getAuthConfig(registries: Registries): Record<string, any> {\n const res: any = {};\n res.registry = registries.defaultRegistry.uri;\n if (registries.defaultRegistry.alwaysAuth) {\n res['always-auth'] = true;\n }\n const defaultAuthTokens = getAuthTokenForRegistry(registries.defaultRegistry, true);\n defaultAuthTokens.forEach(({ keyName, val }) => {\n res[keyName] = val;\n });\n\n Object.entries(registries.scopes).forEach(([, registry]) => {\n const authTokens = getAuthTokenForRegistry(registry);\n authTokens.forEach(({ keyName, val }) => {\n res[keyName] = val;\n });\n if (registry.alwaysAuth) {\n const nerfed = toNerfDart(registry.uri);\n const alwaysAuthKeyName = `${nerfed}:always-auth`;\n res[alwaysAuthKeyName] = true;\n }\n });\n return res;\n}\n\nfunction getAuthTokenForRegistry(registry: Registry, isDefault = false): { keyName: string; val: string }[] {\n const nerfed = toNerfDart(registry.uri);\n if (registry.originalAuthType === 'authToken') {\n return [\n {\n keyName: `${nerfed}:_authToken`,\n val: registry.originalAuthValue || '',\n },\n ];\n }\n if (registry.originalAuthType === 'auth') {\n return [\n {\n keyName: isDefault ? '_auth' : `${nerfed}:_auth`,\n val: registry.originalAuthValue || '',\n },\n ];\n }\n if (registry.originalAuthType === 'user-pass') {\n return [\n {\n keyName: `${nerfed}:username`,\n val: registry.originalAuthValue?.split(':')[0] || '',\n },\n {\n keyName: `${nerfed}:_password`,\n val: registry.originalAuthValue?.split(':')[1] || '',\n },\n ];\n }\n return [];\n}\n"]}
@@ -96,7 +96,8 @@ class PnpmPackageManager {
96
96
  this.logger.off();
97
97
  const registries = await this.depResolver.getRegistries();
98
98
  const proxyConfig = await this.depResolver.getProxyConfig();
99
- await install(rootManifest, componentsManifests, storeDir, cacheDir, registries, proxyConfig, this.logger);
99
+ const networkConfig = await this.depResolver.getNetworkConfig();
100
+ await install(rootManifest, componentsManifests, storeDir, cacheDir, registries, proxyConfig, networkConfig, this.logger);
100
101
  this.logger.on(); // Make a divider row to improve output
101
102
 
102
103
  this.logger.console('-------------------------');
@@ -129,7 +130,8 @@ class PnpmPackageManager {
129
130
  const cacheDir = options !== null && options !== void 0 && options.cacheRootDir ? (0, _path().join)(options === null || options === void 0 ? void 0 : options.cacheRootDir, '.pnpm-cache') : defaultStoreDir;
130
131
  const registries = await this.depResolver.getRegistries();
131
132
  const proxyConfig = await this.depResolver.getProxyConfig();
132
- return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig);
133
+ const networkConfig = await this.depResolver.getNetworkConfig();
134
+ return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig, networkConfig);
133
135
  }
134
136
 
135
137
  async getProxyConfig() {
@@ -1 +1 @@
1
- {"version":3,"sources":["pnpm.package-manager.ts"],"names":["defaultStoreDir","userHome","defaultCacheDir","PnpmPackageManager","constructor","depResolver","pkg","logger","install","rootDir","rootPolicy","componentDirectoryMap","installOptions","require","storeDir","cacheRootDir","cacheDir","components","toArray","map","component","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","dependencyFilterFn","workspaceManifest","getWorkspaceManifest","undefined","rootManifest","toJson","includeDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","componentsManifests","computeComponentsManifests","componentsManifestsMap","copyPeerToRuntimeOnComponents","debug","setStatusLine","off","registries","getRegistries","proxyConfig","getProxyConfig","on","console","consoleSuccess","componentsManifestsFromWorkspace","reduce","acc","dir","packageName","getPackageName","has","get","resolveRemoteVersion","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 PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n Registries,\n Registry,\n BIT_DEV_REGISTRY,\n PackageManagerProxyConfig,\n} from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { omit } from 'lodash';\nimport { PkgMain } from '@teambit/pkg';\nimport { join } from 'path';\nimport userHome from 'user-home';\n\nconst defaultStoreDir = join(userHome, '.pnpm-store');\nconst defaultCacheDir = join(userHome, '.pnpm-cache');\n\nexport class PnpmPackageManager implements PackageManager {\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\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 const storeDir = installOptions?.cacheRootDir ? join(installOptions?.cacheRootDir, '.pnpm-store') : defaultStoreDir;\n const cacheDir = installOptions?.cacheRootDir ? join(installOptions?.cacheRootDir, '.pnpm-cache') : defaultCacheDir;\n\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.toJson({\n includeDir: true,\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\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 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 await install(rootManifest, componentsManifests, storeDir, cacheDir, registries, proxyConfig, this.logger);\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 private computeComponentsManifests(\n componentDirectoryMap: ComponentMap<string>,\n componentsManifestsFromWorkspace: ComponentsManifestsMap,\n copyPeerToRuntime = false\n ) {\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 return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig);\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 return getProxyConfig();\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 pnpmRegistry = await getRegistries();\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","install","rootDir","rootPolicy","componentDirectoryMap","installOptions","require","storeDir","cacheRootDir","cacheDir","components","toArray","map","component","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","dependencyFilterFn","workspaceManifest","getWorkspaceManifest","undefined","rootManifest","toJson","includeDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","componentsManifests","computeComponentsManifests","componentsManifestsMap","copyPeerToRuntimeOnComponents","debug","setStatusLine","off","registries","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","on","console","consoleSuccess","componentsManifestsFromWorkspace","reduce","acc","dir","packageName","getPackageName","has","get","resolveRemoteVersion","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 PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n Registries,\n Registry,\n BIT_DEV_REGISTRY,\n PackageManagerProxyConfig,\n} from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { omit } from 'lodash';\nimport { PkgMain } from '@teambit/pkg';\nimport { join } from 'path';\nimport userHome from 'user-home';\n\nconst defaultStoreDir = join(userHome, '.pnpm-store');\nconst defaultCacheDir = join(userHome, '.pnpm-cache');\n\nexport class PnpmPackageManager implements PackageManager {\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\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 const storeDir = installOptions?.cacheRootDir ? join(installOptions?.cacheRootDir, '.pnpm-store') : defaultStoreDir;\n const cacheDir = installOptions?.cacheRootDir ? join(installOptions?.cacheRootDir, '.pnpm-cache') : defaultCacheDir;\n\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.toJson({\n includeDir: true,\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\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 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 await install(\n rootManifest,\n componentsManifests,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig,\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 private computeComponentsManifests(\n componentDirectoryMap: ComponentMap<string>,\n componentsManifestsFromWorkspace: ComponentsManifestsMap,\n copyPeerToRuntime = false\n ) {\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 return getProxyConfig();\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 pnpmRegistry = await getRegistries();\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"]}
package/lynx.ts CHANGED
@@ -19,6 +19,7 @@ import {
19
19
  NPM_REGISTRY,
20
20
  Registry,
21
21
  PackageManagerProxyConfig,
22
+ PackageManagerNetworkConfig,
22
23
  } from '@teambit/dependency-resolver';
23
24
  // import execa from 'execa';
24
25
  // import createFetcher from '@pnpm/tarball-fetcher';
@@ -50,7 +51,8 @@ async function createStoreController(
50
51
  storeDir: string,
51
52
  cacheDir: string,
52
53
  registries: Registries,
53
- proxyConfig: PackageManagerProxyConfig = {}
54
+ proxyConfig: PackageManagerProxyConfig = {},
55
+ networkConfig: PackageManagerNetworkConfig = {}
54
56
  ): Promise<StoreController> {
55
57
  // const fetchFromRegistry = createFetchFromRegistry({});
56
58
  // const getCredentials = () => ({ authHeaderValue: '', alwaysAuth: false });
@@ -85,6 +87,7 @@ async function createStoreController(
85
87
  key: proxyConfig?.key,
86
88
  noProxy: proxyConfig?.noProxy,
87
89
  strictSsl: proxyConfig.strictSSL,
90
+ networkConcurrency: networkConfig.networkConcurrency,
88
91
  };
89
92
  const { ctrl } = await createNewStoreController(opts);
90
93
  return ctrl;
@@ -93,7 +96,8 @@ async function createStoreController(
93
96
  async function generateResolverAndFetcher(
94
97
  cacheDir: string,
95
98
  registries: Registries,
96
- proxyConfig: PackageManagerProxyConfig = {}
99
+ proxyConfig: PackageManagerProxyConfig = {},
100
+ networkConfig: PackageManagerNetworkConfig = {}
97
101
  ) {
98
102
  const pnpmConfig = await readConfig();
99
103
  const authConfig = getAuthConfig(registries);
@@ -107,6 +111,13 @@ async function generateResolverAndFetcher(
107
111
  key: proxyConfig?.key,
108
112
  noProxy: proxyConfig?.noProxy,
109
113
  strictSsl: proxyConfig.strictSSL,
114
+ timeout: networkConfig.fetchTimeout,
115
+ retry: {
116
+ factor: networkConfig.fetchRetryFactor,
117
+ maxTimeout: networkConfig.fetchRetryMaxtimeout,
118
+ minTimeout: networkConfig.fetchRetryMintimeout,
119
+ retries: networkConfig.fetchRetries,
120
+ },
110
121
  };
111
122
  const result = createResolverAndFetcher(opts);
112
123
  return result;
@@ -119,6 +130,7 @@ export async function install(
119
130
  cacheDir: string,
120
131
  registries: Registries,
121
132
  proxyConfig: PackageManagerProxyConfig = {},
133
+ networkConfig: PackageManagerNetworkConfig = {},
122
134
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
123
135
  logger?: Logger
124
136
  ) {
@@ -157,7 +169,7 @@ export async function install(
157
169
  });
158
170
  const registriesMap = getRegistriesMap(registries);
159
171
  const authConfig = getAuthConfig(registries);
160
- const storeController = await createStoreController(storeDir, cacheDir, registries, proxyConfig);
172
+ const storeController = await createStoreController(storeDir, cacheDir, registries, proxyConfig, networkConfig);
161
173
  const opts = {
162
174
  storeDir,
163
175
  dir: rootPathToManifest.rootDir,
@@ -190,9 +202,10 @@ export async function resolveRemoteVersion(
190
202
  rootDir: string,
191
203
  cacheDir: string,
192
204
  registries: Registries,
193
- proxyConfig: PackageManagerProxyConfig = {}
205
+ proxyConfig: PackageManagerProxyConfig = {},
206
+ networkConfig: PackageManagerNetworkConfig = {}
194
207
  ): Promise<ResolvedPackageVersion> {
195
- const { resolve } = await generateResolverAndFetcher(cacheDir, registries, proxyConfig);
208
+ const { resolve } = await generateResolverAndFetcher(cacheDir, registries, proxyConfig, networkConfig);
196
209
  const resolveOpts = {
197
210
  projectDir: rootDir,
198
211
  registry: '',
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/pnpm",
3
- "version": "0.0.522",
3
+ "version": "0.0.526",
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.522"
9
+ "version": "0.0.526"
10
10
  },
11
11
  "dependencies": {
12
12
  "@pnpm/error": "2.0.0",
@@ -21,23 +21,23 @@
21
21
  "nerf-dart": "1.0.0",
22
22
  "@pnpm/logger": "4.0.0",
23
23
  "@pnpm/client": "5.0.7",
24
- "@pnpm/default-reporter": "8.2.3",
24
+ "@pnpm/default-reporter": "8.3.0",
25
25
  "@pnpm/package-store": "12.0.15",
26
26
  "@pnpm/pick-registry-for-package": "2.0.4",
27
- "@pnpm/store-connection-manager": "3.0.18",
27
+ "@pnpm/store-connection-manager": "3.0.19",
28
28
  "parse-package-name": "0.1.0",
29
29
  "semver": "7.3.4",
30
- "supi": "0.47.24",
30
+ "supi": "0.47.26",
31
31
  "@teambit/harmony": "0.2.11",
32
32
  "user-home": "2.0.0",
33
- "@pnpm/config": "13.0.0",
33
+ "@pnpm/config": "13.1.0",
34
34
  "@babel/runtime": "7.12.18",
35
35
  "core-js": "^3.0.0",
36
- "@teambit/dependency-resolver": "0.0.522",
37
- "@teambit/logger": "0.0.449",
38
- "@teambit/cli": "0.0.379",
39
- "@teambit/pkg": "0.0.522",
40
- "@teambit/component": "0.0.522"
36
+ "@teambit/dependency-resolver": "0.0.526",
37
+ "@teambit/logger": "0.0.452",
38
+ "@teambit/cli": "0.0.380",
39
+ "@teambit/pkg": "0.0.526",
40
+ "@teambit/component": "0.0.526"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/lodash": "4.14.165",
@@ -48,14 +48,14 @@
48
48
  "@types/react-dom": "^17.0.5",
49
49
  "@types/react": "^17.0.8",
50
50
  "@types/node": "12.20.4",
51
- "@teambit/dependencies.aspect-docs.pnpm": "0.0.85"
51
+ "@teambit/dependencies.aspect-docs.pnpm": "0.0.88"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@teambit/legacy": "1.0.76",
55
55
  "react-dom": "^16.8.0 || ^17.0.0",
56
56
  "react": "^16.8.0 || ^17.0.0"
57
57
  },
58
- "license": "SEE LICENSE IN LICENSE",
58
+ "license": "Apache-2.0",
59
59
  "bit": {
60
60
  "bindingPrefix": "@teambit",
61
61
  "env": {},
@@ -71,7 +71,17 @@ export class PnpmPackageManager implements PackageManager {
71
71
  this.logger.off();
72
72
  const registries = await this.depResolver.getRegistries();
73
73
  const proxyConfig = await this.depResolver.getProxyConfig();
74
- await install(rootManifest, componentsManifests, storeDir, cacheDir, registries, proxyConfig, this.logger);
74
+ const networkConfig = await this.depResolver.getNetworkConfig();
75
+ await install(
76
+ rootManifest,
77
+ componentsManifests,
78
+ storeDir,
79
+ cacheDir,
80
+ registries,
81
+ proxyConfig,
82
+ networkConfig,
83
+ this.logger
84
+ );
75
85
  this.logger.on();
76
86
  // Make a divider row to improve output
77
87
  this.logger.console('-------------------------');
@@ -102,7 +112,8 @@ export class PnpmPackageManager implements PackageManager {
102
112
  const cacheDir = options?.cacheRootDir ? join(options?.cacheRootDir, '.pnpm-cache') : defaultStoreDir;
103
113
  const registries = await this.depResolver.getRegistries();
104
114
  const proxyConfig = await this.depResolver.getProxyConfig();
105
- return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig);
115
+ const networkConfig = await this.depResolver.getNetworkConfig();
116
+ return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig, networkConfig);
106
117
  }
107
118
 
108
119
  async getProxyConfig?(): Promise<PackageManagerProxyConfig> {