@teambit/pnpm 1.0.576 → 1.0.578
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/index.d.ts +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lockfile-deps-graph-converter.d.ts +10 -4
- package/dist/lockfile-deps-graph-converter.js +97 -19
- package/dist/lockfile-deps-graph-converter.js.map +1 -1
- package/dist/lockfile-deps-graph-converter.spec.js +45 -21
- package/dist/lockfile-deps-graph-converter.spec.js.map +1 -1
- package/dist/lynx.d.ts +13 -1
- package/dist/lynx.js +33 -67
- package/dist/lynx.js.map +1 -1
- package/dist/pnpm.package-manager.d.ts +11 -4
- package/dist/pnpm.package-manager.js +45 -14
- package/dist/pnpm.package-manager.js.map +1 -1
- package/dist/{preview-1742354258690.js → preview-1742440888416.js} +2 -2
- package/package.json +14 -11
package/dist/lynx.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.generateResolverAndFetcher = generateResolverAndFetcher;
|
|
6
7
|
exports.getPeerDependencyIssues = getPeerDependencyIssues;
|
|
7
8
|
exports.install = install;
|
|
8
9
|
exports.resolveRemoteVersion = resolveRemoteVersion;
|
|
@@ -55,9 +56,9 @@ function _sortPackages() {
|
|
|
55
56
|
};
|
|
56
57
|
return data;
|
|
57
58
|
}
|
|
58
|
-
function
|
|
59
|
-
const data = require("@teambit/
|
|
60
|
-
|
|
59
|
+
function _pkgConfig() {
|
|
60
|
+
const data = require("@teambit/pkg.config.auth");
|
|
61
|
+
_pkgConfig = function () {
|
|
61
62
|
return data;
|
|
62
63
|
};
|
|
63
64
|
return data;
|
|
@@ -112,6 +113,13 @@ function _workspace() {
|
|
|
112
113
|
};
|
|
113
114
|
return data;
|
|
114
115
|
}
|
|
116
|
+
function _lockfile() {
|
|
117
|
+
const data = require("@pnpm/lockfile.fs");
|
|
118
|
+
_lockfile = function () {
|
|
119
|
+
return data;
|
|
120
|
+
};
|
|
121
|
+
return data;
|
|
122
|
+
}
|
|
115
123
|
function _dependenciesPnpm() {
|
|
116
124
|
const data = require("@teambit/dependencies.pnpm.dep-path");
|
|
117
125
|
_dependenciesPnpm = function () {
|
|
@@ -119,9 +127,9 @@ function _dependenciesPnpm() {
|
|
|
119
127
|
};
|
|
120
128
|
return data;
|
|
121
129
|
}
|
|
122
|
-
function
|
|
123
|
-
const data =
|
|
124
|
-
|
|
130
|
+
function _lodash() {
|
|
131
|
+
const data = require("lodash");
|
|
132
|
+
_lodash = function () {
|
|
125
133
|
return data;
|
|
126
134
|
};
|
|
127
135
|
return data;
|
|
@@ -151,7 +159,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
151
159
|
const installsRunning = {};
|
|
152
160
|
const cafsLocker = new Map();
|
|
153
161
|
async function createStoreController(options) {
|
|
154
|
-
const authConfig = getAuthConfig(options.registries);
|
|
162
|
+
const authConfig = (0, _pkgConfig().getAuthConfig)(options.registries);
|
|
155
163
|
const opts = {
|
|
156
164
|
dir: options.rootDir,
|
|
157
165
|
cacheDir: options.cacheDir,
|
|
@@ -185,7 +193,7 @@ async function createStoreController(options) {
|
|
|
185
193
|
}
|
|
186
194
|
async function generateResolverAndFetcher(cacheDir, registries, proxyConfig = {}, networkConfig = {}) {
|
|
187
195
|
const pnpmConfig = await (0, _readConfig().readConfig)();
|
|
188
|
-
const authConfig = getAuthConfig(registries);
|
|
196
|
+
const authConfig = (0, _pkgConfig().getAuthConfig)(registries);
|
|
189
197
|
const opts = {
|
|
190
198
|
authConfig: Object.assign({}, pnpmConfig.config.rawConfig, authConfig),
|
|
191
199
|
cacheDir,
|
|
@@ -220,7 +228,6 @@ async function getPeerDependencyIssues(manifestsByPaths, opts) {
|
|
|
220
228
|
rootDir: rootDir
|
|
221
229
|
});
|
|
222
230
|
}
|
|
223
|
-
const registriesMap = getRegistriesMap(opts.registries);
|
|
224
231
|
const storeController = await createStoreController(_objectSpread(_objectSpread({}, opts), {}, {
|
|
225
232
|
rootDir: opts.rootDir
|
|
226
233
|
}));
|
|
@@ -231,7 +238,7 @@ async function getPeerDependencyIssues(manifestsByPaths, opts) {
|
|
|
231
238
|
storeDir: storeController.dir,
|
|
232
239
|
overrides: opts.overrides,
|
|
233
240
|
peersSuffixMaxLength: 1000,
|
|
234
|
-
registries:
|
|
241
|
+
registries: opts.registries.toMap(),
|
|
235
242
|
virtualStoreDirMaxLength: _dependenciesPnpm().VIRTUAL_STORE_DIR_MAX_LENGTH
|
|
236
243
|
});
|
|
237
244
|
}
|
|
@@ -267,8 +274,7 @@ logger) {
|
|
|
267
274
|
} = groupPkgs(manifestsByPaths, {
|
|
268
275
|
update: options?.updateAll
|
|
269
276
|
});
|
|
270
|
-
const
|
|
271
|
-
const authConfig = getAuthConfig(registries);
|
|
277
|
+
const authConfig = (0, _pkgConfig().getAuthConfig)(registries);
|
|
272
278
|
const storeController = await createStoreController({
|
|
273
279
|
rootDir,
|
|
274
280
|
storeDir,
|
|
@@ -301,7 +307,7 @@ logger) {
|
|
|
301
307
|
modulesCacheMaxAge: Infinity,
|
|
302
308
|
// pnpm should never prune the virtual store. Bit does it on its own.
|
|
303
309
|
neverBuiltDependencies: options.neverBuiltDependencies,
|
|
304
|
-
registries:
|
|
310
|
+
registries: registries.toMap(),
|
|
305
311
|
resolutionMode: 'highest',
|
|
306
312
|
rawConfig: authConfig,
|
|
307
313
|
hooks: {
|
|
@@ -320,6 +326,7 @@ logger) {
|
|
|
320
326
|
},
|
|
321
327
|
userAgent: networkConfig.userAgent
|
|
322
328
|
}, options), {}, {
|
|
329
|
+
returnListOfDepsRequiringBuild: true,
|
|
323
330
|
excludeLinksFromLockfile: options.excludeLinksFromLockfile ?? true,
|
|
324
331
|
depth: options.updateAll ? Infinity : 0,
|
|
325
332
|
disableRelinkLocalDirDeps: true,
|
|
@@ -340,7 +347,10 @@ logger) {
|
|
|
340
347
|
await (0, _worker().restartWorkerPool)();
|
|
341
348
|
installsRunning[rootDir] = (0, _core().mutateModules)(packagesToBuild, opts);
|
|
342
349
|
const installResult = await installsRunning[rootDir];
|
|
343
|
-
depsRequiringBuild = installResult.depsRequiringBuild;
|
|
350
|
+
depsRequiringBuild = installResult.depsRequiringBuild?.sort();
|
|
351
|
+
if (depsRequiringBuild != null) {
|
|
352
|
+
await addDepsRequiringBuildToLockfile(rootDir, depsRequiringBuild);
|
|
353
|
+
}
|
|
344
354
|
dependenciesChanged = installResult.stats.added + installResult.stats.removed + installResult.stats.linkedToRoot > 0;
|
|
345
355
|
delete installsRunning[rootDir];
|
|
346
356
|
} catch (err) {
|
|
@@ -542,8 +552,7 @@ async function resolveRemoteVersion(packageName, rootDir, cacheDir, registries,
|
|
|
542
552
|
};
|
|
543
553
|
try {
|
|
544
554
|
const parsedPackage = (0, _parsePackageName().default)(packageName);
|
|
545
|
-
const
|
|
546
|
-
const registry = (0, _pickRegistryForPackage().pickRegistryForPackage)(registriesMap, parsedPackage.name);
|
|
555
|
+
const registry = (0, _pickRegistryForPackage().pickRegistryForPackage)(registries.toMap(), parsedPackage.name);
|
|
547
556
|
const wantedDep = {
|
|
548
557
|
alias: parsedPackage.name,
|
|
549
558
|
pref: parsedPackage.version
|
|
@@ -585,59 +594,16 @@ async function resolveRemoteVersion(packageName, rootDir, cacheDir, registries,
|
|
|
585
594
|
};
|
|
586
595
|
}
|
|
587
596
|
}
|
|
588
|
-
function
|
|
589
|
-
const
|
|
590
|
-
|
|
591
|
-
};
|
|
592
|
-
Object.entries(registries.scopes).forEach(([registryName, registry]) => {
|
|
593
|
-
registriesMap[`@${registryName}`] = registry.uri;
|
|
594
|
-
});
|
|
595
|
-
return registriesMap;
|
|
596
|
-
}
|
|
597
|
-
function getAuthConfig(registries) {
|
|
598
|
-
const res = {};
|
|
599
|
-
res.registry = registries.defaultRegistry.uri;
|
|
600
|
-
if (registries.defaultRegistry.alwaysAuth) {
|
|
601
|
-
res['always-auth'] = true;
|
|
602
|
-
}
|
|
603
|
-
const defaultAuthTokens = getAuthTokenForRegistry(registries.defaultRegistry, true);
|
|
604
|
-
defaultAuthTokens.forEach(({
|
|
605
|
-
keyName,
|
|
606
|
-
val
|
|
607
|
-
}) => {
|
|
608
|
-
res[keyName] = val;
|
|
597
|
+
async function addDepsRequiringBuildToLockfile(rootDir, depsRequiringBuild) {
|
|
598
|
+
const lockfile = await (0, _lockfile().readWantedLockfile)(rootDir, {
|
|
599
|
+
ignoreIncompatible: true
|
|
609
600
|
});
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
val
|
|
615
|
-
}) => {
|
|
616
|
-
res[keyName] = val;
|
|
617
|
-
});
|
|
618
|
-
if (registry.alwaysAuth) {
|
|
619
|
-
const nerfed = (0, _nerfDart().default)(registry.uri);
|
|
620
|
-
const alwaysAuthKeyName = `${nerfed}:always-auth`;
|
|
621
|
-
res[alwaysAuthKeyName] = true;
|
|
622
|
-
}
|
|
601
|
+
if (lockfile == null) return;
|
|
602
|
+
if ((0, _lodash().isEqual)(lockfile.bit?.depsRequiringBuild, depsRequiringBuild)) return;
|
|
603
|
+
lockfile.bit = _objectSpread(_objectSpread({}, lockfile.bit), {}, {
|
|
604
|
+
depsRequiringBuild
|
|
623
605
|
});
|
|
624
|
-
|
|
625
|
-
}
|
|
626
|
-
function getAuthTokenForRegistry(registry, isDefault = false) {
|
|
627
|
-
const nerfed = (0, _nerfDart().default)(registry.uri);
|
|
628
|
-
if (registry.originalAuthType === 'authToken') {
|
|
629
|
-
return [{
|
|
630
|
-
keyName: `${nerfed}:_authToken`,
|
|
631
|
-
val: registry.originalAuthValue || ''
|
|
632
|
-
}];
|
|
633
|
-
}
|
|
634
|
-
if (registry.originalAuthType === 'auth') {
|
|
635
|
-
return [{
|
|
636
|
-
keyName: isDefault ? '_auth' : `${nerfed}:_auth`,
|
|
637
|
-
val: registry.originalAuthValue || ''
|
|
638
|
-
}];
|
|
639
|
-
}
|
|
640
|
-
return [];
|
|
606
|
+
await (0, _lockfile().writeWantedLockfile)(rootDir, lockfile);
|
|
641
607
|
}
|
|
642
608
|
|
|
643
609
|
//# sourceMappingURL=lynx.js.map
|
package/dist/lynx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_semver","data","_interopRequireDefault","require","_parsePackageName","_defaultReporter","_logger","_pluginCommandsRebuild","_storeConnectionManager","_sortPackages","_dependencyResolver","_bitError","_legacy","_core","_interopRequireWildcard","pnpm","_client","_pickRegistryForPackage","_worker","_workspace","_dependenciesPnpm","_nerfDart","_pnpmErrorToBitError","_readConfig","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","installsRunning","cafsLocker","Map","createStoreController","options","authConfig","getAuthConfig","registries","opts","dir","rootDir","cacheDir","storeDir","rawConfig","verifyStoreIntegrity","httpProxy","proxyConfig","httpsProxy","ca","networkConfig","cert","key","localAddress","noProxy","strictSsl","strictSSL","maxSockets","networkConcurrency","packageImportMethod","preferOffline","resolveSymlinksInInjectedDirs","pnpmHomeDir","userAgent","fetchRetries","fetchRetryFactor","fetchRetryMaxtimeout","fetchRetryMintimeout","fetchTimeout","virtualStoreDirMaxLength","VIRTUAL_STORE_DIR_MAX_LENGTH","createOrConnectStoreController","generateResolverAndFetcher","pnpmConfig","readConfig","assign","config","timeout","retry","factor","maxTimeout","minTimeout","retries","result","createClient","getPeerDependencyIssues","manifestsByPaths","projects","manifest","entries","buildIndex","registriesMap","getRegistriesMap","storeController","autoInstallPeers","excludeLinksFromLockfile","ctrl","overrides","peersSuffixMaxLength","install","logger","externalDependencies","Set","readPackage","rootComponents","rootComponentsForCapsules","name","add","readPackageHook","removeLegacyFromDeps","dependenciesMeta","readPackageHookForCapsules","allProjects","packagesToBuild","groupPkgs","update","updateAll","hoistPattern","size","hoistInjectedDependencies","pkgName","autoInstallPeersFromHighestMatch","confirmModulesPurge","dedupePeerDependents","preferFrozenLockfile","pruneLockfileImporters","lockfileOnly","modulesCacheMaxAge","Infinity","neverBuiltDependencies","resolutionMode","hooks","strictPeerDependencies","resolvePeersFromWorkspaceRoot","dedupeDirectDeps","include","dependencies","devDependencies","optionalDependencies","includeOptionalDeps","depth","disableRelinkLocalDirDeps","dependenciesChanged","depsRequiringBuild","dryRun","stopReporting","hidePackageManagerOutput","initReporter","reportOptions","hideAddedPkgsProgress","restartWorkerPool","mutateModules","installResult","stats","added","removed","linkedToRoot","err","warn","pnpmErrorToBitError","finishWorkers","rebuild","rebuildOpts","_opts","appendOnly","hideLifecycleOutput","handler","initDefaultReporter","context","argv","process","reportingOptions","throttleProgress","hideProgressPrefix","peerDependencyRules","allowAny","ignoreMissing","streamParser","filterPkgsDiff","diff","startsWith","from","pkg","workspaceDir","readDependencyPackageHook","peerDependencies","includes","BIT_ROOTS_DIR","readWorkspacePackageHook","version","injected","newDeps","pkgs","map","graph","createPkgGraph","chunks","sortPackages","dirs","mutation","resolveRemoteVersion","packageName","resolve","resolveOpts","lockfileDir","preferredVersions","projectDir","registry","parsedPackage","parsePackageName","pickRegistryForPackage","wantedDep","alias","pref","val","BitError","wantedRange","semver","validRange","undefined","isSemver","resolvedVia","message","normalizedPref","defaultRegistry","uri","NPM_REGISTRY","scopes","registryName","res","alwaysAuth","defaultAuthTokens","getAuthTokenForRegistry","keyName","authTokens","nerfed","toNerfDart","alwaysAuthKeyName","isDefault","originalAuthType","originalAuthValue"],"sources":["lynx.ts"],"sourcesContent":["import semver from 'semver';\nimport parsePackageName from 'parse-package-name';\nimport { initDefaultReporter } from '@pnpm/default-reporter';\nimport { streamParser } from '@pnpm/logger';\nimport { StoreController, WantedDependency } from '@pnpm/package-store';\nimport { rebuild } from '@pnpm/plugin-commands-rebuild';\nimport { createOrConnectStoreController, CreateStoreControllerOptions } from '@pnpm/store-connection-manager';\nimport { sortPackages } from '@pnpm/sort-packages';\nimport { type PeerDependencyRules, type ProjectRootDir, type DepPath } from '@pnpm/types';\nimport {\n ResolvedPackageVersion,\n Registries,\n NPM_REGISTRY,\n Registry,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport { BitError } from '@teambit/bit-error';\nimport { BIT_ROOTS_DIR } from '@teambit/legacy.constants';\nimport {\n MutatedProject,\n mutateModules,\n InstallOptions,\n PeerDependencyIssuesByProjects,\n ProjectOptions,\n} from '@pnpm/core';\nimport * as pnpm from '@pnpm/core';\nimport { createClient, ClientOptions } from '@pnpm/client';\nimport { pickRegistryForPackage } from '@pnpm/pick-registry-for-package';\nimport { restartWorkerPool, finishWorkers } from '@pnpm/worker';\nimport { createPkgGraph } from '@pnpm/workspace.pkgs-graph';\nimport { PackageManifest, ProjectManifest, ReadPackageHook } from '@pnpm/types';\nimport { Logger } from '@teambit/logger';\nimport { VIRTUAL_STORE_DIR_MAX_LENGTH } from '@teambit/dependencies.pnpm.dep-path';\nimport toNerfDart from 'nerf-dart';\nimport { pnpmErrorToBitError } from './pnpm-error-to-bit-error';\nimport { readConfig } from './read-config';\n\nconst installsRunning: Record<string, Promise<any>> = {};\nconst cafsLocker = new Map<string, number>();\n\ntype RegistriesMap = {\n default: string;\n [registryName: string]: string;\n};\n\nasync function createStoreController(\n options: {\n rootDir: string;\n storeDir?: string;\n cacheDir: string;\n registries: Registries;\n proxyConfig: PackageManagerProxyConfig;\n networkConfig: PackageManagerNetworkConfig;\n } & Pick<CreateStoreControllerOptions, 'packageImportMethod' | 'pnpmHomeDir' | 'preferOffline'>\n): Promise<{ ctrl: StoreController; dir: string }> {\n const authConfig = getAuthConfig(options.registries);\n const opts: CreateStoreControllerOptions = {\n dir: options.rootDir,\n cacheDir: options.cacheDir,\n cafsLocker,\n storeDir: options.storeDir,\n rawConfig: authConfig,\n verifyStoreIntegrity: true,\n httpProxy: options.proxyConfig?.httpProxy,\n httpsProxy: options.proxyConfig?.httpsProxy,\n ca: options.networkConfig?.ca,\n cert: options.networkConfig?.cert,\n key: options.networkConfig?.key,\n localAddress: options.networkConfig?.localAddress,\n noProxy: options.proxyConfig?.noProxy,\n strictSsl: options.networkConfig.strictSSL,\n maxSockets: options.networkConfig.maxSockets,\n networkConcurrency: options.networkConfig.networkConcurrency,\n packageImportMethod: options.packageImportMethod,\n preferOffline: options.preferOffline,\n resolveSymlinksInInjectedDirs: true,\n pnpmHomeDir: options.pnpmHomeDir,\n userAgent: options.networkConfig.userAgent,\n fetchRetries: options.networkConfig.fetchRetries,\n fetchRetryFactor: options.networkConfig.fetchRetryFactor,\n fetchRetryMaxtimeout: options.networkConfig.fetchRetryMaxtimeout,\n fetchRetryMintimeout: options.networkConfig.fetchRetryMintimeout,\n fetchTimeout: options.networkConfig.fetchTimeout,\n virtualStoreDirMaxLength: VIRTUAL_STORE_DIR_MAX_LENGTH,\n };\n return createOrConnectStoreController(opts);\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: networkConfig?.ca,\n cert: networkConfig?.cert,\n key: networkConfig?.key,\n localAddress: networkConfig?.localAddress,\n noProxy: proxyConfig?.noProxy,\n strictSsl: networkConfig.strictSSL,\n timeout: networkConfig.fetchTimeout,\n rawConfig: pnpmConfig.config.rawConfig,\n userAgent: networkConfig.userAgent,\n retry: {\n factor: networkConfig.fetchRetryFactor,\n maxTimeout: networkConfig.fetchRetryMaxtimeout,\n minTimeout: networkConfig.fetchRetryMintimeout,\n retries: networkConfig.fetchRetries,\n },\n };\n const result = createClient(opts);\n return result;\n}\n\nexport async function getPeerDependencyIssues(\n manifestsByPaths: Record<string, any>,\n opts: {\n storeDir?: string;\n cacheDir: string;\n registries: Registries;\n rootDir: string;\n proxyConfig: PackageManagerProxyConfig;\n networkConfig: PackageManagerNetworkConfig;\n overrides?: Record<string, string>;\n } & Pick<CreateStoreControllerOptions, 'packageImportMethod' | 'pnpmHomeDir'>\n): Promise<PeerDependencyIssuesByProjects> {\n const projects: ProjectOptions[] = [];\n for (const [rootDir, manifest] of Object.entries(manifestsByPaths)) {\n projects.push({\n buildIndex: 0, // this is not used while searching for peer issues anyway\n manifest,\n rootDir: rootDir as ProjectRootDir,\n });\n }\n const registriesMap = getRegistriesMap(opts.registries);\n const storeController = await createStoreController({\n ...opts,\n rootDir: opts.rootDir,\n });\n return pnpm.getPeerDependencyIssues(projects, {\n autoInstallPeers: false,\n excludeLinksFromLockfile: true,\n storeController: storeController.ctrl,\n storeDir: storeController.dir,\n overrides: opts.overrides,\n peersSuffixMaxLength: 1000,\n registries: registriesMap,\n virtualStoreDirMaxLength: VIRTUAL_STORE_DIR_MAX_LENGTH,\n });\n}\n\nexport type RebuildFn = (opts: { pending?: boolean; skipIfHasSideEffectsCache?: boolean }) => Promise<void>;\n\nexport interface ReportOptions {\n appendOnly?: boolean;\n throttleProgress?: number;\n hideAddedPkgsProgress?: boolean;\n hideProgressPrefix?: boolean;\n hideLifecycleOutput?: boolean;\n peerDependencyRules?: PeerDependencyRules;\n process?: NodeJS.Process;\n}\n\nexport async function install(\n rootDir: string,\n manifestsByPaths: Record<string, ProjectManifest>,\n storeDir: string | undefined,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {},\n options: {\n updateAll?: boolean;\n nodeLinker?: 'hoisted' | 'isolated';\n overrides?: Record<string, string>;\n rootComponents?: boolean;\n rootComponentsForCapsules?: boolean;\n includeOptionalDeps?: boolean;\n reportOptions?: ReportOptions;\n hidePackageManagerOutput?: boolean;\n hoistInjectedDependencies?: boolean;\n dryRun?: boolean;\n dedupeInjectedDeps?: boolean;\n } & Pick<\n InstallOptions,\n | 'autoInstallPeers'\n | 'publicHoistPattern'\n | 'hoistPattern'\n | 'lockfileOnly'\n | 'nodeVersion'\n | 'enableModulesDir'\n | 'engineStrict'\n | 'excludeLinksFromLockfile'\n | 'neverBuiltDependencies'\n | 'ignorePackageManifest'\n | 'hoistWorkspacePackages'\n | 'returnListOfDepsRequiringBuild'\n > &\n Pick<CreateStoreControllerOptions, 'packageImportMethod' | 'pnpmHomeDir' | 'preferOffline'>,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n logger?: Logger\n): Promise<{ dependenciesChanged: boolean; rebuild: RebuildFn; storeDir: string; depsRequiringBuild?: DepPath[] }> {\n const externalDependencies = new Set<string>();\n const readPackage: ReadPackageHook[] = [];\n if (options?.rootComponents && !options?.rootComponentsForCapsules) {\n for (const [dir, { name }] of Object.entries(manifestsByPaths)) {\n if (dir !== rootDir && name) {\n externalDependencies.add(name);\n }\n }\n readPackage.push(readPackageHook as ReadPackageHook);\n }\n readPackage.push(removeLegacyFromDeps as ReadPackageHook);\n if (!manifestsByPaths[rootDir].dependenciesMeta) {\n manifestsByPaths = {\n ...manifestsByPaths,\n [rootDir]: {\n ...manifestsByPaths[rootDir],\n dependenciesMeta: {},\n },\n };\n }\n if (options?.rootComponentsForCapsules) {\n readPackage.push(readPackageHookForCapsules as ReadPackageHook);\n }\n const { allProjects, packagesToBuild } = groupPkgs(manifestsByPaths, {\n update: options?.updateAll,\n });\n const registriesMap = getRegistriesMap(registries);\n const authConfig = getAuthConfig(registries);\n const storeController = await createStoreController({\n rootDir,\n storeDir,\n cacheDir,\n registries,\n preferOffline: options?.preferOffline,\n proxyConfig,\n networkConfig,\n packageImportMethod: options?.packageImportMethod,\n pnpmHomeDir: options?.pnpmHomeDir,\n });\n const hoistPattern = options.hoistPattern ?? ['*'];\n if (hoistPattern.length > 0 && externalDependencies.size > 0 && !options.hoistInjectedDependencies) {\n for (const pkgName of externalDependencies) {\n hoistPattern.push(`!${pkgName}`);\n }\n }\n const opts: InstallOptions = {\n allProjects,\n autoInstallPeers: options.autoInstallPeers,\n autoInstallPeersFromHighestMatch: options.autoInstallPeers,\n confirmModulesPurge: false,\n storeDir: storeController.dir,\n dedupePeerDependents: true,\n dir: rootDir,\n storeController: storeController.ctrl,\n preferFrozenLockfile: true,\n pruneLockfileImporters: true,\n lockfileOnly: options.lockfileOnly ?? false,\n modulesCacheMaxAge: Infinity, // pnpm should never prune the virtual store. Bit does it on its own.\n neverBuiltDependencies: options.neverBuiltDependencies,\n registries: registriesMap,\n resolutionMode: 'highest',\n rawConfig: authConfig,\n hooks: { readPackage },\n externalDependencies,\n strictPeerDependencies: false,\n peersSuffixMaxLength: 1000,\n resolveSymlinksInInjectedDirs: true,\n resolvePeersFromWorkspaceRoot: true,\n dedupeDirectDeps: true,\n include: {\n dependencies: true,\n devDependencies: true,\n optionalDependencies: options?.includeOptionalDeps !== false,\n },\n userAgent: networkConfig.userAgent,\n ...options,\n excludeLinksFromLockfile: options.excludeLinksFromLockfile ?? true,\n depth: options.updateAll ? Infinity : 0,\n disableRelinkLocalDirDeps: true,\n hoistPattern,\n virtualStoreDirMaxLength: VIRTUAL_STORE_DIR_MAX_LENGTH,\n };\n\n let dependenciesChanged = false;\n let depsRequiringBuild: DepPath[] | undefined;\n if (!options.dryRun) {\n let stopReporting: Function | undefined;\n if (!options.hidePackageManagerOutput) {\n stopReporting = initReporter({\n ...options.reportOptions,\n hideAddedPkgsProgress: options.lockfileOnly,\n });\n }\n try {\n await installsRunning[rootDir];\n await restartWorkerPool();\n installsRunning[rootDir] = mutateModules(packagesToBuild, opts);\n const installResult = await installsRunning[rootDir];\n depsRequiringBuild = installResult.depsRequiringBuild;\n dependenciesChanged =\n installResult.stats.added + installResult.stats.removed + installResult.stats.linkedToRoot > 0;\n delete installsRunning[rootDir];\n } catch (err: any) {\n if (logger) {\n logger.warn('got an error from pnpm mutateModules function', err);\n }\n throw pnpmErrorToBitError(err);\n } finally {\n stopReporting?.();\n await finishWorkers();\n }\n }\n return {\n dependenciesChanged,\n rebuild: async (rebuildOpts) => {\n let stopReporting: Function | undefined;\n const _opts = {\n ...opts,\n ...rebuildOpts,\n cacheDir,\n } as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n if (!_opts.hidePackageManagerOutput) {\n stopReporting = initReporter({\n appendOnly: true,\n hideLifecycleOutput: true,\n });\n }\n try {\n await rebuild.handler(_opts, []);\n } finally {\n stopReporting?.();\n }\n },\n storeDir: storeController.dir,\n depsRequiringBuild,\n };\n}\n\nfunction initReporter(opts?: ReportOptions) {\n return initDefaultReporter({\n context: {\n argv: [],\n process: opts?.process,\n },\n reportingOptions: {\n appendOnly: opts?.appendOnly ?? false,\n throttleProgress: opts?.throttleProgress ?? 200,\n hideAddedPkgsProgress: opts?.hideAddedPkgsProgress,\n hideProgressPrefix: opts?.hideProgressPrefix,\n hideLifecycleOutput: opts?.hideLifecycleOutput,\n peerDependencyRules: {\n allowAny: ['*'],\n ignoreMissing: ['*'],\n ...opts?.peerDependencyRules,\n },\n },\n streamParser: streamParser as any, // eslint-disable-line\n // Linked in core aspects are excluded from the output to reduce noise.\n // Other @teambit/ dependencies will be shown.\n // Only those that are symlinked from outside the workspace will be hidden.\n filterPkgsDiff: (diff) => !diff.name.startsWith('@teambit/') || !diff.from,\n });\n}\n\n/**\n * This hook is used when installation is executed inside a capsule.\n * The components in the capsules should get their peer dependencies installed,\n * so this hook converts any peer dependencies into runtime dependencies.\n * Also, any local dependencies are extended with the \"injected\" option,\n * this tells pnpm to hard link the packages instead of symlinking them.\n */\nfunction readPackageHookForCapsules(pkg: PackageManifest, workspaceDir?: string): PackageManifest {\n // workspaceDir is set only for workspace packages\n if (workspaceDir) {\n return readDependencyPackageHook({\n ...pkg,\n dependencies: {\n ...pkg.peerDependencies,\n ...pkg.dependencies,\n },\n });\n }\n return readDependencyPackageHook(pkg);\n}\n\n/**\n * @teambit/legacy should never be installed as a dependency.\n * It is linked from bvm.\n */\nfunction removeLegacyFromDeps(pkg: PackageManifest): PackageManifest {\n if (pkg.dependencies?.['@teambit/legacy'] && !pkg.dependencies['@teambit/legacy'].startsWith('link:')) {\n delete pkg.dependencies['@teambit/legacy'];\n }\n if (pkg.peerDependencies?.['@teambit/legacy']) {\n delete pkg.peerDependencies['@teambit/legacy'];\n }\n return pkg;\n}\n\n/**\n * This hook is used when installation happens in a Bit workspace.\n * We need a different hook for this case because unlike in a capsule, in a workspace,\n * the package manager only links workspace components to subdependencies.\n * For direct dependencies, Bit's linking is used.\n */\nfunction readPackageHook(pkg: PackageManifest, workspaceDir?: string): PackageManifest {\n if (!pkg.dependencies) {\n return pkg;\n }\n // workspaceDir is set only for workspace packages\n if (workspaceDir && !workspaceDir.includes(BIT_ROOTS_DIR)) {\n return readWorkspacePackageHook(pkg);\n }\n return readDependencyPackageHook(pkg);\n}\n\n/**\n * This hook adds the \"injected\" option to any workspace dependency.\n * The injected option tell pnpm to hard link the packages instead of symlinking them.\n */\nfunction readDependencyPackageHook(pkg: PackageManifest): PackageManifest {\n const dependenciesMeta = pkg.dependenciesMeta ?? {};\n for (const [name, version] of Object.entries(pkg.dependencies ?? {})) {\n if (version.startsWith('workspace:')) {\n // This instructs pnpm to hard link the component from the workspace, not symlink it.\n dependenciesMeta[name] = { injected: true };\n }\n }\n return {\n ...pkg,\n dependenciesMeta,\n };\n}\n\n/**\n * This hook is used when installation happens in a Bit workspace.\n * It is applied on workspace projects, and it removes any references to other workspace projects.\n * This is needed because Bit has its own linking for workspace projects.\n * pnpm should not override the links created by Bit.\n * Otherwise, the IDE would reference workspace projects from inside `node_modules/.pnpm`.\n */\nfunction readWorkspacePackageHook(pkg: PackageManifest): PackageManifest {\n const newDeps = {};\n for (const [name, version] of Object.entries(pkg.dependencies ?? {})) {\n if (!version.startsWith('workspace:')) {\n newDeps[name] = version;\n }\n }\n return {\n ...pkg,\n dependencies: {\n ...pkg.peerDependencies,\n ...newDeps,\n },\n };\n}\n\nfunction groupPkgs(manifestsByPaths: Record<string, ProjectManifest>, opts: { update?: boolean }) {\n const pkgs = Object.entries(manifestsByPaths).map(([rootDir, manifest]) => ({\n rootDir: rootDir as ProjectRootDir,\n manifest,\n }));\n const { graph } = createPkgGraph(pkgs);\n const chunks = sortPackages(graph as any);\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 const packagesToBuild: MutatedProject[] = []; // @pnpm/core will use this to install the packages\n const allProjects: ProjectOptions[] = [];\n\n chunks.forEach((dirs, buildIndex) => {\n for (const rootDir of dirs) {\n const manifest = manifestsByPaths[rootDir];\n allProjects.push({\n buildIndex,\n manifest,\n rootDir,\n });\n packagesToBuild.push({\n rootDir,\n mutation: 'install',\n update: opts.update,\n });\n }\n });\n return { packagesToBuild, allProjects };\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 lockfileDir: rootDir,\n preferredVersions: {},\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 resolveOpts.registry = registry;\n const val = await resolve(wantedDep, resolveOpts);\n if (!val.manifest) {\n throw new BitError('The resolved package has no manifest');\n }\n const wantedRange =\n parsedPackage.version && semver.validRange(parsedPackage.version) ? parsedPackage.version : undefined;\n\n return {\n packageName: val.manifest.name,\n version: val.manifest.version,\n wantedRange,\n isSemver: true,\n resolvedVia: val.resolvedVia,\n };\n } catch (e: any) {\n if (!e.message?.includes('is not a valid string')) {\n throw pnpmErrorToBitError(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 if (!val.manifest) {\n throw new BitError('The resolved package has no manifest');\n }\n if (!val.normalizedPref) {\n throw new BitError('The resolved package has no version');\n }\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 return [];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_semver","data","_interopRequireDefault","require","_parsePackageName","_defaultReporter","_logger","_pluginCommandsRebuild","_storeConnectionManager","_sortPackages","_pkgConfig","_bitError","_legacy","_core","_interopRequireWildcard","pnpm","_client","_pickRegistryForPackage","_worker","_workspace","_lockfile","_dependenciesPnpm","_lodash","_pnpmErrorToBitError","_readConfig","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","installsRunning","cafsLocker","Map","createStoreController","options","authConfig","getAuthConfig","registries","opts","dir","rootDir","cacheDir","storeDir","rawConfig","verifyStoreIntegrity","httpProxy","proxyConfig","httpsProxy","ca","networkConfig","cert","key","localAddress","noProxy","strictSsl","strictSSL","maxSockets","networkConcurrency","packageImportMethod","preferOffline","resolveSymlinksInInjectedDirs","pnpmHomeDir","userAgent","fetchRetries","fetchRetryFactor","fetchRetryMaxtimeout","fetchRetryMintimeout","fetchTimeout","virtualStoreDirMaxLength","VIRTUAL_STORE_DIR_MAX_LENGTH","createOrConnectStoreController","generateResolverAndFetcher","pnpmConfig","readConfig","assign","config","timeout","retry","factor","maxTimeout","minTimeout","retries","result","createClient","getPeerDependencyIssues","manifestsByPaths","projects","manifest","entries","buildIndex","storeController","autoInstallPeers","excludeLinksFromLockfile","ctrl","overrides","peersSuffixMaxLength","toMap","install","logger","externalDependencies","Set","readPackage","rootComponents","rootComponentsForCapsules","name","add","readPackageHook","removeLegacyFromDeps","dependenciesMeta","readPackageHookForCapsules","allProjects","packagesToBuild","groupPkgs","update","updateAll","hoistPattern","size","hoistInjectedDependencies","pkgName","autoInstallPeersFromHighestMatch","confirmModulesPurge","dedupePeerDependents","preferFrozenLockfile","pruneLockfileImporters","lockfileOnly","modulesCacheMaxAge","Infinity","neverBuiltDependencies","resolutionMode","hooks","strictPeerDependencies","resolvePeersFromWorkspaceRoot","dedupeDirectDeps","include","dependencies","devDependencies","optionalDependencies","includeOptionalDeps","returnListOfDepsRequiringBuild","depth","disableRelinkLocalDirDeps","dependenciesChanged","depsRequiringBuild","dryRun","stopReporting","hidePackageManagerOutput","initReporter","reportOptions","hideAddedPkgsProgress","restartWorkerPool","mutateModules","installResult","sort","addDepsRequiringBuildToLockfile","stats","added","removed","linkedToRoot","err","warn","pnpmErrorToBitError","finishWorkers","rebuild","rebuildOpts","_opts","appendOnly","hideLifecycleOutput","handler","initDefaultReporter","context","argv","process","reportingOptions","throttleProgress","hideProgressPrefix","peerDependencyRules","allowAny","ignoreMissing","streamParser","filterPkgsDiff","diff","startsWith","from","pkg","workspaceDir","readDependencyPackageHook","peerDependencies","includes","BIT_ROOTS_DIR","readWorkspacePackageHook","version","injected","newDeps","pkgs","map","graph","createPkgGraph","chunks","sortPackages","dirs","mutation","resolveRemoteVersion","packageName","resolve","resolveOpts","lockfileDir","preferredVersions","projectDir","registry","parsedPackage","parsePackageName","pickRegistryForPackage","wantedDep","alias","pref","val","BitError","wantedRange","semver","validRange","undefined","isSemver","resolvedVia","message","normalizedPref","lockfile","readWantedLockfile","ignoreIncompatible","isEqual","bit","writeWantedLockfile"],"sources":["lynx.ts"],"sourcesContent":["import semver from 'semver';\nimport parsePackageName from 'parse-package-name';\nimport { initDefaultReporter } from '@pnpm/default-reporter';\nimport { streamParser } from '@pnpm/logger';\nimport { StoreController, WantedDependency } from '@pnpm/package-store';\nimport { rebuild } from '@pnpm/plugin-commands-rebuild';\nimport { createOrConnectStoreController, CreateStoreControllerOptions } from '@pnpm/store-connection-manager';\nimport { sortPackages } from '@pnpm/sort-packages';\nimport { type PeerDependencyRules, type ProjectRootDir, type DepPath } from '@pnpm/types';\nimport { Registries } from '@teambit/pkg.entities.registry';\nimport { getAuthConfig } from '@teambit/pkg.config.auth';\nimport {\n ResolvedPackageVersion,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport { BitError } from '@teambit/bit-error';\nimport { BIT_ROOTS_DIR } from '@teambit/legacy.constants';\nimport {\n MutatedProject,\n mutateModules,\n InstallOptions,\n PeerDependencyIssuesByProjects,\n ProjectOptions,\n} from '@pnpm/core';\nimport * as pnpm from '@pnpm/core';\nimport { createClient, ClientOptions } from '@pnpm/client';\nimport { pickRegistryForPackage } from '@pnpm/pick-registry-for-package';\nimport { restartWorkerPool, finishWorkers } from '@pnpm/worker';\nimport { createPkgGraph } from '@pnpm/workspace.pkgs-graph';\nimport { PackageManifest, ProjectManifest, ReadPackageHook } from '@pnpm/types';\nimport { readWantedLockfile, writeWantedLockfile } from '@pnpm/lockfile.fs';\nimport { type LockfileFileV9, type Lockfile } from '@pnpm/lockfile.types'\nimport { Logger } from '@teambit/logger';\nimport { VIRTUAL_STORE_DIR_MAX_LENGTH } from '@teambit/dependencies.pnpm.dep-path';\nimport { isEqual } from 'lodash'\nimport { pnpmErrorToBitError } from './pnpm-error-to-bit-error';\nimport { readConfig } from './read-config';\n\nconst installsRunning: Record<string, Promise<any>> = {};\nconst cafsLocker = new Map<string, number>();\n\nasync function createStoreController(\n options: {\n rootDir: string;\n storeDir?: string;\n cacheDir: string;\n registries: Registries;\n proxyConfig: PackageManagerProxyConfig;\n networkConfig: PackageManagerNetworkConfig;\n } & Pick<CreateStoreControllerOptions, 'packageImportMethod' | 'pnpmHomeDir' | 'preferOffline'>\n): Promise<{ ctrl: StoreController; dir: string }> {\n const authConfig = getAuthConfig(options.registries);\n const opts: CreateStoreControllerOptions = {\n dir: options.rootDir,\n cacheDir: options.cacheDir,\n cafsLocker,\n storeDir: options.storeDir,\n rawConfig: authConfig,\n verifyStoreIntegrity: true,\n httpProxy: options.proxyConfig?.httpProxy,\n httpsProxy: options.proxyConfig?.httpsProxy,\n ca: options.networkConfig?.ca,\n cert: options.networkConfig?.cert,\n key: options.networkConfig?.key,\n localAddress: options.networkConfig?.localAddress,\n noProxy: options.proxyConfig?.noProxy,\n strictSsl: options.networkConfig.strictSSL,\n maxSockets: options.networkConfig.maxSockets,\n networkConcurrency: options.networkConfig.networkConcurrency,\n packageImportMethod: options.packageImportMethod,\n preferOffline: options.preferOffline,\n resolveSymlinksInInjectedDirs: true,\n pnpmHomeDir: options.pnpmHomeDir,\n userAgent: options.networkConfig.userAgent,\n fetchRetries: options.networkConfig.fetchRetries,\n fetchRetryFactor: options.networkConfig.fetchRetryFactor,\n fetchRetryMaxtimeout: options.networkConfig.fetchRetryMaxtimeout,\n fetchRetryMintimeout: options.networkConfig.fetchRetryMintimeout,\n fetchTimeout: options.networkConfig.fetchTimeout,\n virtualStoreDirMaxLength: VIRTUAL_STORE_DIR_MAX_LENGTH,\n };\n return createOrConnectStoreController(opts);\n}\n\nexport async 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: networkConfig?.ca,\n cert: networkConfig?.cert,\n key: networkConfig?.key,\n localAddress: networkConfig?.localAddress,\n noProxy: proxyConfig?.noProxy,\n strictSsl: networkConfig.strictSSL,\n timeout: networkConfig.fetchTimeout,\n rawConfig: pnpmConfig.config.rawConfig,\n userAgent: networkConfig.userAgent,\n retry: {\n factor: networkConfig.fetchRetryFactor,\n maxTimeout: networkConfig.fetchRetryMaxtimeout,\n minTimeout: networkConfig.fetchRetryMintimeout,\n retries: networkConfig.fetchRetries,\n },\n };\n const result = createClient(opts);\n return result;\n}\n\nexport async function getPeerDependencyIssues(\n manifestsByPaths: Record<string, any>,\n opts: {\n storeDir?: string;\n cacheDir: string;\n registries: Registries;\n rootDir: string;\n proxyConfig: PackageManagerProxyConfig;\n networkConfig: PackageManagerNetworkConfig;\n overrides?: Record<string, string>;\n } & Pick<CreateStoreControllerOptions, 'packageImportMethod' | 'pnpmHomeDir'>\n): Promise<PeerDependencyIssuesByProjects> {\n const projects: ProjectOptions[] = [];\n for (const [rootDir, manifest] of Object.entries(manifestsByPaths)) {\n projects.push({\n buildIndex: 0, // this is not used while searching for peer issues anyway\n manifest,\n rootDir: rootDir as ProjectRootDir,\n });\n }\n const storeController = await createStoreController({\n ...opts,\n rootDir: opts.rootDir,\n });\n return pnpm.getPeerDependencyIssues(projects, {\n autoInstallPeers: false,\n excludeLinksFromLockfile: true,\n storeController: storeController.ctrl,\n storeDir: storeController.dir,\n overrides: opts.overrides,\n peersSuffixMaxLength: 1000,\n registries: opts.registries.toMap(),\n virtualStoreDirMaxLength: VIRTUAL_STORE_DIR_MAX_LENGTH,\n });\n}\n\nexport type RebuildFn = (opts: { pending?: boolean; skipIfHasSideEffectsCache?: boolean }) => Promise<void>;\n\nexport interface ReportOptions {\n appendOnly?: boolean;\n throttleProgress?: number;\n hideAddedPkgsProgress?: boolean;\n hideProgressPrefix?: boolean;\n hideLifecycleOutput?: boolean;\n peerDependencyRules?: PeerDependencyRules;\n process?: NodeJS.Process;\n}\n\nexport async function install(\n rootDir: string,\n manifestsByPaths: Record<string, ProjectManifest>,\n storeDir: string | undefined,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {},\n options: {\n updateAll?: boolean;\n nodeLinker?: 'hoisted' | 'isolated';\n overrides?: Record<string, string>;\n rootComponents?: boolean;\n rootComponentsForCapsules?: boolean;\n includeOptionalDeps?: boolean;\n reportOptions?: ReportOptions;\n hidePackageManagerOutput?: boolean;\n hoistInjectedDependencies?: boolean;\n dryRun?: boolean;\n dedupeInjectedDeps?: boolean;\n } & Pick<\n InstallOptions,\n | 'autoInstallPeers'\n | 'publicHoistPattern'\n | 'hoistPattern'\n | 'lockfileOnly'\n | 'nodeVersion'\n | 'enableModulesDir'\n | 'engineStrict'\n | 'excludeLinksFromLockfile'\n | 'neverBuiltDependencies'\n | 'ignorePackageManifest'\n | 'hoistWorkspacePackages'\n | 'returnListOfDepsRequiringBuild'\n > &\n Pick<CreateStoreControllerOptions, 'packageImportMethod' | 'pnpmHomeDir' | 'preferOffline'>,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n logger?: Logger\n): Promise<{ dependenciesChanged: boolean; rebuild: RebuildFn; storeDir: string; depsRequiringBuild?: DepPath[] }> {\n const externalDependencies = new Set<string>();\n const readPackage: ReadPackageHook[] = [];\n if (options?.rootComponents && !options?.rootComponentsForCapsules) {\n for (const [dir, { name }] of Object.entries(manifestsByPaths)) {\n if (dir !== rootDir && name) {\n externalDependencies.add(name);\n }\n }\n readPackage.push(readPackageHook as ReadPackageHook);\n }\n readPackage.push(removeLegacyFromDeps as ReadPackageHook);\n if (!manifestsByPaths[rootDir].dependenciesMeta) {\n manifestsByPaths = {\n ...manifestsByPaths,\n [rootDir]: {\n ...manifestsByPaths[rootDir],\n dependenciesMeta: {},\n },\n };\n }\n if (options?.rootComponentsForCapsules) {\n readPackage.push(readPackageHookForCapsules as ReadPackageHook);\n }\n const { allProjects, packagesToBuild } = groupPkgs(manifestsByPaths, {\n update: options?.updateAll,\n });\n const authConfig = getAuthConfig(registries);\n const storeController = await createStoreController({\n rootDir,\n storeDir,\n cacheDir,\n registries,\n preferOffline: options?.preferOffline,\n proxyConfig,\n networkConfig,\n packageImportMethod: options?.packageImportMethod,\n pnpmHomeDir: options?.pnpmHomeDir,\n });\n const hoistPattern = options.hoistPattern ?? ['*'];\n if (hoistPattern.length > 0 && externalDependencies.size > 0 && !options.hoistInjectedDependencies) {\n for (const pkgName of externalDependencies) {\n hoistPattern.push(`!${pkgName}`);\n }\n }\n const opts: InstallOptions = {\n allProjects,\n autoInstallPeers: options.autoInstallPeers,\n autoInstallPeersFromHighestMatch: options.autoInstallPeers,\n confirmModulesPurge: false,\n storeDir: storeController.dir,\n dedupePeerDependents: true,\n dir: rootDir,\n storeController: storeController.ctrl,\n preferFrozenLockfile: true,\n pruneLockfileImporters: true,\n lockfileOnly: options.lockfileOnly ?? false,\n modulesCacheMaxAge: Infinity, // pnpm should never prune the virtual store. Bit does it on its own.\n neverBuiltDependencies: options.neverBuiltDependencies,\n registries: registries.toMap(),\n resolutionMode: 'highest',\n rawConfig: authConfig,\n hooks: { readPackage },\n externalDependencies,\n strictPeerDependencies: false,\n peersSuffixMaxLength: 1000,\n resolveSymlinksInInjectedDirs: true,\n resolvePeersFromWorkspaceRoot: true,\n dedupeDirectDeps: true,\n include: {\n dependencies: true,\n devDependencies: true,\n optionalDependencies: options?.includeOptionalDeps !== false,\n },\n userAgent: networkConfig.userAgent,\n ...options,\n returnListOfDepsRequiringBuild: true,\n excludeLinksFromLockfile: options.excludeLinksFromLockfile ?? true,\n depth: options.updateAll ? Infinity : 0,\n disableRelinkLocalDirDeps: true,\n hoistPattern,\n virtualStoreDirMaxLength: VIRTUAL_STORE_DIR_MAX_LENGTH,\n };\n\n let dependenciesChanged = false;\n let depsRequiringBuild: DepPath[] | undefined;\n if (!options.dryRun) {\n let stopReporting: Function | undefined;\n if (!options.hidePackageManagerOutput) {\n stopReporting = initReporter({\n ...options.reportOptions,\n hideAddedPkgsProgress: options.lockfileOnly,\n });\n }\n try {\n await installsRunning[rootDir];\n await restartWorkerPool();\n installsRunning[rootDir] = mutateModules(packagesToBuild, opts);\n const installResult = await installsRunning[rootDir];\n depsRequiringBuild = installResult.depsRequiringBuild?.sort();\n if (depsRequiringBuild != null) {\n await addDepsRequiringBuildToLockfile(rootDir, depsRequiringBuild)\n }\n dependenciesChanged =\n installResult.stats.added + installResult.stats.removed + installResult.stats.linkedToRoot > 0;\n delete installsRunning[rootDir];\n } catch (err: any) {\n if (logger) {\n logger.warn('got an error from pnpm mutateModules function', err);\n }\n throw pnpmErrorToBitError(err);\n } finally {\n stopReporting?.();\n await finishWorkers();\n }\n }\n return {\n dependenciesChanged,\n rebuild: async (rebuildOpts) => {\n let stopReporting: Function | undefined;\n const _opts = {\n ...opts,\n ...rebuildOpts,\n cacheDir,\n } as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n if (!_opts.hidePackageManagerOutput) {\n stopReporting = initReporter({\n appendOnly: true,\n hideLifecycleOutput: true,\n });\n }\n try {\n await rebuild.handler(_opts, []);\n } finally {\n stopReporting?.();\n }\n },\n storeDir: storeController.dir,\n depsRequiringBuild,\n };\n}\n\nfunction initReporter(opts?: ReportOptions) {\n return initDefaultReporter({\n context: {\n argv: [],\n process: opts?.process,\n },\n reportingOptions: {\n appendOnly: opts?.appendOnly ?? false,\n throttleProgress: opts?.throttleProgress ?? 200,\n hideAddedPkgsProgress: opts?.hideAddedPkgsProgress,\n hideProgressPrefix: opts?.hideProgressPrefix,\n hideLifecycleOutput: opts?.hideLifecycleOutput,\n peerDependencyRules: {\n allowAny: ['*'],\n ignoreMissing: ['*'],\n ...opts?.peerDependencyRules,\n },\n },\n streamParser: streamParser as any, // eslint-disable-line\n // Linked in core aspects are excluded from the output to reduce noise.\n // Other @teambit/ dependencies will be shown.\n // Only those that are symlinked from outside the workspace will be hidden.\n filterPkgsDiff: (diff) => !diff.name.startsWith('@teambit/') || !diff.from,\n });\n}\n\n/**\n * This hook is used when installation is executed inside a capsule.\n * The components in the capsules should get their peer dependencies installed,\n * so this hook converts any peer dependencies into runtime dependencies.\n * Also, any local dependencies are extended with the \"injected\" option,\n * this tells pnpm to hard link the packages instead of symlinking them.\n */\nfunction readPackageHookForCapsules(pkg: PackageManifest, workspaceDir?: string): PackageManifest {\n // workspaceDir is set only for workspace packages\n if (workspaceDir) {\n return readDependencyPackageHook({\n ...pkg,\n dependencies: {\n ...pkg.peerDependencies,\n ...pkg.dependencies,\n },\n });\n }\n return readDependencyPackageHook(pkg);\n}\n\n/**\n * @teambit/legacy should never be installed as a dependency.\n * It is linked from bvm.\n */\nfunction removeLegacyFromDeps(pkg: PackageManifest): PackageManifest {\n if (pkg.dependencies?.['@teambit/legacy'] && !pkg.dependencies['@teambit/legacy'].startsWith('link:')) {\n delete pkg.dependencies['@teambit/legacy'];\n }\n if (pkg.peerDependencies?.['@teambit/legacy']) {\n delete pkg.peerDependencies['@teambit/legacy'];\n }\n return pkg;\n}\n\n/**\n * This hook is used when installation happens in a Bit workspace.\n * We need a different hook for this case because unlike in a capsule, in a workspace,\n * the package manager only links workspace components to subdependencies.\n * For direct dependencies, Bit's linking is used.\n */\nfunction readPackageHook(pkg: PackageManifest, workspaceDir?: string): PackageManifest {\n if (!pkg.dependencies) {\n return pkg;\n }\n // workspaceDir is set only for workspace packages\n if (workspaceDir && !workspaceDir.includes(BIT_ROOTS_DIR)) {\n return readWorkspacePackageHook(pkg);\n }\n return readDependencyPackageHook(pkg);\n}\n\n/**\n * This hook adds the \"injected\" option to any workspace dependency.\n * The injected option tell pnpm to hard link the packages instead of symlinking them.\n */\nfunction readDependencyPackageHook(pkg: PackageManifest): PackageManifest {\n const dependenciesMeta = pkg.dependenciesMeta ?? {};\n for (const [name, version] of Object.entries(pkg.dependencies ?? {})) {\n if (version.startsWith('workspace:')) {\n // This instructs pnpm to hard link the component from the workspace, not symlink it.\n dependenciesMeta[name] = { injected: true };\n }\n }\n return {\n ...pkg,\n dependenciesMeta,\n };\n}\n\n/**\n * This hook is used when installation happens in a Bit workspace.\n * It is applied on workspace projects, and it removes any references to other workspace projects.\n * This is needed because Bit has its own linking for workspace projects.\n * pnpm should not override the links created by Bit.\n * Otherwise, the IDE would reference workspace projects from inside `node_modules/.pnpm`.\n */\nfunction readWorkspacePackageHook(pkg: PackageManifest): PackageManifest {\n const newDeps = {};\n for (const [name, version] of Object.entries(pkg.dependencies ?? {})) {\n if (!version.startsWith('workspace:')) {\n newDeps[name] = version;\n }\n }\n return {\n ...pkg,\n dependencies: {\n ...pkg.peerDependencies,\n ...newDeps,\n },\n };\n}\n\nfunction groupPkgs(manifestsByPaths: Record<string, ProjectManifest>, opts: { update?: boolean }) {\n const pkgs = Object.entries(manifestsByPaths).map(([rootDir, manifest]) => ({\n rootDir: rootDir as ProjectRootDir,\n manifest,\n }));\n const { graph } = createPkgGraph(pkgs);\n const chunks = sortPackages(graph as any);\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 const packagesToBuild: MutatedProject[] = []; // @pnpm/core will use this to install the packages\n const allProjects: ProjectOptions[] = [];\n\n chunks.forEach((dirs, buildIndex) => {\n for (const rootDir of dirs) {\n const manifest = manifestsByPaths[rootDir];\n allProjects.push({\n buildIndex,\n manifest,\n rootDir,\n });\n packagesToBuild.push({\n rootDir,\n mutation: 'install',\n update: opts.update,\n });\n }\n });\n return { packagesToBuild, allProjects };\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 lockfileDir: rootDir,\n preferredVersions: {},\n projectDir: rootDir,\n registry: '',\n };\n try {\n const parsedPackage = parsePackageName(packageName);\n const registry = pickRegistryForPackage(registries.toMap(), parsedPackage.name);\n const wantedDep: WantedDependency = {\n alias: parsedPackage.name,\n pref: parsedPackage.version,\n };\n resolveOpts.registry = registry;\n const val = await resolve(wantedDep, resolveOpts);\n if (!val.manifest) {\n throw new BitError('The resolved package has no manifest');\n }\n const wantedRange =\n parsedPackage.version && semver.validRange(parsedPackage.version) ? parsedPackage.version : undefined;\n\n return {\n packageName: val.manifest.name,\n version: val.manifest.version,\n wantedRange,\n isSemver: true,\n resolvedVia: val.resolvedVia,\n };\n } catch (e: any) {\n if (!e.message?.includes('is not a valid string')) {\n throw pnpmErrorToBitError(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 if (!val.manifest) {\n throw new BitError('The resolved package has no manifest');\n }\n if (!val.normalizedPref) {\n throw new BitError('The resolved package has no version');\n }\n return {\n packageName: val.manifest.name,\n version: val.normalizedPref,\n isSemver: false,\n resolvedVia: val.resolvedVia,\n };\n }\n}\n\nasync function addDepsRequiringBuildToLockfile(rootDir: string, depsRequiringBuild: string[]) {\n const lockfile = await readWantedLockfile(rootDir, { ignoreIncompatible: true }) as BitLockfile;\n if (lockfile == null) return\n if (isEqual(lockfile.bit?.depsRequiringBuild, depsRequiringBuild)) return;\n lockfile.bit = {\n ...lockfile.bit,\n depsRequiringBuild,\n }\n await writeWantedLockfile(rootDir, lockfile);\n}\n\nexport interface BitLockfile extends Lockfile {\n bit?: BitLockfileAttributes;\n}\n\nexport interface BitLockfileFile extends LockfileFileV9 {\n bit?: BitLockfileAttributes;\n}\n\nexport interface BitLockfileAttributes {\n depsRequiringBuild: string[];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { CloudMain } from '@teambit/cloud';
|
|
2
|
-
import { DependencyResolverMain, InstallationContext, PackageManager, PackageManagerInstallOptions, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion,
|
|
2
|
+
import { DependencyResolverMain, InstallationContext, PackageManager, PackageManagerInstallOptions, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion, PackageManagerProxyConfig, PackageManagerNetworkConfig, type CalcDepsGraphOptions } from '@teambit/dependency-resolver';
|
|
3
|
+
import { Registries } from '@teambit/pkg.entities.registry';
|
|
3
4
|
import { Logger } from '@teambit/logger';
|
|
4
5
|
import { PeerDependencyIssuesByProjects } from '@pnpm/core';
|
|
6
|
+
import { type ResolveFunction } from '@pnpm/client';
|
|
5
7
|
import { Config } from '@pnpm/config';
|
|
6
|
-
import { type ProjectManifest, type DepPath } from '@pnpm/types';
|
|
8
|
+
import { type ProjectManifest, type DepPath, type Registries as ScopeRegistires } from '@pnpm/types';
|
|
7
9
|
import { Modules } from '@pnpm/modules-yaml';
|
|
8
|
-
import
|
|
10
|
+
import { RebuildFn } from './lynx';
|
|
9
11
|
import { type DependenciesGraph } from '@teambit/objects';
|
|
10
12
|
export type { RebuildFn };
|
|
11
13
|
export interface InstallResult {
|
|
@@ -28,7 +30,12 @@ export declare class PnpmPackageManager implements PackageManager {
|
|
|
28
30
|
private _readConfig;
|
|
29
31
|
readConfig: (dir?: string) => ReadConfigResult;
|
|
30
32
|
constructor(depResolver: DependencyResolverMain, logger: Logger, cloud: CloudMain);
|
|
31
|
-
dependenciesGraphToLockfile(dependenciesGraph: DependenciesGraph,
|
|
33
|
+
dependenciesGraphToLockfile(dependenciesGraph: DependenciesGraph, opts: {
|
|
34
|
+
manifests: Record<string, ProjectManifest>;
|
|
35
|
+
rootDir: string;
|
|
36
|
+
resolve: ResolveFunction;
|
|
37
|
+
registries: ScopeRegistires;
|
|
38
|
+
}): Promise<void>;
|
|
32
39
|
install({ rootDir, manifests }: InstallationContext, installOptions?: PackageManagerInstallOptions): Promise<InstallResult>;
|
|
33
40
|
getPeerDependencyIssues(rootDir: string, manifests: Record<string, ProjectManifest>, installOptions?: PackageManagerInstallOptions): Promise<PeerDependencyIssuesByProjects>;
|
|
34
41
|
resolveRemoteVersion(packageName: string, options: PackageManagerResolveRemoteVersionOptions): Promise<ResolvedPackageVersion>;
|
|
@@ -11,6 +11,13 @@ function _dependencyResolver() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
+
function _pkgEntities() {
|
|
15
|
+
const data = require("@teambit/pkg.entities.registry");
|
|
16
|
+
_pkgEntities = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
14
21
|
function _dependenciesPnpm() {
|
|
15
22
|
const data = require("@teambit/dependencies.pnpm.dep-path");
|
|
16
23
|
_dependenciesPnpm = function () {
|
|
@@ -116,6 +123,13 @@ function _pnpmPruneModules() {
|
|
|
116
123
|
};
|
|
117
124
|
return data;
|
|
118
125
|
}
|
|
126
|
+
function _lynx() {
|
|
127
|
+
const data = require("./lynx");
|
|
128
|
+
_lynx = function () {
|
|
129
|
+
return data;
|
|
130
|
+
};
|
|
131
|
+
return data;
|
|
132
|
+
}
|
|
119
133
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
120
134
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
121
135
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -149,14 +163,14 @@ class PnpmPackageManager {
|
|
|
149
163
|
});
|
|
150
164
|
_defineProperty(this, "readConfig", (0, _lodash().memoize)(this._readConfig));
|
|
151
165
|
}
|
|
152
|
-
async dependenciesGraphToLockfile(dependenciesGraph,
|
|
153
|
-
const lockfile = (0, _lockfileDepsGraphConverter().convertGraphToLockfile)(dependenciesGraph,
|
|
166
|
+
async dependenciesGraphToLockfile(dependenciesGraph, opts) {
|
|
167
|
+
const lockfile = await (0, _lockfileDepsGraphConverter().convertGraphToLockfile)(dependenciesGraph, opts);
|
|
154
168
|
Object.assign(lockfile, {
|
|
155
169
|
bit: {
|
|
156
170
|
restoredFromModel: true
|
|
157
171
|
}
|
|
158
172
|
});
|
|
159
|
-
const lockfilePath = (0, _path().join)(rootDir, 'pnpm-lock.yaml');
|
|
173
|
+
const lockfilePath = (0, _path().join)(opts.rootDir, 'pnpm-lock.yaml');
|
|
160
174
|
await (0, _lockfile2().writeLockfileFile)(lockfilePath, lockfile);
|
|
161
175
|
this.logger.debug(`generated a lockfile from dependencies graph at ${lockfilePath}`);
|
|
162
176
|
if (process.env.DEPS_GRAPH_LOG) {
|
|
@@ -173,8 +187,22 @@ class PnpmPackageManager {
|
|
|
173
187
|
const {
|
|
174
188
|
install
|
|
175
189
|
} = require('./lynx');
|
|
190
|
+
const registries = await this.depResolver.getRegistries();
|
|
191
|
+
const proxyConfig = await this.depResolver.getProxyConfig();
|
|
192
|
+
const networkConfig = await this.depResolver.getNetworkConfig();
|
|
193
|
+
const {
|
|
194
|
+
config
|
|
195
|
+
} = await this.readConfig(installOptions.packageManagerConfigRootDir);
|
|
176
196
|
if (installOptions.dependenciesGraph && (0, _harmonyModules().isFeatureEnabled)(_harmonyModules().DEPS_GRAPH) && (installOptions.rootComponents || installOptions.rootComponentsForCapsules)) {
|
|
177
|
-
|
|
197
|
+
const {
|
|
198
|
+
resolve
|
|
199
|
+
} = await (0, _lynx().generateResolverAndFetcher)(config.cacheDir, registries, proxyConfig, networkConfig);
|
|
200
|
+
await this.dependenciesGraphToLockfile(installOptions.dependenciesGraph, {
|
|
201
|
+
manifests,
|
|
202
|
+
rootDir,
|
|
203
|
+
registries: registries.toMap(),
|
|
204
|
+
resolve
|
|
205
|
+
});
|
|
178
206
|
}
|
|
179
207
|
this.logger.debug(`running installation in root dir ${rootDir}`);
|
|
180
208
|
this.logger.debug('components manifests for installation', manifests);
|
|
@@ -184,12 +212,6 @@ class PnpmPackageManager {
|
|
|
184
212
|
// this.logger.console('-------------------------PNPM OUTPUT-------------------------');
|
|
185
213
|
this.logger.off();
|
|
186
214
|
}
|
|
187
|
-
const registries = await this.depResolver.getRegistries();
|
|
188
|
-
const proxyConfig = await this.depResolver.getProxyConfig();
|
|
189
|
-
const networkConfig = await this.depResolver.getNetworkConfig();
|
|
190
|
-
const {
|
|
191
|
-
config
|
|
192
|
-
} = await this.readConfig(installOptions.packageManagerConfigRootDir);
|
|
193
215
|
if (!installOptions.useNesting && installOptions.rootComponentsForCapsules) {
|
|
194
216
|
manifests = await (0, _dependencyResolver().extendWithComponentsFromDir)(rootDir, manifests);
|
|
195
217
|
}
|
|
@@ -358,20 +380,20 @@ class PnpmPackageManager {
|
|
|
358
380
|
config
|
|
359
381
|
} = await this.readConfig();
|
|
360
382
|
const pnpmRegistry = await getRegistries(config);
|
|
361
|
-
const defaultRegistry = new (
|
|
383
|
+
const defaultRegistry = new (_pkgEntities().Registry)(pnpmRegistry.default.uri, pnpmRegistry.default.alwaysAuth, pnpmRegistry.default.authHeaderValue, pnpmRegistry.default.originalAuthType, pnpmRegistry.default.originalAuthValue);
|
|
362
384
|
const pnpmScoped = (0, _lodash().omit)(pnpmRegistry, ['default']);
|
|
363
385
|
const scopesRegistries = Object.keys(pnpmScoped).reduce((acc, scopedRegName) => {
|
|
364
386
|
const scopedReg = pnpmScoped[scopedRegName];
|
|
365
387
|
const name = scopedRegName.replace('@', '');
|
|
366
|
-
acc[name] = new (
|
|
388
|
+
acc[name] = new (_pkgEntities().Registry)(scopedReg.uri, scopedReg.alwaysAuth, scopedReg.authHeaderValue, scopedReg.originalAuthType, scopedReg.originalAuthValue);
|
|
367
389
|
return acc;
|
|
368
390
|
}, {});
|
|
369
391
|
|
|
370
392
|
// Add bit registry server if not exist
|
|
371
393
|
if (!scopesRegistries.bit) {
|
|
372
|
-
scopesRegistries.bit = new (
|
|
394
|
+
scopesRegistries.bit = new (_pkgEntities().Registry)(_dependencyResolver().BIT_CLOUD_REGISTRY, true);
|
|
373
395
|
}
|
|
374
|
-
return new (
|
|
396
|
+
return new (_pkgEntities().Registries)(defaultRegistry, scopesRegistries);
|
|
375
397
|
}
|
|
376
398
|
async getInjectedDirs(rootDir, componentDir, packageName) {
|
|
377
399
|
const modulesState = await this._readModulesManifest(rootDir);
|
|
@@ -456,6 +478,15 @@ class PnpmPackageManager {
|
|
|
456
478
|
if (opts.componentRootDir != null) {
|
|
457
479
|
filterByImporterIds.push(opts.componentRootDir);
|
|
458
480
|
}
|
|
481
|
+
for (const importerId of filterByImporterIds) {
|
|
482
|
+
for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies', 'specifiers', 'dependenciesMeta']) {
|
|
483
|
+
for (const workspacePkgName of opts.componentIdByPkgName.keys()) {
|
|
484
|
+
if (workspacePkgName !== opts.pkgName) {
|
|
485
|
+
delete lockfile.importers[importerId]?.[depType]?.[workspacePkgName];
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
459
490
|
// Filters the lockfile so that it only includes packages related to the given component.
|
|
460
491
|
const partialLockfile = (0, _lockfile2().convertToLockfileFile)((0, _lockfile().filterLockfileByImporters)(lockfile, filterByImporterIds, {
|
|
461
492
|
include: {
|