@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 +3 -3
- package/dist/lynx.js +16 -8
- package/dist/lynx.js.map +1 -1
- package/dist/pnpm.package-manager.js +4 -2
- package/dist/pnpm.package-manager.js.map +1 -1
- package/lynx.ts +18 -5
- package/package-tar/teambit-pnpm-0.0.526.tgz +0 -0
- package/package.json +13 -13
- package/pnpm.package-manager.ts +13 -2
- package/package-tar/teambit-pnpm-0.0.522.tgz +0 -0
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
|
-
|
|
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
|
-
|
|
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: '',
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/pnpm",
|
|
3
|
-
"version": "0.0.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
30
|
+
"supi": "0.47.26",
|
|
31
31
|
"@teambit/harmony": "0.2.11",
|
|
32
32
|
"user-home": "2.0.0",
|
|
33
|
-
"@pnpm/config": "13.
|
|
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.
|
|
37
|
-
"@teambit/logger": "0.0.
|
|
38
|
-
"@teambit/cli": "0.0.
|
|
39
|
-
"@teambit/pkg": "0.0.
|
|
40
|
-
"@teambit/component": "0.0.
|
|
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.
|
|
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": "
|
|
58
|
+
"license": "Apache-2.0",
|
|
59
59
|
"bit": {
|
|
60
60
|
"bindingPrefix": "@teambit",
|
|
61
61
|
"env": {},
|
package/pnpm.package-manager.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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> {
|
|
Binary file
|