@teambit/pnpm 0.0.802 → 0.0.803
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 -1
- package/dist/lynx.js +258 -7
- package/dist/lynx.js.map +1 -1
- package/dist/pnpm.package-manager.d.ts +1 -0
- package/dist/pnpm.package-manager.js +31 -5
- package/dist/pnpm.package-manager.js.map +1 -1
- package/package-tar/teambit-pnpm-0.0.803.tgz +0 -0
- package/package.json +27 -25
- package/{preview-1659151732866.js → preview-1659271062546.js} +2 -2
- package/package-tar/teambit-pnpm-0.0.802.tgz +0 -0
package/dist/lynx.d.ts
CHANGED
|
@@ -14,8 +14,10 @@ export declare function getPeerDependencyIssues(rootManifest: {
|
|
|
14
14
|
networkConfig: PackageManagerNetworkConfig;
|
|
15
15
|
overrides?: Record<string, string>;
|
|
16
16
|
} & Pick<CreateStoreControllerOptions, 'packageImportMethod'>): Promise<PeerDependencyIssuesByProjects>;
|
|
17
|
-
export declare function install(rootManifest: any, manifestsByPaths: Record<string, ProjectManifest>, storeDir: string, cacheDir: string, registries: Registries, proxyConfig
|
|
17
|
+
export declare function install(rootManifest: any, manifestsByPaths: Record<string, ProjectManifest>, storeDir: string, cacheDir: string, registries: Registries, proxyConfig: PackageManagerProxyConfig | undefined, networkConfig: PackageManagerNetworkConfig | undefined, options: {
|
|
18
18
|
nodeLinker?: 'hoisted' | 'isolated';
|
|
19
19
|
overrides?: Record<string, string>;
|
|
20
|
+
rootComponents?: boolean;
|
|
21
|
+
rootComponentsForCapsules?: boolean;
|
|
20
22
|
} & Pick<InstallOptions, 'publicHoistPattern' | 'hoistPattern' | 'nodeVersion' | 'engineStrict' | 'peerDependencyRules'> & Pick<CreateStoreControllerOptions, 'packageImportMethod'>, logger?: Logger): Promise<void>;
|
|
21
23
|
export declare function resolveRemoteVersion(packageName: string, rootDir: string, cacheDir: string, registries: Registries, proxyConfig?: PackageManagerProxyConfig, networkConfig?: PackageManagerNetworkConfig): Promise<ResolvedPackageVersion>;
|
package/dist/lynx.js
CHANGED
|
@@ -8,6 +8,8 @@ require("core-js/modules/es.promise.js");
|
|
|
8
8
|
|
|
9
9
|
require("core-js/modules/es.regexp.exec.js");
|
|
10
10
|
|
|
11
|
+
require("core-js/modules/es.string.replace.js");
|
|
12
|
+
|
|
11
13
|
Object.defineProperty(exports, "__esModule", {
|
|
12
14
|
value: true
|
|
13
15
|
});
|
|
@@ -25,6 +27,26 @@ function _defineProperty2() {
|
|
|
25
27
|
return data;
|
|
26
28
|
}
|
|
27
29
|
|
|
30
|
+
function _gracefulFs() {
|
|
31
|
+
const data = _interopRequireDefault(require("graceful-fs"));
|
|
32
|
+
|
|
33
|
+
_gracefulFs = function () {
|
|
34
|
+
return data;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function _path() {
|
|
41
|
+
const data = _interopRequireDefault(require("path"));
|
|
42
|
+
|
|
43
|
+
_path = function () {
|
|
44
|
+
return data;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
return data;
|
|
48
|
+
}
|
|
49
|
+
|
|
28
50
|
function _semver() {
|
|
29
51
|
const data = _interopRequireDefault(require("semver"));
|
|
30
52
|
|
|
@@ -65,6 +87,16 @@ function _logger() {
|
|
|
65
87
|
return data;
|
|
66
88
|
}
|
|
67
89
|
|
|
90
|
+
function _modulesYaml() {
|
|
91
|
+
const data = require("@pnpm/modules-yaml");
|
|
92
|
+
|
|
93
|
+
_modulesYaml = function () {
|
|
94
|
+
return data;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
return data;
|
|
98
|
+
}
|
|
99
|
+
|
|
68
100
|
function _storeConnectionManager() {
|
|
69
101
|
const data = require("@pnpm/store-connection-manager");
|
|
70
102
|
|
|
@@ -135,6 +167,16 @@ function _nerfDart() {
|
|
|
135
167
|
return data;
|
|
136
168
|
}
|
|
137
169
|
|
|
170
|
+
function _util() {
|
|
171
|
+
const data = require("util");
|
|
172
|
+
|
|
173
|
+
_util = function () {
|
|
174
|
+
return data;
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
return data;
|
|
178
|
+
}
|
|
179
|
+
|
|
138
180
|
function _pkgsGraph() {
|
|
139
181
|
const data = _interopRequireDefault(require("pkgs-graph"));
|
|
140
182
|
|
|
@@ -145,6 +187,16 @@ function _pkgsGraph() {
|
|
|
145
187
|
return data;
|
|
146
188
|
}
|
|
147
189
|
|
|
190
|
+
function _userHome() {
|
|
191
|
+
const data = _interopRequireDefault(require("user-home"));
|
|
192
|
+
|
|
193
|
+
_userHome = function () {
|
|
194
|
+
return data;
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
return data;
|
|
198
|
+
}
|
|
199
|
+
|
|
148
200
|
function _pnpmErrorToBitError() {
|
|
149
201
|
const data = require("./pnpm-error-to-bit-error");
|
|
150
202
|
|
|
@@ -173,6 +225,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
173
225
|
|
|
174
226
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
175
227
|
|
|
228
|
+
const link = (0, _util().promisify)(_gracefulFs().default.link);
|
|
229
|
+
const installsRunning = {};
|
|
176
230
|
const STORE_CACHE = {};
|
|
177
231
|
|
|
178
232
|
async function createStoreController(options) {
|
|
@@ -195,7 +249,9 @@ async function createStoreController(options) {
|
|
|
195
249
|
strictSsl: options.networkConfig.strictSSL,
|
|
196
250
|
maxSockets: options.networkConfig.maxSockets,
|
|
197
251
|
networkConcurrency: options.networkConfig.networkConcurrency,
|
|
198
|
-
packageImportMethod: options.packageImportMethod
|
|
252
|
+
packageImportMethod: options.packageImportMethod,
|
|
253
|
+
pnpmHomeDir: _path().default.join(_userHome().default, '.pnpm') // This is not actually used in our case
|
|
254
|
+
|
|
199
255
|
}; // We should avoid the recreation of store.
|
|
200
256
|
// The store holds cache that makes subsequent resolutions faster.
|
|
201
257
|
|
|
@@ -271,12 +327,34 @@ async function getPeerDependencyIssues(rootManifest, manifestsByPaths, opts) {
|
|
|
271
327
|
|
|
272
328
|
async function install(rootManifest, manifestsByPaths, storeDir, cacheDir, registries, proxyConfig = {}, networkConfig = {}, options, // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
273
329
|
logger) {
|
|
330
|
+
if (!rootManifest.manifest.dependenciesMeta) {
|
|
331
|
+
rootManifest.manifest.dependenciesMeta = {};
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
let readPackage;
|
|
335
|
+
let hoistingLimits = new Map();
|
|
336
|
+
|
|
337
|
+
if (options !== null && options !== void 0 && options.rootComponents) {
|
|
338
|
+
const {
|
|
339
|
+
rootComponentWrappers,
|
|
340
|
+
rootComponents
|
|
341
|
+
} = createRootComponentWrapperManifests(rootManifest.rootDir, manifestsByPaths);
|
|
342
|
+
manifestsByPaths = _objectSpread(_objectSpread({}, rootComponentWrappers), manifestsByPaths);
|
|
343
|
+
readPackage = readPackageHook;
|
|
344
|
+
hoistingLimits = new Map();
|
|
345
|
+
hoistingLimits.set('.@', new Set(rootComponents));
|
|
346
|
+
} else if (options !== null && options !== void 0 && options.rootComponentsForCapsules) {
|
|
347
|
+
readPackage = readPackageHookForCapsules;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
if (!manifestsByPaths[rootManifest.rootDir]) {
|
|
351
|
+
manifestsByPaths[rootManifest.rootDir] = rootManifest.manifest;
|
|
352
|
+
}
|
|
353
|
+
|
|
274
354
|
const {
|
|
275
355
|
packagesToBuild,
|
|
276
356
|
workspacePackages
|
|
277
|
-
} = groupPkgs(
|
|
278
|
-
[rootManifest.rootDir]: rootManifest.manifest
|
|
279
|
-
}));
|
|
357
|
+
} = groupPkgs(manifestsByPaths);
|
|
280
358
|
const registriesMap = getRegistriesMap(registries);
|
|
281
359
|
const authConfig = getAuthConfig(registries);
|
|
282
360
|
const storeController = await createStoreController({
|
|
@@ -292,14 +370,18 @@ logger) {
|
|
|
292
370
|
const opts = _objectSpread(_objectSpread({
|
|
293
371
|
storeDir: storeController.dir,
|
|
294
372
|
dir: rootManifest.rootDir,
|
|
295
|
-
extendNodePath: false,
|
|
296
373
|
storeController: storeController.ctrl,
|
|
297
374
|
workspacePackages,
|
|
298
375
|
preferFrozenLockfile: true,
|
|
299
376
|
pruneLockfileImporters: true,
|
|
300
377
|
modulesCacheMaxAge: 0,
|
|
301
378
|
registries: registriesMap,
|
|
302
|
-
rawConfig: authConfig
|
|
379
|
+
rawConfig: authConfig,
|
|
380
|
+
hooks: {
|
|
381
|
+
readPackage
|
|
382
|
+
},
|
|
383
|
+
hoistingLimits,
|
|
384
|
+
strictPeerDependencies: false
|
|
303
385
|
}, options), {}, {
|
|
304
386
|
peerDependencyRules: _objectSpread({
|
|
305
387
|
allowAny: ['*'],
|
|
@@ -319,12 +401,181 @@ logger) {
|
|
|
319
401
|
});
|
|
320
402
|
|
|
321
403
|
try {
|
|
322
|
-
await
|
|
404
|
+
await installsRunning[rootManifest.rootDir];
|
|
405
|
+
installsRunning[rootManifest.rootDir] = (0, pnpm().mutateModules)(packagesToBuild, opts);
|
|
406
|
+
await installsRunning[rootManifest.rootDir];
|
|
407
|
+
delete installsRunning[rootManifest.rootDir];
|
|
323
408
|
} catch (err) {
|
|
324
409
|
throw (0, _pnpmErrorToBitError().pnpmErrorToBitError)(err);
|
|
325
410
|
} finally {
|
|
326
411
|
stopReporting();
|
|
327
412
|
}
|
|
413
|
+
|
|
414
|
+
if (options.rootComponents) {
|
|
415
|
+
const modulesState = await (0, _modulesYaml().read)(_path().default.join(rootManifest.rootDir, 'node_modules'));
|
|
416
|
+
|
|
417
|
+
if (modulesState !== null && modulesState !== void 0 && modulesState.injectedDeps) {
|
|
418
|
+
await linkManifestsToInjectedDeps({
|
|
419
|
+
injectedDeps: modulesState.injectedDeps,
|
|
420
|
+
manifestsByPaths,
|
|
421
|
+
rootDir: rootManifest.rootDir
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* This function creates manifests for root component wrappers.
|
|
428
|
+
* Root component wrappers are used to isolated workspace components with their workspace dependencies
|
|
429
|
+
* and peer dependencies.
|
|
430
|
+
* A root component wrapper has the wrapped component in the dependencies and any of its peer dependencies.
|
|
431
|
+
* This way pnpm will install the wrapped component in isolation from other components and their dependencies.
|
|
432
|
+
*/
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
function createRootComponentWrapperManifests(rootDir, manifestsByPaths) {
|
|
436
|
+
const rootComponentWrappers = {};
|
|
437
|
+
const rootComponents = [];
|
|
438
|
+
|
|
439
|
+
for (const manifest of Object.values(manifestsByPaths)) {
|
|
440
|
+
const name = manifest.name.toString(); // eslint-disable-line
|
|
441
|
+
|
|
442
|
+
const compDir = _path().default.join(rootDir, 'node_modules', name);
|
|
443
|
+
|
|
444
|
+
const id = _path().default.relative(rootDir, compDir).replace(/\\/g, '/');
|
|
445
|
+
|
|
446
|
+
rootComponents.push(encodeURIComponent(id));
|
|
447
|
+
rootComponentWrappers[compDir] = {
|
|
448
|
+
name: `${name}__root`,
|
|
449
|
+
dependencies: _objectSpread(_objectSpread({
|
|
450
|
+
[name]: `workspace:*`
|
|
451
|
+
}, manifest.peerDependencies), manifest['defaultPeerDependencies']),
|
|
452
|
+
dependenciesMeta: {
|
|
453
|
+
[name]: {
|
|
454
|
+
injected: true
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
return {
|
|
461
|
+
rootComponentWrappers,
|
|
462
|
+
rootComponents
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* This hook is used when installation is executed inside a capsule.
|
|
467
|
+
* The components in the capsules should get their peer dependencies installed,
|
|
468
|
+
* so this hook converts any peer dependencies into runtime dependencies.
|
|
469
|
+
* Also, any local dependencies are extended with the "injected" option,
|
|
470
|
+
* this tells pnpm to hard link the packages instead of symlinking them.
|
|
471
|
+
*/
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
function readPackageHookForCapsules(pkg, workspaceDir) {
|
|
475
|
+
// workspaceDir is set only for workspace packages
|
|
476
|
+
if (workspaceDir) {
|
|
477
|
+
return readDependencyPackageHook(_objectSpread(_objectSpread({}, pkg), {}, {
|
|
478
|
+
dependencies: _objectSpread(_objectSpread(_objectSpread({}, pkg.dependencies), pkg.peerDependencies), pkg['defaultPeerDependencies'])
|
|
479
|
+
}));
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
return readDependencyPackageHook(pkg);
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* This hook is used when installation happens in a Bit workspace.
|
|
486
|
+
* We need a different hook for this case because unlike in a capsule, in a workspace,
|
|
487
|
+
* the package manager only links workspace components to subdependencies.
|
|
488
|
+
* For direct dependencies, Bit's linking is used.
|
|
489
|
+
*/
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
function readPackageHook(pkg, workspaceDir) {
|
|
493
|
+
var _pkg$name;
|
|
494
|
+
|
|
495
|
+
if (!pkg.dependencies || (_pkg$name = pkg.name) !== null && _pkg$name !== void 0 && _pkg$name.endsWith(`__root`)) {
|
|
496
|
+
return pkg;
|
|
497
|
+
} // workspaceDir is set only for workspace packages
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
if (workspaceDir) {
|
|
501
|
+
return readWorkspacePackageHook(pkg);
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
return readDependencyPackageHook(pkg);
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* This hook adds the "injected" option to any workspace dependency.
|
|
508
|
+
* The injected option tell pnpm to hard link the packages instead of symlinking them.
|
|
509
|
+
*/
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
function readDependencyPackageHook(pkg) {
|
|
513
|
+
var _pkg$dependenciesMeta;
|
|
514
|
+
|
|
515
|
+
const dependenciesMeta = (_pkg$dependenciesMeta = pkg.dependenciesMeta) !== null && _pkg$dependenciesMeta !== void 0 ? _pkg$dependenciesMeta : {};
|
|
516
|
+
|
|
517
|
+
for (const [name, version] of Object.entries((_pkg$dependencies = pkg.dependencies) !== null && _pkg$dependencies !== void 0 ? _pkg$dependencies : {})) {
|
|
518
|
+
var _pkg$dependencies;
|
|
519
|
+
|
|
520
|
+
if (version.startsWith('workspace:')) {
|
|
521
|
+
// This instructs pnpm to hard link the component from the workspace, not symlink it.
|
|
522
|
+
dependenciesMeta[name] = {
|
|
523
|
+
injected: true
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
return _objectSpread(_objectSpread({}, pkg), {}, {
|
|
529
|
+
dependenciesMeta
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* This hook is used when installation happens in a Bit workspace.
|
|
534
|
+
* It is applied on workspace projects, and it removes any references to other workspace projects.
|
|
535
|
+
* This is needed because Bit has its own linking for workspace projects.
|
|
536
|
+
* pnpm should not override the links created by Bit.
|
|
537
|
+
* Otherwise, the IDE would reference workspace projects from inside `node_modules/.pnpm`.
|
|
538
|
+
*/
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
function readWorkspacePackageHook(pkg) {
|
|
542
|
+
const newDeps = {};
|
|
543
|
+
|
|
544
|
+
for (const [name, version] of Object.entries((_pkg$dependencies2 = pkg.dependencies) !== null && _pkg$dependencies2 !== void 0 ? _pkg$dependencies2 : {})) {
|
|
545
|
+
var _pkg$dependencies2;
|
|
546
|
+
|
|
547
|
+
if (!version.startsWith('workspace:')) {
|
|
548
|
+
newDeps[name] = version;
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
return _objectSpread(_objectSpread({}, pkg), {}, {
|
|
553
|
+
dependencies: newDeps
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
/*
|
|
557
|
+
* The package.json files of the components are generated into node_modules/<component pkg name>/package.json
|
|
558
|
+
* This function copies the generated package.json file into all the locations of the component.
|
|
559
|
+
*/
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
async function linkManifestsToInjectedDeps({
|
|
563
|
+
rootDir,
|
|
564
|
+
manifestsByPaths,
|
|
565
|
+
injectedDeps
|
|
566
|
+
}) {
|
|
567
|
+
await Promise.all(Object.entries(injectedDeps).map(async ([compDir, targetDirs]) => {
|
|
568
|
+
var _manifestsByPaths$pat;
|
|
569
|
+
|
|
570
|
+
const pkgName = (_manifestsByPaths$pat = manifestsByPaths[_path().default.join(rootDir, compDir)]) === null || _manifestsByPaths$pat === void 0 ? void 0 : _manifestsByPaths$pat.name;
|
|
571
|
+
if (!pkgName) return;
|
|
572
|
+
|
|
573
|
+
const pkgJsonPath = _path().default.join(rootDir, 'node_modules', pkgName, 'package.json');
|
|
574
|
+
|
|
575
|
+
if (_gracefulFs().default.existsSync(pkgJsonPath)) {
|
|
576
|
+
await Promise.all(targetDirs.map(targetDir => link(pkgJsonPath, _path().default.join(targetDir, 'package.json'))));
|
|
577
|
+
}
|
|
578
|
+
}));
|
|
328
579
|
}
|
|
329
580
|
|
|
330
581
|
function groupPkgs(manifestsByPaths) {
|
package/dist/lynx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["STORE_CACHE","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","cacheKey","JSON","stringify","createOrConnectStoreController","generateResolverAndFetcher","pnpmConfig","readConfig","Object","assign","config","timeout","fetchTimeout","retry","factor","fetchRetryFactor","maxTimeout","fetchRetryMaxtimeout","minTimeout","fetchRetryMintimeout","retries","fetchRetries","result","createResolverAndFetcher","getPeerDependencyIssues","rootManifest","manifestsByPaths","projects","workspacePackages","manifest","entries","push","name","version","registriesMap","getRegistriesMap","storeController","pnpm","ctrl","overrides","install","logger","packagesToBuild","groupPkgs","extendNodePath","preferFrozenLockfile","pruneLockfileImporters","modulesCacheMaxAge","peerDependencyRules","allowAny","ignoreMissing","stopReporting","defaultReporter","context","argv","reportingOptions","appendOnly","throttleProgress","streamParser","mutateModules","err","pnpmErrorToBitError","pkgs","map","graph","pkgsGraph","chunks","sortPackages","forEach","dirs","buildIndex","mutation","resolveRemoteVersion","packageName","resolve","resolveOpts","projectDir","registry","parsedPackage","parsePackageName","pickRegistryForPackage","wantedDep","alias","pref","isValidRange","semver","validRange","val","isSemver","resolvedVia","e","message","includes","undefined","normalizedPref","default","defaultRegistry","uri","NPM_REGISTRY","scopes","registryName","res","alwaysAuth","defaultAuthTokens","getAuthTokenForRegistry","keyName","authTokens","nerfed","toNerfDart","alwaysAuthKeyName","isDefault","originalAuthType","originalAuthValue","split"],"sources":["lynx.ts"],"sourcesContent":["import semver from 'semver';\nimport parsePackageName from 'parse-package-name';\nimport defaultReporter from '@pnpm/default-reporter';\nimport { streamParser } from '@pnpm/logger';\nimport { StoreController, WantedDependency } from '@pnpm/package-store';\nimport { createOrConnectStoreController, CreateStoreControllerOptions } from '@pnpm/store-connection-manager';\nimport sortPackages from '@pnpm/sort-packages';\nimport {\n ResolvedPackageVersion,\n Registries,\n NPM_REGISTRY,\n Registry,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport {\n MutatedProject,\n mutateModules,\n InstallOptions,\n PeerDependencyIssuesByProjects,\n ProjectOptions,\n} from '@pnpm/core';\nimport * as pnpm from '@pnpm/core';\nimport createResolverAndFetcher, { ClientOptions } from '@pnpm/client';\nimport pickRegistryForPackage from '@pnpm/pick-registry-for-package';\nimport { ProjectManifest } from '@pnpm/types';\nimport { Logger } from '@teambit/logger';\nimport toNerfDart from 'nerf-dart';\nimport pkgsGraph from 'pkgs-graph';\nimport { pnpmErrorToBitError } from './pnpm-error-to-bit-error';\nimport { readConfig } from './read-config';\n\ntype RegistriesMap = {\n default: string;\n [registryName: string]: string;\n};\n\nconst STORE_CACHE: Record<string, { ctrl: StoreController; dir: string }> = {};\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'>\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 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 };\n // We should avoid the recreation of store.\n // The store holds cache that makes subsequent resolutions faster.\n const cacheKey = JSON.stringify(opts);\n if (!STORE_CACHE[cacheKey]) {\n // Although it would be enough to call createNewStoreController(),\n // that doesn't resolve the store directory location.\n STORE_CACHE[cacheKey] = await createOrConnectStoreController(opts);\n }\n return STORE_CACHE[cacheKey];\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 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 getPeerDependencyIssues(\n rootManifest: {\n rootDir: string;\n manifest: ProjectManifest;\n },\n manifestsByPaths: Record<string, any>,\n opts: {\n storeDir: string;\n cacheDir: string;\n registries: Registries;\n proxyConfig: PackageManagerProxyConfig;\n networkConfig: PackageManagerNetworkConfig;\n overrides?: Record<string, string>;\n } & Pick<CreateStoreControllerOptions, 'packageImportMethod'>\n): Promise<PeerDependencyIssuesByProjects> {\n const projects: ProjectOptions[] = [];\n const workspacePackages = {};\n for (const [rootDir, manifest] of Object.entries(manifestsByPaths)) {\n projects.push({\n manifest,\n rootDir,\n });\n workspacePackages[manifest.name] = workspacePackages[manifest.name] || {};\n workspacePackages[manifest.name][manifest.version] = { dir: rootDir, manifest };\n }\n projects.push({\n manifest: rootManifest.manifest,\n rootDir: rootManifest.rootDir,\n });\n const registriesMap = getRegistriesMap(opts.registries);\n const storeController = await createStoreController({\n ...opts,\n rootDir: rootManifest.rootDir,\n });\n return pnpm.getPeerDependencyIssues(projects, {\n storeController: storeController.ctrl,\n storeDir: storeController.dir,\n overrides: opts.overrides,\n workspacePackages,\n registries: registriesMap,\n });\n}\n\nexport async function install(\n rootManifest,\n manifestsByPaths: Record<string, ProjectManifest>,\n storeDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {},\n options?: {\n nodeLinker?: 'hoisted' | 'isolated';\n overrides?: Record<string, string>;\n } & Pick<\n InstallOptions,\n 'publicHoistPattern' | 'hoistPattern' | 'nodeVersion' | 'engineStrict' | 'peerDependencyRules'\n > &\n Pick<CreateStoreControllerOptions, 'packageImportMethod'>,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n logger?: Logger\n) {\n const { packagesToBuild, workspacePackages } = groupPkgs({\n ...manifestsByPaths,\n [rootManifest.rootDir]: rootManifest.manifest,\n });\n const registriesMap = getRegistriesMap(registries);\n const authConfig = getAuthConfig(registries);\n const storeController = await createStoreController({\n rootDir: rootManifest.rootDir,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n packageImportMethod: options?.packageImportMethod,\n });\n const opts: InstallOptions = {\n storeDir: storeController.dir,\n dir: rootManifest.rootDir,\n extendNodePath: false,\n storeController: storeController.ctrl,\n workspacePackages,\n preferFrozenLockfile: true,\n pruneLockfileImporters: true,\n modulesCacheMaxAge: 0,\n registries: registriesMap,\n rawConfig: authConfig,\n ...options,\n peerDependencyRules: {\n allowAny: ['*'],\n ignoreMissing: ['*'],\n ...options?.peerDependencyRules,\n },\n };\n\n const stopReporting = defaultReporter({\n context: {\n argv: [],\n },\n reportingOptions: {\n appendOnly: false,\n throttleProgress: 200,\n },\n streamParser,\n });\n try {\n await mutateModules(packagesToBuild, opts);\n } catch (err: any) {\n throw pnpmErrorToBitError(err);\n } finally {\n stopReporting();\n }\n}\n\nfunction groupPkgs(manifestsByPaths: Record<string, ProjectManifest>) {\n const pkgs = Object.entries(manifestsByPaths).map(([dir, manifest]) => ({ dir, manifest }));\n const { graph } = pkgsGraph(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 workspacePackages = {}; // @pnpm/core will use this to link packages to each other\n\n chunks.forEach((dirs, buildIndex) => {\n for (const rootDir of dirs) {\n const manifest = manifestsByPaths[rootDir];\n packagesToBuild.push({\n buildIndex,\n manifest,\n rootDir,\n mutation: 'install',\n });\n if (manifest.name) {\n workspacePackages[manifest.name] = workspacePackages[manifest.name] || {};\n workspacePackages[manifest.name][manifest.version] = { dir: rootDir, manifest };\n }\n }\n });\n return { packagesToBuild, workspacePackages };\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\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 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 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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["link","promisify","fs","installsRunning","STORE_CACHE","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","pnpmHomeDir","path","join","userHome","cacheKey","JSON","stringify","createOrConnectStoreController","generateResolverAndFetcher","pnpmConfig","readConfig","Object","assign","config","timeout","fetchTimeout","retry","factor","fetchRetryFactor","maxTimeout","fetchRetryMaxtimeout","minTimeout","fetchRetryMintimeout","retries","fetchRetries","result","createResolverAndFetcher","getPeerDependencyIssues","rootManifest","manifestsByPaths","projects","workspacePackages","manifest","entries","push","name","version","registriesMap","getRegistriesMap","storeController","pnpm","ctrl","overrides","install","logger","dependenciesMeta","readPackage","hoistingLimits","Map","rootComponents","rootComponentWrappers","createRootComponentWrapperManifests","readPackageHook","set","Set","rootComponentsForCapsules","readPackageHookForCapsules","packagesToBuild","groupPkgs","preferFrozenLockfile","pruneLockfileImporters","modulesCacheMaxAge","hooks","strictPeerDependencies","peerDependencyRules","allowAny","ignoreMissing","stopReporting","defaultReporter","context","argv","reportingOptions","appendOnly","throttleProgress","streamParser","mutateModules","err","pnpmErrorToBitError","modulesState","readModulesState","injectedDeps","linkManifestsToInjectedDeps","values","toString","compDir","id","relative","replace","encodeURIComponent","dependencies","peerDependencies","injected","pkg","workspaceDir","readDependencyPackageHook","endsWith","readWorkspacePackageHook","startsWith","newDeps","Promise","all","map","targetDirs","pkgName","pkgJsonPath","existsSync","targetDir","pkgs","graph","pkgsGraph","chunks","sortPackages","forEach","dirs","buildIndex","mutation","resolveRemoteVersion","packageName","resolve","resolveOpts","projectDir","registry","parsedPackage","parsePackageName","pickRegistryForPackage","wantedDep","alias","pref","isValidRange","semver","validRange","val","isSemver","resolvedVia","e","message","includes","undefined","normalizedPref","default","defaultRegistry","uri","NPM_REGISTRY","scopes","registryName","res","alwaysAuth","defaultAuthTokens","getAuthTokenForRegistry","keyName","authTokens","nerfed","toNerfDart","alwaysAuthKeyName","isDefault","originalAuthType","originalAuthValue","split"],"sources":["lynx.ts"],"sourcesContent":["import fs from 'graceful-fs';\nimport path from 'path';\nimport semver from 'semver';\nimport parsePackageName from 'parse-package-name';\nimport defaultReporter from '@pnpm/default-reporter';\nimport { streamParser } from '@pnpm/logger';\nimport { read as readModulesState } from '@pnpm/modules-yaml';\nimport { StoreController, WantedDependency } from '@pnpm/package-store';\nimport { createOrConnectStoreController, CreateStoreControllerOptions } from '@pnpm/store-connection-manager';\nimport sortPackages from '@pnpm/sort-packages';\nimport {\n ResolvedPackageVersion,\n Registries,\n NPM_REGISTRY,\n Registry,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport {\n MutatedProject,\n mutateModules,\n InstallOptions,\n PeerDependencyIssuesByProjects,\n ProjectOptions,\n} from '@pnpm/core';\nimport * as pnpm from '@pnpm/core';\nimport createResolverAndFetcher, { ClientOptions } from '@pnpm/client';\nimport pickRegistryForPackage from '@pnpm/pick-registry-for-package';\nimport { PackageManifest, ProjectManifest } from '@pnpm/types';\nimport { Logger } from '@teambit/logger';\nimport toNerfDart from 'nerf-dart';\nimport { promisify } from 'util';\nimport pkgsGraph from 'pkgs-graph';\nimport userHome from 'user-home';\nimport { pnpmErrorToBitError } from './pnpm-error-to-bit-error';\nimport { readConfig } from './read-config';\n\nconst link = promisify(fs.link);\nconst installsRunning: Record<string, Promise<any>> = {};\n\ntype RegistriesMap = {\n default: string;\n [registryName: string]: string;\n};\n\nconst STORE_CACHE: Record<string, { ctrl: StoreController; dir: string }> = {};\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'>\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 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 pnpmHomeDir: path.join(userHome, '.pnpm'), // This is not actually used in our case\n };\n // We should avoid the recreation of store.\n // The store holds cache that makes subsequent resolutions faster.\n const cacheKey = JSON.stringify(opts);\n if (!STORE_CACHE[cacheKey]) {\n // Although it would be enough to call createNewStoreController(),\n // that doesn't resolve the store directory location.\n STORE_CACHE[cacheKey] = await createOrConnectStoreController(opts);\n }\n return STORE_CACHE[cacheKey];\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 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 getPeerDependencyIssues(\n rootManifest: {\n rootDir: string;\n manifest: ProjectManifest;\n },\n manifestsByPaths: Record<string, any>,\n opts: {\n storeDir: string;\n cacheDir: string;\n registries: Registries;\n proxyConfig: PackageManagerProxyConfig;\n networkConfig: PackageManagerNetworkConfig;\n overrides?: Record<string, string>;\n } & Pick<CreateStoreControllerOptions, 'packageImportMethod'>\n): Promise<PeerDependencyIssuesByProjects> {\n const projects: ProjectOptions[] = [];\n const workspacePackages = {};\n for (const [rootDir, manifest] of Object.entries(manifestsByPaths)) {\n projects.push({\n manifest,\n rootDir,\n });\n workspacePackages[manifest.name] = workspacePackages[manifest.name] || {};\n workspacePackages[manifest.name][manifest.version] = { dir: rootDir, manifest };\n }\n projects.push({\n manifest: rootManifest.manifest,\n rootDir: rootManifest.rootDir,\n });\n const registriesMap = getRegistriesMap(opts.registries);\n const storeController = await createStoreController({\n ...opts,\n rootDir: rootManifest.rootDir,\n });\n return pnpm.getPeerDependencyIssues(projects, {\n storeController: storeController.ctrl,\n storeDir: storeController.dir,\n overrides: opts.overrides,\n workspacePackages,\n registries: registriesMap,\n });\n}\n\nexport async function install(\n rootManifest,\n manifestsByPaths: Record<string, ProjectManifest>,\n storeDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {},\n options: {\n nodeLinker?: 'hoisted' | 'isolated';\n overrides?: Record<string, string>;\n rootComponents?: boolean;\n rootComponentsForCapsules?: boolean;\n } & Pick<\n InstallOptions,\n 'publicHoistPattern' | 'hoistPattern' | 'nodeVersion' | 'engineStrict' | 'peerDependencyRules'\n > &\n Pick<CreateStoreControllerOptions, 'packageImportMethod'>,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n logger?: Logger\n) {\n if (!rootManifest.manifest.dependenciesMeta) {\n rootManifest.manifest.dependenciesMeta = {};\n }\n let readPackage: any;\n let hoistingLimits = new Map();\n if (options?.rootComponents) {\n const { rootComponentWrappers, rootComponents } = createRootComponentWrapperManifests(\n rootManifest.rootDir,\n manifestsByPaths\n );\n manifestsByPaths = {\n ...rootComponentWrappers,\n ...manifestsByPaths,\n };\n readPackage = readPackageHook;\n hoistingLimits = new Map();\n hoistingLimits.set('.@', new Set(rootComponents));\n } else if (options?.rootComponentsForCapsules) {\n readPackage = readPackageHookForCapsules;\n }\n if (!manifestsByPaths[rootManifest.rootDir]) {\n manifestsByPaths[rootManifest.rootDir] = rootManifest.manifest;\n }\n const { packagesToBuild, workspacePackages } = groupPkgs(manifestsByPaths);\n const registriesMap = getRegistriesMap(registries);\n const authConfig = getAuthConfig(registries);\n const storeController = await createStoreController({\n rootDir: rootManifest.rootDir,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n packageImportMethod: options?.packageImportMethod,\n });\n const opts: InstallOptions = {\n storeDir: storeController.dir,\n dir: rootManifest.rootDir,\n storeController: storeController.ctrl,\n workspacePackages,\n preferFrozenLockfile: true,\n pruneLockfileImporters: true,\n modulesCacheMaxAge: 0,\n registries: registriesMap,\n rawConfig: authConfig,\n hooks: { readPackage },\n hoistingLimits,\n strictPeerDependencies: false,\n ...options,\n peerDependencyRules: {\n allowAny: ['*'],\n ignoreMissing: ['*'],\n ...options?.peerDependencyRules,\n },\n };\n\n const stopReporting = defaultReporter({\n context: {\n argv: [],\n },\n reportingOptions: {\n appendOnly: false,\n throttleProgress: 200,\n },\n streamParser,\n });\n try {\n await installsRunning[rootManifest.rootDir];\n installsRunning[rootManifest.rootDir] = mutateModules(packagesToBuild, opts);\n await installsRunning[rootManifest.rootDir];\n delete installsRunning[rootManifest.rootDir];\n } catch (err: any) {\n throw pnpmErrorToBitError(err);\n } finally {\n stopReporting();\n }\n if (options.rootComponents) {\n const modulesState = await readModulesState(path.join(rootManifest.rootDir, 'node_modules'));\n if (modulesState?.injectedDeps) {\n await linkManifestsToInjectedDeps({\n injectedDeps: modulesState.injectedDeps,\n manifestsByPaths,\n rootDir: rootManifest.rootDir,\n });\n }\n }\n}\n\n/**\n * This function creates manifests for root component wrappers.\n * Root component wrappers are used to isolated workspace components with their workspace dependencies\n * and peer dependencies.\n * A root component wrapper has the wrapped component in the dependencies and any of its peer dependencies.\n * This way pnpm will install the wrapped component in isolation from other components and their dependencies.\n */\nfunction createRootComponentWrapperManifests(rootDir: string, manifestsByPaths: Record<string, ProjectManifest>) {\n const rootComponentWrappers: Record<string, ProjectManifest> = {};\n const rootComponents: string[] = [];\n for (const manifest of Object.values(manifestsByPaths)) {\n const name = manifest.name!.toString(); // eslint-disable-line\n const compDir = path.join(rootDir, 'node_modules', name);\n const id = path.relative(rootDir, compDir).replace(/\\\\/g, '/');\n rootComponents.push(encodeURIComponent(id));\n rootComponentWrappers[compDir] = {\n name: `${name}__root`,\n dependencies: {\n [name]: `workspace:*`,\n ...manifest.peerDependencies,\n ...manifest['defaultPeerDependencies'], // eslint-disable-line\n },\n dependenciesMeta: {\n [name]: { injected: true },\n },\n };\n }\n return {\n rootComponentWrappers,\n rootComponents,\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.dependencies,\n ...pkg.peerDependencies,\n ...pkg['defaultPeerDependencies'], // eslint-disable-line\n },\n });\n }\n return readDependencyPackageHook(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 || pkg.name?.endsWith(`__root`)) {\n return pkg;\n }\n // workspaceDir is set only for workspace packages\n if (workspaceDir) {\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: newDeps,\n };\n}\n\n/*\n * The package.json files of the components are generated into node_modules/<component pkg name>/package.json\n * This function copies the generated package.json file into all the locations of the component.\n */\nasync function linkManifestsToInjectedDeps({\n rootDir,\n manifestsByPaths,\n injectedDeps,\n}: {\n rootDir: string;\n manifestsByPaths: Record<string, ProjectManifest>;\n injectedDeps: Record<string, string[]>;\n}) {\n await Promise.all(\n Object.entries(injectedDeps).map(async ([compDir, targetDirs]) => {\n const pkgName = manifestsByPaths[path.join(rootDir, compDir)]?.name;\n if (!pkgName) return;\n const pkgJsonPath = path.join(rootDir, 'node_modules', pkgName, 'package.json');\n if (fs.existsSync(pkgJsonPath)) {\n await Promise.all(targetDirs.map((targetDir) => link(pkgJsonPath, path.join(targetDir, 'package.json'))));\n }\n })\n );\n}\n\nfunction groupPkgs(manifestsByPaths: Record<string, ProjectManifest>) {\n const pkgs = Object.entries(manifestsByPaths).map(([dir, manifest]) => ({ dir, manifest }));\n const { graph } = pkgsGraph(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 workspacePackages = {}; // @pnpm/core will use this to link packages to each other\n\n chunks.forEach((dirs, buildIndex) => {\n for (const rootDir of dirs) {\n const manifest = manifestsByPaths[rootDir];\n packagesToBuild.push({\n buildIndex,\n manifest,\n rootDir,\n mutation: 'install',\n });\n if (manifest.name) {\n workspacePackages[manifest.name] = workspacePackages[manifest.name] || {};\n workspacePackages[manifest.name][manifest.version] = { dir: rootDir, manifest };\n }\n }\n });\n return { packagesToBuild, workspacePackages };\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\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 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 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"],"mappings":"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"}
|
|
@@ -24,4 +24,5 @@ export declare class PnpmPackageManager implements PackageManager {
|
|
|
24
24
|
getProxyConfig?(): Promise<PackageManagerProxyConfig>;
|
|
25
25
|
getNetworkConfig?(): Promise<PackageManagerNetworkConfig>;
|
|
26
26
|
getRegistries(): Promise<Registries>;
|
|
27
|
+
getInjectedDirs(rootDir: string, componentDir: string): Promise<string[]>;
|
|
27
28
|
}
|
|
@@ -45,6 +45,16 @@ function _lodash() {
|
|
|
45
45
|
return data;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
function _modulesYaml() {
|
|
49
|
+
const data = require("@pnpm/modules-yaml");
|
|
50
|
+
|
|
51
|
+
_modulesYaml = function () {
|
|
52
|
+
return data;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
return data;
|
|
56
|
+
}
|
|
57
|
+
|
|
48
58
|
function _path() {
|
|
49
59
|
const data = require("path");
|
|
50
60
|
|
|
@@ -150,7 +160,11 @@ class PnpmPackageManager {
|
|
|
150
160
|
const {
|
|
151
161
|
config
|
|
152
162
|
} = await this.readConfig(installOptions.packageManagerConfigRootDir);
|
|
153
|
-
|
|
163
|
+
|
|
164
|
+
if (!installOptions.useNesting) {
|
|
165
|
+
await (0, _dependencyResolver().extendWithComponentsFromDir)(rootManifest.rootDir, componentsManifests);
|
|
166
|
+
}
|
|
167
|
+
|
|
154
168
|
await install(rootManifest, componentsManifests, storeDir, cacheDir, registries, proxyConfig, networkConfig, {
|
|
155
169
|
engineStrict: (_installOptions$engin = installOptions.engineStrict) !== null && _installOptions$engin !== void 0 ? _installOptions$engin : config.engineStrict,
|
|
156
170
|
nodeLinker: installOptions.nodeLinker,
|
|
@@ -159,6 +173,8 @@ class PnpmPackageManager {
|
|
|
159
173
|
hoistPattern: config.hoistPattern,
|
|
160
174
|
publicHoistPattern: ['*eslint*', '@prettier/plugin-*', '*prettier-plugin-*'],
|
|
161
175
|
packageImportMethod: (_installOptions$packa = installOptions.packageImportMethod) !== null && _installOptions$packa !== void 0 ? _installOptions$packa : config.packageImportMethod,
|
|
176
|
+
rootComponents: installOptions.rootComponents,
|
|
177
|
+
rootComponentsForCapsules: installOptions.rootComponentsForCapsules,
|
|
162
178
|
peerDependencyRules: installOptions.peerDependencyRules,
|
|
163
179
|
sideEffectsCacheRead: (_installOptions$sideE = installOptions.sideEffectsCache) !== null && _installOptions$sideE !== void 0 ? _installOptions$sideE : true,
|
|
164
180
|
sideEffectsCacheWrite: (_installOptions$sideE2 = installOptions.sideEffectsCache) !== null && _installOptions$sideE2 !== void 0 ? _installOptions$sideE2 : true
|
|
@@ -204,13 +220,16 @@ class PnpmPackageManager {
|
|
|
204
220
|
computeComponentsManifests(componentDirectoryMap, componentsManifestsFromWorkspace, copyPeerToRuntime = false) {
|
|
205
221
|
return componentDirectoryMap.toArray().reduce((acc, [component, dir]) => {
|
|
206
222
|
const packageName = this.pkg.getPackageName(component);
|
|
223
|
+
const manifest = componentsManifestsFromWorkspace.get(packageName);
|
|
207
224
|
|
|
208
|
-
if (
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
acc[dir] = (_componentsManifestsF = componentsManifestsFromWorkspace.get(packageName)) === null || _componentsManifestsF === void 0 ? void 0 : _componentsManifestsF.toJson({
|
|
225
|
+
if (manifest) {
|
|
226
|
+
acc[dir] = manifest.toJson({
|
|
212
227
|
copyPeerToRuntime
|
|
213
228
|
});
|
|
229
|
+
acc[dir].defaultPeerDependencies = (0, _lodash().fromPairs)(manifest.envPolicy.peersAutoDetectPolicy.entries.map(({
|
|
230
|
+
name,
|
|
231
|
+
version
|
|
232
|
+
}) => [name, version]));
|
|
214
233
|
}
|
|
215
234
|
|
|
216
235
|
return acc;
|
|
@@ -293,6 +312,13 @@ class PnpmPackageManager {
|
|
|
293
312
|
return new (_dependencyResolver().Registries)(defaultRegistry, scopesRegistries);
|
|
294
313
|
}
|
|
295
314
|
|
|
315
|
+
async getInjectedDirs(rootDir, componentDir) {
|
|
316
|
+
var _modulesState$injecte, _modulesState$injecte2;
|
|
317
|
+
|
|
318
|
+
const modulesState = await (0, _modulesYaml().read)((0, _path().join)(rootDir, 'node_modules'));
|
|
319
|
+
return (_modulesState$injecte = modulesState === null || modulesState === void 0 ? void 0 : (_modulesState$injecte2 = modulesState.injectedDeps) === null || _modulesState$injecte2 === void 0 ? void 0 : _modulesState$injecte2[componentDir]) !== null && _modulesState$injecte !== void 0 ? _modulesState$injecte : [];
|
|
320
|
+
}
|
|
321
|
+
|
|
296
322
|
}
|
|
297
323
|
|
|
298
324
|
exports.PnpmPackageManager = PnpmPackageManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultStoreDir","join","userHome","defaultCacheDir","PnpmPackageManager","constructor","depResolver","pkg","logger","memoize","readConfig","_componentsToPnpmWorkspaceProjects","rootDir","rootPolicy","componentDirectoryMap","installOptions","components","toArray","map","component","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","dependencyFilterFn","workspaceManifest","getWorkspaceManifest","undefined","rootManifest","toJsonWithDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","installPeersFromEnvs","componentsManifests","computeComponentsManifests","componentsManifestsMap","copyPeerToRuntimeOnComponents","_getGlobalPnpmDirs","opts","config","packageManagerConfigRootDir","storeDir","cacheRootDir","cacheDir","install","require","debug","setStatusLine","off","registries","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","extendWithComponentsFromDir","engineStrict","nodeLinker","nodeVersion","overrides","hoistPattern","publicHoistPattern","packageImportMethod","peerDependencyRules","sideEffectsCacheRead","sideEffectsCache","sideEffectsCacheWrite","on","console","consoleSuccess","getPeerDependencyIssues","lynx","componentsManifestsFromWorkspace","reduce","acc","dir","packageName","getPackageName","has","get","toJson","resolveRemoteVersion","maxSockets","rawConfig","networkConcurrency","fetchRetries","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","strictSSL","ca","cert","key","pnpmRegistry","defaultRegistry","Registry","default","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","omit","scopesRegistries","Object","keys","scopedRegName","scopedReg","name","replace","bit","BIT_DEV_REGISTRY","Registries"],"sources":["pnpm.package-manager.ts"],"sourcesContent":["import { ComponentMap } from '@teambit/component';\nimport {\n ComponentsManifestsMap,\n CreateFromComponentsOptions,\n WorkspacePolicy,\n DependencyResolverMain,\n extendWithComponentsFromDir,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n Registries,\n Registry,\n BIT_DEV_REGISTRY,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { memoize, omit } from 'lodash';\nimport { PkgMain } from '@teambit/pkg';\nimport { PeerDependencyIssuesByProjects } from '@pnpm/core';\nimport { ProjectManifest } from '@pnpm/types';\nimport { join } from 'path';\nimport userHome from 'user-home';\nimport { readConfig } from './read-config';\n\nconst defaultStoreDir = join(userHome, '.pnpm-store');\nconst defaultCacheDir = join(userHome, '.pnpm-cache');\n\ninterface Manifests {\n componentsManifests: Record<string, ProjectManifest>;\n rootManifest: {\n rootDir: string;\n manifest: ProjectManifest;\n };\n}\n\nexport class PnpmPackageManager implements PackageManager {\n private readConfig = memoize(readConfig);\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\n\n private async _componentsToPnpmWorkspaceProjects(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<Manifests> {\n const components = componentDirectoryMap.toArray().map(([component]) => component);\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: installOptions.dedupe,\n dependencyFilterFn: installOptions.dependencyFilterFn,\n };\n const workspaceManifest = await this.depResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n components,\n options\n );\n const rootManifest = workspaceManifest.toJsonWithDir({\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\n installPeersFromEnvs: installOptions.installPeersFromEnvs,\n });\n\n const componentsManifests = this.computeComponentsManifests(\n componentDirectoryMap,\n workspaceManifest.componentsManifestsMap,\n // In case of not deduping we want to install peers inside the components\n // !options.dedupe\n installOptions.copyPeerToRuntimeOnComponents\n );\n return {\n componentsManifests,\n rootManifest,\n };\n }\n\n async _getGlobalPnpmDirs(\n opts: {\n cacheRootDir?: string;\n packageManagerConfigRootDir?: string;\n } = {}\n ) {\n const { config } = await this.readConfig(opts.packageManagerConfigRootDir);\n const storeDir = opts.cacheRootDir ? join(opts.cacheRootDir, '.pnpm-store') : config.storeDir ?? defaultStoreDir;\n const cacheDir = opts.cacheRootDir ? join(opts.cacheRootDir, '.pnpm-cache') : config.cacheDir ?? defaultCacheDir;\n return { storeDir, cacheDir };\n }\n\n async install(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<void> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { install } = require('./lynx');\n\n const { componentsManifests, rootManifest } = await this._componentsToPnpmWorkspaceProjects(\n rootDir,\n rootPolicy,\n componentDirectoryMap,\n installOptions\n );\n this.logger.debug('root manifest for installation', rootManifest);\n this.logger.debug('components manifests for installation', componentsManifests);\n this.logger.setStatusLine('installing dependencies using pnpm');\n // turn off the logger because it interrupts the pnpm output\n this.logger.off();\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { storeDir, cacheDir } = await this._getGlobalPnpmDirs(installOptions);\n const { config } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n await extendWithComponentsFromDir(rootManifest.rootDir, componentsManifests);\n await install(\n rootManifest,\n componentsManifests,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n {\n engineStrict: installOptions.engineStrict ?? config.engineStrict,\n nodeLinker: installOptions.nodeLinker,\n nodeVersion: installOptions.nodeVersion ?? config.nodeVersion,\n overrides: installOptions.overrides,\n hoistPattern: config.hoistPattern,\n publicHoistPattern: ['*eslint*', '@prettier/plugin-*', '*prettier-plugin-*'],\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n peerDependencyRules: installOptions.peerDependencyRules,\n sideEffectsCacheRead: installOptions.sideEffectsCache ?? true,\n sideEffectsCacheWrite: installOptions.sideEffectsCache ?? true,\n },\n this.logger\n );\n this.logger.on();\n // Make a divider row to improve output\n this.logger.console('-------------------------');\n this.logger.consoleSuccess('installing dependencies using pnpm');\n }\n\n async getPeerDependencyIssues(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<PeerDependencyIssuesByProjects> {\n const { storeDir, cacheDir } = await this._getGlobalPnpmDirs(installOptions);\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const registries = await this.depResolver.getRegistries();\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const lynx = require('./lynx');\n const { componentsManifests, rootManifest } = await this._componentsToPnpmWorkspaceProjects(\n rootDir,\n rootPolicy,\n componentDirectoryMap,\n installOptions\n );\n const { config } = await this.readConfig();\n return lynx.getPeerDependencyIssues(rootManifest, componentsManifests, {\n storeDir,\n cacheDir,\n proxyConfig,\n registries,\n networkConfig,\n overrides: installOptions.overrides,\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n });\n }\n\n private computeComponentsManifests(\n componentDirectoryMap: ComponentMap<string>,\n componentsManifestsFromWorkspace: ComponentsManifestsMap,\n copyPeerToRuntime = false\n ): Record<string, ProjectManifest> {\n return componentDirectoryMap.toArray().reduce((acc, [component, dir]) => {\n const packageName = this.pkg.getPackageName(component);\n if (componentsManifestsFromWorkspace.has(packageName)) {\n acc[dir] = componentsManifestsFromWorkspace.get(packageName)?.toJson({ copyPeerToRuntime });\n }\n return acc;\n }, {});\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { resolveRemoteVersion } = require('./lynx');\n const { cacheDir } = await this._getGlobalPnpmDirs(options);\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig, networkConfig);\n }\n\n async getProxyConfig?(): Promise<PackageManagerProxyConfig> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getProxyConfig } = require('./get-proxy-config');\n const { config } = await this.readConfig();\n return getProxyConfig(config);\n }\n\n async getNetworkConfig?(): Promise<PackageManagerNetworkConfig> {\n const { config } = await this.readConfig();\n // We need to use config.rawConfig as it will only contain the settings defined by the user.\n // config contains default values of the settings when they are not defined by the user.\n return {\n maxSockets: config.rawConfig['max-sockets'],\n networkConcurrency: config.rawConfig['network-concurrency'],\n fetchRetries: config.rawConfig['fetch-retries'],\n fetchTimeout: config.rawConfig['fetch-timeout'],\n fetchRetryMaxtimeout: config.rawConfig['fetch-retry-maxtimeout'],\n fetchRetryMintimeout: config.rawConfig['fetch-retry-mintimeout'],\n strictSSL: config.rawConfig['strict-ssl'],\n // These settings don't have default value, so it is safe to read them from config\n // ca is automatically populated from the content of the file specified by cafile.\n ca: config.ca,\n cert: config.cert,\n key: config.key,\n };\n }\n\n async getRegistries(): Promise<Registries> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getRegistries } = require('./get-registries');\n const { config } = await this.readConfig();\n const pnpmRegistry = await getRegistries(config);\n const defaultRegistry = new Registry(\n pnpmRegistry.default.uri,\n pnpmRegistry.default.alwaysAuth,\n pnpmRegistry.default.authHeaderValue,\n pnpmRegistry.default.originalAuthType,\n pnpmRegistry.default.originalAuthValue\n );\n\n const pnpmScoped = omit(pnpmRegistry, ['default']);\n const scopesRegistries: Record<string, Registry> = Object.keys(pnpmScoped).reduce((acc, scopedRegName) => {\n const scopedReg = pnpmScoped[scopedRegName];\n const name = scopedRegName.replace('@', '');\n acc[name] = new Registry(\n scopedReg.uri,\n scopedReg.alwaysAuth,\n scopedReg.authHeaderValue,\n scopedReg.originalAuthType,\n scopedReg.originalAuthValue\n );\n return acc;\n }, {});\n\n // Add bit registry server if not exist\n if (!scopesRegistries.bit) {\n scopesRegistries.bit = new Registry(BIT_DEV_REGISTRY, true);\n }\n\n return new Registries(defaultRegistry, scopesRegistries);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAiBA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAIA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA,MAAMA,eAAe,GAAG,IAAAC,YAAA,EAAKC,mBAAL,EAAe,aAAf,CAAxB;AACA,MAAMC,eAAe,GAAG,IAAAF,YAAA,EAAKC,mBAAL,EAAe,aAAf,CAAxB;;AAUO,MAAME,kBAAN,CAAmD;EAExDC,WAAW,CAASC,WAAT,EAAsDC,GAAtD,EAA4EC,MAA5E,EAA4F;IAAA,KAAnFF,WAAmF,GAAnFA,WAAmF;IAAA,KAAtCC,GAAsC,GAAtCA,GAAsC;IAAA,KAAhBC,MAAgB,GAAhBA,MAAgB;IAAA,oDADlF,IAAAC,iBAAA,EAAQC,wBAAR,CACkF;EAAE;;EAEzD,MAAlCC,kCAAkC,CAC9CC,OAD8C,EAE9CC,UAF8C,EAG9CC,qBAH8C,EAI9CC,cAA4C,GAAG,EAJD,EAK1B;IACpB,MAAMC,UAAU,GAAGF,qBAAqB,CAACG,OAAtB,GAAgCC,GAAhC,CAAoC,CAAC,CAACC,SAAD,CAAD,KAAiBA,SAArD,CAAnB;IACA,MAAMC,OAAoC,GAAG;MAC3CC,6BAA6B,EAAE,IADY;MAE3CC,8CAA8C,EAAE,IAFL;MAG3CC,MAAM,EAAER,cAAc,CAACQ,MAHoB;MAI3CC,kBAAkB,EAAET,cAAc,CAACS;IAJQ,CAA7C;IAMA,MAAMC,iBAAiB,GAAG,MAAM,KAAKnB,WAAL,CAAiBoB,oBAAjB,CAC9BC,SAD8B,EAE9BA,SAF8B,EAG9Bd,UAH8B,EAI9BD,OAJ8B,EAK9BI,UAL8B,EAM9BI,OAN8B,CAAhC;IAQA,MAAMQ,YAAY,GAAGH,iBAAiB,CAACI,aAAlB,CAAgC;MACnDC,iBAAiB,EAAEf,cAAc,CAACgB,uBADiB;MAEnDC,oBAAoB,EAAEjB,cAAc,CAACiB;IAFc,CAAhC,CAArB;IAKA,MAAMC,mBAAmB,GAAG,KAAKC,0BAAL,CAC1BpB,qBAD0B,EAE1BW,iBAAiB,CAACU,sBAFQ,EAG1B;IACA;IACApB,cAAc,CAACqB,6BALW,CAA5B;IAOA,OAAO;MACLH,mBADK;MAELL;IAFK,CAAP;EAID;;EAEuB,MAAlBS,kBAAkB,CACtBC,IAGC,GAAG,EAJkB,EAKtB;IAAA;;IACA,MAAM;MAAEC;IAAF,IAAa,MAAM,KAAK7B,UAAL,CAAgB4B,IAAI,CAACE,2BAArB,CAAzB;IACA,MAAMC,QAAQ,GAAGH,IAAI,CAACI,YAAL,GAAoB,IAAAzC,YAAA,EAAKqC,IAAI,CAACI,YAAV,EAAwB,aAAxB,CAApB,uBAA6DH,MAAM,CAACE,QAApE,+DAAgFzC,eAAjG;IACA,MAAM2C,QAAQ,GAAGL,IAAI,CAACI,YAAL,GAAoB,IAAAzC,YAAA,EAAKqC,IAAI,CAACI,YAAV,EAAwB,aAAxB,CAApB,uBAA6DH,MAAM,CAACI,QAApE,+DAAgFxC,eAAjG;IACA,OAAO;MAAEsC,QAAF;MAAYE;IAAZ,CAAP;EACD;;EAEY,MAAPC,OAAO,CACXhC,OADW,EAEXC,UAFW,EAGXC,qBAHW,EAIXC,cAA4C,GAAG,EAJpC,EAKI;IAAA;;IACf;IACA;IACA,MAAM;MAAE6B;IAAF,IAAcC,OAAO,CAAC,QAAD,CAA3B;;IAEA,MAAM;MAAEZ,mBAAF;MAAuBL;IAAvB,IAAwC,MAAM,KAAKjB,kCAAL,CAClDC,OADkD,EAElDC,UAFkD,EAGlDC,qBAHkD,EAIlDC,cAJkD,CAApD;IAMA,KAAKP,MAAL,CAAYsC,KAAZ,CAAkB,gCAAlB,EAAoDlB,YAApD;IACA,KAAKpB,MAAL,CAAYsC,KAAZ,CAAkB,uCAAlB,EAA2Db,mBAA3D;IACA,KAAKzB,MAAL,CAAYuC,aAAZ,CAA0B,oCAA1B,EAbe,CAcf;;IACA,KAAKvC,MAAL,CAAYwC,GAAZ;IACA,MAAMC,UAAU,GAAG,MAAM,KAAK3C,WAAL,CAAiB4C,aAAjB,EAAzB;IACA,MAAMC,WAAW,GAAG,MAAM,KAAK7C,WAAL,CAAiB8C,cAAjB,EAA1B;IACA,MAAMC,aAAa,GAAG,MAAM,KAAK/C,WAAL,CAAiBgD,gBAAjB,EAA5B;IACA,MAAM;MAAEb,QAAF;MAAYE;IAAZ,IAAyB,MAAM,KAAKN,kBAAL,CAAwBtB,cAAxB,CAArC;IACA,MAAM;MAAEwB;IAAF,IAAa,MAAM,KAAK7B,UAAL,CAAgBK,cAAc,CAACyB,2BAA/B,CAAzB;IACA,MAAM,IAAAe,iDAAA,EAA4B3B,YAAY,CAAChB,OAAzC,EAAkDqB,mBAAlD,CAAN;IACA,MAAMW,OAAO,CACXhB,YADW,EAEXK,mBAFW,EAGXQ,QAHW,EAIXE,QAJW,EAKXM,UALW,EAMXE,WANW,EAOXE,aAPW,EAQX;MACEG,YAAY,2BAAEzC,cAAc,CAACyC,YAAjB,yEAAiCjB,MAAM,CAACiB,YADtD;MAEEC,UAAU,EAAE1C,cAAc,CAAC0C,UAF7B;MAGEC,WAAW,2BAAE3C,cAAc,CAAC2C,WAAjB,yEAAgCnB,MAAM,CAACmB,WAHpD;MAIEC,SAAS,EAAE5C,cAAc,CAAC4C,SAJ5B;MAKEC,YAAY,EAAErB,MAAM,CAACqB,YALvB;MAMEC,kBAAkB,EAAE,CAAC,UAAD,EAAa,oBAAb,EAAmC,oBAAnC,CANtB;MAOEC,mBAAmB,2BAAE/C,cAAc,CAAC+C,mBAAjB,yEAAwCvB,MAAM,CAACuB,mBAPpE;MAQEC,mBAAmB,EAAEhD,cAAc,CAACgD,mBARtC;MASEC,oBAAoB,2BAAEjD,cAAc,CAACkD,gBAAjB,yEAAqC,IAT3D;MAUEC,qBAAqB,4BAAEnD,cAAc,CAACkD,gBAAjB,2EAAqC;IAV5D,CARW,EAoBX,KAAKzD,MApBM,CAAb;IAsBA,KAAKA,MAAL,CAAY2D,EAAZ,GA5Ce,CA6Cf;;IACA,KAAK3D,MAAL,CAAY4D,OAAZ,CAAoB,2BAApB;IACA,KAAK5D,MAAL,CAAY6D,cAAZ,CAA2B,oCAA3B;EACD;;EAE4B,MAAvBC,uBAAuB,CAC3B1D,OAD2B,EAE3BC,UAF2B,EAG3BC,qBAH2B,EAI3BC,cAA4C,GAAG,EAJpB,EAKc;IAAA;;IACzC,MAAM;MAAE0B,QAAF;MAAYE;IAAZ,IAAyB,MAAM,KAAKN,kBAAL,CAAwBtB,cAAxB,CAArC;IACA,MAAMoC,WAAW,GAAG,MAAM,KAAK7C,WAAL,CAAiB8C,cAAjB,EAA1B;IACA,MAAMC,aAAa,GAAG,MAAM,KAAK/C,WAAL,CAAiBgD,gBAAjB,EAA5B;IACA,MAAML,UAAU,GAAG,MAAM,KAAK3C,WAAL,CAAiB4C,aAAjB,EAAzB,CAJyC,CAKzC;IACA;;IACA,MAAMqB,IAAI,GAAG1B,OAAO,CAAC,QAAD,CAApB;;IACA,MAAM;MAAEZ,mBAAF;MAAuBL;IAAvB,IAAwC,MAAM,KAAKjB,kCAAL,CAClDC,OADkD,EAElDC,UAFkD,EAGlDC,qBAHkD,EAIlDC,cAJkD,CAApD;IAMA,MAAM;MAAEwB;IAAF,IAAa,MAAM,KAAK7B,UAAL,EAAzB;IACA,OAAO6D,IAAI,CAACD,uBAAL,CAA6B1C,YAA7B,EAA2CK,mBAA3C,EAAgE;MACrEQ,QADqE;MAErEE,QAFqE;MAGrEQ,WAHqE;MAIrEF,UAJqE;MAKrEI,aALqE;MAMrEM,SAAS,EAAE5C,cAAc,CAAC4C,SAN2C;MAOrEG,mBAAmB,4BAAE/C,cAAc,CAAC+C,mBAAjB,2EAAwCvB,MAAM,CAACuB;IAPG,CAAhE,CAAP;EASD;;EAEO5B,0BAA0B,CAChCpB,qBADgC,EAEhC0D,gCAFgC,EAGhC1C,iBAAiB,GAAG,KAHY,EAIC;IACjC,OAAOhB,qBAAqB,CAACG,OAAtB,GAAgCwD,MAAhC,CAAuC,CAACC,GAAD,EAAM,CAACvD,SAAD,EAAYwD,GAAZ,CAAN,KAA2B;MACvE,MAAMC,WAAW,GAAG,KAAKrE,GAAL,CAASsE,cAAT,CAAwB1D,SAAxB,CAApB;;MACA,IAAIqD,gCAAgC,CAACM,GAAjC,CAAqCF,WAArC,CAAJ,EAAuD;QAAA;;QACrDF,GAAG,CAACC,GAAD,CAAH,4BAAWH,gCAAgC,CAACO,GAAjC,CAAqCH,WAArC,CAAX,0DAAW,sBAAmDI,MAAnD,CAA0D;UAAElD;QAAF,CAA1D,CAAX;MACD;;MACD,OAAO4C,GAAP;IACD,CANM,EAMJ,EANI,CAAP;EAOD;;EAEyB,MAApBO,oBAAoB,CACxBL,WADwB,EAExBxD,OAFwB,EAGS;IACjC;IACA;IACA,MAAM;MAAE6D;IAAF,IAA2BpC,OAAO,CAAC,QAAD,CAAxC;;IACA,MAAM;MAAEF;IAAF,IAAe,MAAM,KAAKN,kBAAL,CAAwBjB,OAAxB,CAA3B;IACA,MAAM6B,UAAU,GAAG,MAAM,KAAK3C,WAAL,CAAiB4C,aAAjB,EAAzB;IACA,MAAMC,WAAW,GAAG,MAAM,KAAK7C,WAAL,CAAiB8C,cAAjB,EAA1B;IACA,MAAMC,aAAa,GAAG,MAAM,KAAK/C,WAAL,CAAiBgD,gBAAjB,EAA5B;IACA,OAAO2B,oBAAoB,CAACL,WAAD,EAAcxD,OAAO,CAACR,OAAtB,EAA+B+B,QAA/B,EAAyCM,UAAzC,EAAqDE,WAArD,EAAkEE,aAAlE,CAA3B;EACD;;EAEmB,MAAdD,cAAc,GAAwC;IAC1D;IACA,MAAM;MAAEA;IAAF,IAAqBP,OAAO,CAAC,oBAAD,CAAlC;;IACA,MAAM;MAAEN;IAAF,IAAa,MAAM,KAAK7B,UAAL,EAAzB;IACA,OAAO0C,cAAc,CAACb,MAAD,CAArB;EACD;;EAEqB,MAAhBe,gBAAgB,GAA0C;IAC9D,MAAM;MAAEf;IAAF,IAAa,MAAM,KAAK7B,UAAL,EAAzB,CAD8D,CAE9D;IACA;;IACA,OAAO;MACLwE,UAAU,EAAE3C,MAAM,CAAC4C,SAAP,CAAiB,aAAjB,CADP;MAELC,kBAAkB,EAAE7C,MAAM,CAAC4C,SAAP,CAAiB,qBAAjB,CAFf;MAGLE,YAAY,EAAE9C,MAAM,CAAC4C,SAAP,CAAiB,eAAjB,CAHT;MAILG,YAAY,EAAE/C,MAAM,CAAC4C,SAAP,CAAiB,eAAjB,CAJT;MAKLI,oBAAoB,EAAEhD,MAAM,CAAC4C,SAAP,CAAiB,wBAAjB,CALjB;MAMLK,oBAAoB,EAAEjD,MAAM,CAAC4C,SAAP,CAAiB,wBAAjB,CANjB;MAOLM,SAAS,EAAElD,MAAM,CAAC4C,SAAP,CAAiB,YAAjB,CAPN;MAQL;MACA;MACAO,EAAE,EAAEnD,MAAM,CAACmD,EAVN;MAWLC,IAAI,EAAEpD,MAAM,CAACoD,IAXR;MAYLC,GAAG,EAAErD,MAAM,CAACqD;IAZP,CAAP;EAcD;;EAEkB,MAAb1C,aAAa,GAAwB;IACzC;IACA,MAAM;MAAEA;IAAF,IAAoBL,OAAO,CAAC,kBAAD,CAAjC;;IACA,MAAM;MAAEN;IAAF,IAAa,MAAM,KAAK7B,UAAL,EAAzB;IACA,MAAMmF,YAAY,GAAG,MAAM3C,aAAa,CAACX,MAAD,CAAxC;IACA,MAAMuD,eAAe,GAAG,KAAIC,8BAAJ,EACtBF,YAAY,CAACG,OAAb,CAAqBC,GADC,EAEtBJ,YAAY,CAACG,OAAb,CAAqBE,UAFC,EAGtBL,YAAY,CAACG,OAAb,CAAqBG,eAHC,EAItBN,YAAY,CAACG,OAAb,CAAqBI,gBAJC,EAKtBP,YAAY,CAACG,OAAb,CAAqBK,iBALC,CAAxB;IAQA,MAAMC,UAAU,GAAG,IAAAC,cAAA,EAAKV,YAAL,EAAmB,CAAC,SAAD,CAAnB,CAAnB;IACA,MAAMW,gBAA0C,GAAGC,MAAM,CAACC,IAAP,CAAYJ,UAAZ,EAAwB7B,MAAxB,CAA+B,CAACC,GAAD,EAAMiC,aAAN,KAAwB;MACxG,MAAMC,SAAS,GAAGN,UAAU,CAACK,aAAD,CAA5B;MACA,MAAME,IAAI,GAAGF,aAAa,CAACG,OAAd,CAAsB,GAAtB,EAA2B,EAA3B,CAAb;MACApC,GAAG,CAACmC,IAAD,CAAH,GAAY,KAAId,8BAAJ,EACVa,SAAS,CAACX,GADA,EAEVW,SAAS,CAACV,UAFA,EAGVU,SAAS,CAACT,eAHA,EAIVS,SAAS,CAACR,gBAJA,EAKVQ,SAAS,CAACP,iBALA,CAAZ;MAOA,OAAO3B,GAAP;IACD,CAXkD,EAWhD,EAXgD,CAAnD,CAdyC,CA2BzC;;IACA,IAAI,CAAC8B,gBAAgB,CAACO,GAAtB,EAA2B;MACzBP,gBAAgB,CAACO,GAAjB,GAAuB,KAAIhB,8BAAJ,EAAaiB,sCAAb,EAA+B,IAA/B,CAAvB;IACD;;IAED,OAAO,KAAIC,gCAAJ,EAAenB,eAAf,EAAgCU,gBAAhC,CAAP;EACD;;AArOuD"}
|
|
1
|
+
{"version":3,"names":["defaultStoreDir","join","userHome","defaultCacheDir","PnpmPackageManager","constructor","depResolver","pkg","logger","memoize","readConfig","_componentsToPnpmWorkspaceProjects","rootDir","rootPolicy","componentDirectoryMap","installOptions","components","toArray","map","component","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","dependencyFilterFn","workspaceManifest","getWorkspaceManifest","undefined","rootManifest","toJsonWithDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","installPeersFromEnvs","componentsManifests","computeComponentsManifests","componentsManifestsMap","copyPeerToRuntimeOnComponents","_getGlobalPnpmDirs","opts","config","packageManagerConfigRootDir","storeDir","cacheRootDir","cacheDir","install","require","debug","setStatusLine","off","registries","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","useNesting","extendWithComponentsFromDir","engineStrict","nodeLinker","nodeVersion","overrides","hoistPattern","publicHoistPattern","packageImportMethod","rootComponents","rootComponentsForCapsules","peerDependencyRules","sideEffectsCacheRead","sideEffectsCache","sideEffectsCacheWrite","on","console","consoleSuccess","getPeerDependencyIssues","lynx","componentsManifestsFromWorkspace","reduce","acc","dir","packageName","getPackageName","manifest","get","toJson","defaultPeerDependencies","fromPairs","envPolicy","peersAutoDetectPolicy","entries","name","version","resolveRemoteVersion","maxSockets","rawConfig","networkConcurrency","fetchRetries","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","strictSSL","ca","cert","key","pnpmRegistry","defaultRegistry","Registry","default","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","omit","scopesRegistries","Object","keys","scopedRegName","scopedReg","replace","bit","BIT_DEV_REGISTRY","Registries","getInjectedDirs","componentDir","modulesState","readModulesState","injectedDeps"],"sources":["pnpm.package-manager.ts"],"sourcesContent":["import { ComponentMap } from '@teambit/component';\nimport {\n ComponentsManifestsMap,\n CreateFromComponentsOptions,\n WorkspacePolicy,\n DependencyResolverMain,\n extendWithComponentsFromDir,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n Registries,\n Registry,\n BIT_DEV_REGISTRY,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { memoize, omit, fromPairs } from 'lodash';\nimport { PkgMain } from '@teambit/pkg';\nimport { PeerDependencyIssuesByProjects } from '@pnpm/core';\nimport { read as readModulesState } from '@pnpm/modules-yaml';\nimport { ProjectManifest } from '@pnpm/types';\nimport { join } from 'path';\nimport userHome from 'user-home';\nimport { readConfig } from './read-config';\n\nconst defaultStoreDir = join(userHome, '.pnpm-store');\nconst defaultCacheDir = join(userHome, '.pnpm-cache');\n\ninterface Manifests {\n componentsManifests: Record<string, ProjectManifest>;\n rootManifest: {\n rootDir: string;\n manifest: ProjectManifest;\n };\n}\n\nexport class PnpmPackageManager implements PackageManager {\n private readConfig = memoize(readConfig);\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\n\n private async _componentsToPnpmWorkspaceProjects(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<Manifests> {\n const components = componentDirectoryMap.toArray().map(([component]) => component);\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: installOptions.dedupe,\n dependencyFilterFn: installOptions.dependencyFilterFn,\n };\n const workspaceManifest = await this.depResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n components,\n options\n );\n const rootManifest = workspaceManifest.toJsonWithDir({\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\n installPeersFromEnvs: installOptions.installPeersFromEnvs,\n });\n\n const componentsManifests = this.computeComponentsManifests(\n componentDirectoryMap,\n workspaceManifest.componentsManifestsMap,\n // In case of not deduping we want to install peers inside the components\n // !options.dedupe\n installOptions.copyPeerToRuntimeOnComponents\n );\n return {\n componentsManifests,\n rootManifest,\n };\n }\n\n async _getGlobalPnpmDirs(\n opts: {\n cacheRootDir?: string;\n packageManagerConfigRootDir?: string;\n } = {}\n ) {\n const { config } = await this.readConfig(opts.packageManagerConfigRootDir);\n const storeDir = opts.cacheRootDir ? join(opts.cacheRootDir, '.pnpm-store') : config.storeDir ?? defaultStoreDir;\n const cacheDir = opts.cacheRootDir ? join(opts.cacheRootDir, '.pnpm-cache') : config.cacheDir ?? defaultCacheDir;\n return { storeDir, cacheDir };\n }\n\n async install(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<void> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { install } = require('./lynx');\n\n const { componentsManifests, rootManifest } = await this._componentsToPnpmWorkspaceProjects(\n rootDir,\n rootPolicy,\n componentDirectoryMap,\n installOptions\n );\n this.logger.debug('root manifest for installation', rootManifest);\n this.logger.debug('components manifests for installation', componentsManifests);\n this.logger.setStatusLine('installing dependencies using pnpm');\n // turn off the logger because it interrupts the pnpm output\n this.logger.off();\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { storeDir, cacheDir } = await this._getGlobalPnpmDirs(installOptions);\n const { config } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n if (!installOptions.useNesting) {\n await extendWithComponentsFromDir(rootManifest.rootDir, componentsManifests);\n }\n await install(\n rootManifest,\n componentsManifests,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n {\n engineStrict: installOptions.engineStrict ?? config.engineStrict,\n nodeLinker: installOptions.nodeLinker,\n nodeVersion: installOptions.nodeVersion ?? config.nodeVersion,\n overrides: installOptions.overrides,\n hoistPattern: config.hoistPattern,\n publicHoistPattern: ['*eslint*', '@prettier/plugin-*', '*prettier-plugin-*'],\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n rootComponents: installOptions.rootComponents,\n rootComponentsForCapsules: installOptions.rootComponentsForCapsules,\n peerDependencyRules: installOptions.peerDependencyRules,\n sideEffectsCacheRead: installOptions.sideEffectsCache ?? true,\n sideEffectsCacheWrite: installOptions.sideEffectsCache ?? true,\n },\n this.logger\n );\n this.logger.on();\n // Make a divider row to improve output\n this.logger.console('-------------------------');\n this.logger.consoleSuccess('installing dependencies using pnpm');\n }\n\n async getPeerDependencyIssues(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<PeerDependencyIssuesByProjects> {\n const { storeDir, cacheDir } = await this._getGlobalPnpmDirs(installOptions);\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const registries = await this.depResolver.getRegistries();\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const lynx = require('./lynx');\n const { componentsManifests, rootManifest } = await this._componentsToPnpmWorkspaceProjects(\n rootDir,\n rootPolicy,\n componentDirectoryMap,\n installOptions\n );\n const { config } = await this.readConfig();\n return lynx.getPeerDependencyIssues(rootManifest, componentsManifests, {\n storeDir,\n cacheDir,\n proxyConfig,\n registries,\n networkConfig,\n overrides: installOptions.overrides,\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n });\n }\n\n private computeComponentsManifests(\n componentDirectoryMap: ComponentMap<string>,\n componentsManifestsFromWorkspace: ComponentsManifestsMap,\n copyPeerToRuntime = false\n ): Record<string, ProjectManifest> {\n return componentDirectoryMap.toArray().reduce((acc, [component, dir]) => {\n const packageName = this.pkg.getPackageName(component);\n const manifest = componentsManifestsFromWorkspace.get(packageName);\n if (manifest) {\n acc[dir] = manifest.toJson({ copyPeerToRuntime });\n acc[dir].defaultPeerDependencies = fromPairs(\n manifest.envPolicy.peersAutoDetectPolicy.entries.map(({ name, version }) => [name, version])\n );\n }\n return acc;\n }, {});\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { resolveRemoteVersion } = require('./lynx');\n const { cacheDir } = await this._getGlobalPnpmDirs(options);\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig, networkConfig);\n }\n\n async getProxyConfig?(): Promise<PackageManagerProxyConfig> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getProxyConfig } = require('./get-proxy-config');\n const { config } = await this.readConfig();\n return getProxyConfig(config);\n }\n\n async getNetworkConfig?(): Promise<PackageManagerNetworkConfig> {\n const { config } = await this.readConfig();\n // We need to use config.rawConfig as it will only contain the settings defined by the user.\n // config contains default values of the settings when they are not defined by the user.\n return {\n maxSockets: config.rawConfig['max-sockets'],\n networkConcurrency: config.rawConfig['network-concurrency'],\n fetchRetries: config.rawConfig['fetch-retries'],\n fetchTimeout: config.rawConfig['fetch-timeout'],\n fetchRetryMaxtimeout: config.rawConfig['fetch-retry-maxtimeout'],\n fetchRetryMintimeout: config.rawConfig['fetch-retry-mintimeout'],\n strictSSL: config.rawConfig['strict-ssl'],\n // These settings don't have default value, so it is safe to read them from config\n // ca is automatically populated from the content of the file specified by cafile.\n ca: config.ca,\n cert: config.cert,\n key: config.key,\n };\n }\n\n async getRegistries(): Promise<Registries> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getRegistries } = require('./get-registries');\n const { config } = await this.readConfig();\n const pnpmRegistry = await getRegistries(config);\n const defaultRegistry = new Registry(\n pnpmRegistry.default.uri,\n pnpmRegistry.default.alwaysAuth,\n pnpmRegistry.default.authHeaderValue,\n pnpmRegistry.default.originalAuthType,\n pnpmRegistry.default.originalAuthValue\n );\n\n const pnpmScoped = omit(pnpmRegistry, ['default']);\n const scopesRegistries: Record<string, Registry> = Object.keys(pnpmScoped).reduce((acc, scopedRegName) => {\n const scopedReg = pnpmScoped[scopedRegName];\n const name = scopedRegName.replace('@', '');\n acc[name] = new Registry(\n scopedReg.uri,\n scopedReg.alwaysAuth,\n scopedReg.authHeaderValue,\n scopedReg.originalAuthType,\n scopedReg.originalAuthValue\n );\n return acc;\n }, {});\n\n // Add bit registry server if not exist\n if (!scopesRegistries.bit) {\n scopesRegistries.bit = new Registry(BIT_DEV_REGISTRY, true);\n }\n\n return new Registries(defaultRegistry, scopesRegistries);\n }\n\n async getInjectedDirs(rootDir: string, componentDir: string): Promise<string[]> {\n const modulesState = await readModulesState(join(rootDir, 'node_modules'));\n return modulesState?.injectedDeps?.[componentDir] ?? [];\n }\n}\n"],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,34 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/pnpm",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.803",
|
|
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.803"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@pnpm/error": "
|
|
13
|
-
"@pnpm/fetching-types": "
|
|
14
|
-
"@pnpm/git-resolver": "
|
|
15
|
-
"@pnpm/local-resolver": "
|
|
16
|
-
"@pnpm/npm-resolver": "
|
|
17
|
-
"@pnpm/resolver-base": "
|
|
18
|
-
"@pnpm/tarball-resolver": "
|
|
19
|
-
"@pnpm/config": "
|
|
12
|
+
"@pnpm/error": "3.0.1",
|
|
13
|
+
"@pnpm/fetching-types": "3.0.0",
|
|
14
|
+
"@pnpm/git-resolver": "6.1.1",
|
|
15
|
+
"@pnpm/local-resolver": "8.0.7",
|
|
16
|
+
"@pnpm/npm-resolver": "13.0.7",
|
|
17
|
+
"@pnpm/resolver-base": "9.0.5",
|
|
18
|
+
"@pnpm/tarball-resolver": "6.0.5",
|
|
19
|
+
"@pnpm/config": "15.7.0",
|
|
20
20
|
"credentials-by-uri": "2.0.0",
|
|
21
21
|
"lodash": "4.17.21",
|
|
22
22
|
"nerf-dart": "1.0.0",
|
|
23
23
|
"@pnpm/logger": "4.0.0",
|
|
24
|
-
"@pnpm/client": "
|
|
25
|
-
"@pnpm/core": "
|
|
26
|
-
"@pnpm/default-reporter": "
|
|
27
|
-
"@pnpm/
|
|
28
|
-
"@pnpm/
|
|
29
|
-
"@pnpm/
|
|
30
|
-
"@pnpm/
|
|
31
|
-
"@pnpm/
|
|
24
|
+
"@pnpm/client": "7.1.11",
|
|
25
|
+
"@pnpm/core": "5.8.0",
|
|
26
|
+
"@pnpm/default-reporter": "9.1.11",
|
|
27
|
+
"@pnpm/modules-yaml": "10.0.5",
|
|
28
|
+
"@pnpm/package-store": "14.0.5",
|
|
29
|
+
"@pnpm/pick-registry-for-package": "3.0.5",
|
|
30
|
+
"@pnpm/sort-packages": "3.0.6",
|
|
31
|
+
"@pnpm/store-connection-manager": "4.1.23",
|
|
32
|
+
"@pnpm/types": "8.4.0",
|
|
33
|
+
"graceful-fs": "4.2.10",
|
|
32
34
|
"parse-package-name": "0.1.0",
|
|
33
35
|
"pkgs-graph": "6.1.3",
|
|
34
36
|
"semver": "7.3.4",
|
|
@@ -36,14 +38,14 @@
|
|
|
36
38
|
"@babel/runtime": "7.12.18",
|
|
37
39
|
"core-js": "^3.0.0",
|
|
38
40
|
"@teambit/harmony": "0.3.3",
|
|
39
|
-
"@teambit/dependency-resolver": "0.0.
|
|
40
|
-
"@teambit/logger": "0.0.
|
|
41
|
+
"@teambit/dependency-resolver": "0.0.803",
|
|
42
|
+
"@teambit/logger": "0.0.628",
|
|
41
43
|
"@teambit/bit-error": "0.0.394",
|
|
42
|
-
"@teambit/cli": "0.0.
|
|
43
|
-
"@teambit/pkg": "0.0.
|
|
44
|
-
"@teambit/component": "0.0.
|
|
44
|
+
"@teambit/cli": "0.0.535",
|
|
45
|
+
"@teambit/pkg": "0.0.803",
|
|
46
|
+
"@teambit/component": "0.0.803",
|
|
45
47
|
"@teambit/ui-foundation.ui.use-box.menu": "0.0.116",
|
|
46
|
-
"@teambit/ui": "0.0.
|
|
48
|
+
"@teambit/ui": "0.0.803"
|
|
47
49
|
},
|
|
48
50
|
"devDependencies": {
|
|
49
51
|
"@types/lodash": "4.14.165",
|
|
@@ -57,7 +59,7 @@
|
|
|
57
59
|
"@teambit/dependencies.aspect-docs.pnpm": "0.0.139"
|
|
58
60
|
},
|
|
59
61
|
"peerDependencies": {
|
|
60
|
-
"@teambit/legacy": "1.0.
|
|
62
|
+
"@teambit/legacy": "1.0.317",
|
|
61
63
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
62
64
|
"react": "^16.8.0 || ^17.0.0"
|
|
63
65
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_pnpm@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_pnpm@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_pnpm@0.0.803/dist/pnpm.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_pnpm@0.0.803/dist/pnpm.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
Binary file
|