@teambit/yarn 0.0.866 → 0.0.868

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.
@@ -1,8 +1,7 @@
1
1
  import { DependencyResolverMain } from '@teambit/dependency-resolver';
2
- import { PkgMain } from '@teambit/pkg';
3
2
  import { LoggerMain } from '@teambit/logger';
4
3
  export declare class YarnMain {
5
4
  static dependencies: import("@teambit/harmony").Aspect[];
6
5
  static runtime: import("@teambit/harmony").RuntimeDefinition;
7
- static provider([depResolver, pkg, loggerExt]: [DependencyResolverMain, PkgMain, LoggerMain]): Promise<YarnMain>;
6
+ static provider([depResolver, loggerExt]: [DependencyResolverMain, LoggerMain]): Promise<YarnMain>;
8
7
  }
@@ -41,16 +41,6 @@ function _cli() {
41
41
  return data;
42
42
  }
43
43
 
44
- function _pkg() {
45
- const data = require("@teambit/pkg");
46
-
47
- _pkg = function () {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
44
  function _logger() {
55
45
  const data = require("@teambit/logger");
56
46
 
@@ -82,16 +72,16 @@ function _yarn2() {
82
72
  }
83
73
 
84
74
  class YarnMain {
85
- static async provider([depResolver, pkg, loggerExt]) {
75
+ static async provider([depResolver, loggerExt]) {
86
76
  const logger = loggerExt.createLogger(_yarn2().YarnAspect.id);
87
- depResolver.registerPackageManager(new (_yarn().YarnPackageManager)(depResolver, pkg, logger));
77
+ depResolver.registerPackageManager(new (_yarn().YarnPackageManager)(depResolver, logger));
88
78
  return new YarnMain();
89
79
  }
90
80
 
91
81
  }
92
82
 
93
83
  exports.YarnMain = YarnMain;
94
- (0, _defineProperty2().default)(YarnMain, "dependencies", [_dependencyResolver().DependencyResolverAspect, _pkg().PkgAspect, _logger().LoggerAspect]);
84
+ (0, _defineProperty2().default)(YarnMain, "dependencies", [_dependencyResolver().DependencyResolverAspect, _logger().LoggerAspect]);
95
85
  (0, _defineProperty2().default)(YarnMain, "runtime", _cli().MainRuntime);
96
86
 
97
87
  _yarn2().YarnAspect.addRuntime(YarnMain);
@@ -1 +1 @@
1
- {"version":3,"names":["YarnMain","provider","depResolver","pkg","loggerExt","logger","createLogger","YarnAspect","id","registerPackageManager","YarnPackageManager","DependencyResolverAspect","PkgAspect","LoggerAspect","MainRuntime","addRuntime"],"sources":["yarn.main.runtime.ts"],"sourcesContent":["import { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { MainRuntime } from '@teambit/cli';\nimport { PkgAspect, PkgMain } from '@teambit/pkg';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { YarnPackageManager } from './yarn.package-manager';\nimport { YarnAspect } from './yarn.aspect';\n\nexport class YarnMain {\n static dependencies = [DependencyResolverAspect, PkgAspect, LoggerAspect];\n\n static runtime = MainRuntime;\n\n static async provider([depResolver, pkg, loggerExt]: [DependencyResolverMain, PkgMain, LoggerMain]) {\n const logger = loggerExt.createLogger(YarnAspect.id);\n depResolver.registerPackageManager(new YarnPackageManager(depResolver, pkg, logger));\n return new YarnMain();\n }\n}\n\nYarnAspect.addRuntime(YarnMain);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,QAAN,CAAe;EAKC,aAARC,QAAQ,CAAC,CAACC,WAAD,EAAcC,GAAd,EAAmBC,SAAnB,CAAD,EAA+E;IAClG,MAAMC,MAAM,GAAGD,SAAS,CAACE,YAAV,CAAuBC,mBAAA,CAAWC,EAAlC,CAAf;IACAN,WAAW,CAACO,sBAAZ,CAAmC,KAAIC,0BAAJ,EAAuBR,WAAvB,EAAoCC,GAApC,EAAyCE,MAAzC,CAAnC;IACA,OAAO,IAAIL,QAAJ,EAAP;EACD;;AATmB;;;gCAATA,Q,kBACW,CAACW,8CAAD,EAA2BC,gBAA3B,EAAsCC,sBAAtC,C;gCADXb,Q,aAGMc,kB;;AASnBP,mBAAA,CAAWQ,UAAX,CAAsBf,QAAtB"}
1
+ {"version":3,"names":["YarnMain","provider","depResolver","loggerExt","logger","createLogger","YarnAspect","id","registerPackageManager","YarnPackageManager","DependencyResolverAspect","LoggerAspect","MainRuntime","addRuntime"],"sources":["yarn.main.runtime.ts"],"sourcesContent":["import { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { MainRuntime } from '@teambit/cli';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { YarnPackageManager } from './yarn.package-manager';\nimport { YarnAspect } from './yarn.aspect';\n\nexport class YarnMain {\n static dependencies = [DependencyResolverAspect, LoggerAspect];\n\n static runtime = MainRuntime;\n\n static async provider([depResolver, loggerExt]: [DependencyResolverMain, LoggerMain]) {\n const logger = loggerExt.createLogger(YarnAspect.id);\n depResolver.registerPackageManager(new YarnPackageManager(depResolver, logger));\n return new YarnMain();\n }\n}\n\nYarnAspect.addRuntime(YarnMain);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,QAAN,CAAe;EAKC,aAARC,QAAQ,CAAC,CAACC,WAAD,EAAcC,SAAd,CAAD,EAAiE;IACpF,MAAMC,MAAM,GAAGD,SAAS,CAACE,YAAV,CAAuBC,mBAAA,CAAWC,EAAlC,CAAf;IACAL,WAAW,CAACM,sBAAZ,CAAmC,KAAIC,0BAAJ,EAAuBP,WAAvB,EAAoCE,MAApC,CAAnC;IACA,OAAO,IAAIJ,QAAJ,EAAP;EACD;;AATmB;;;gCAATA,Q,kBACW,CAACU,8CAAD,EAA2BC,sBAA3B,C;gCADXX,Q,aAGMY,kB;;AASnBN,mBAAA,CAAWO,UAAX,CAAsBb,QAAtB"}
@@ -1,13 +1,10 @@
1
- import { WorkspacePolicy, DependencyResolverMain, PackageManager, PackageManagerInstallOptions, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion } from '@teambit/dependency-resolver';
2
- import { ComponentMap } from '@teambit/component';
3
- import { PkgMain } from '@teambit/pkg';
1
+ import { InstallationContext, DependencyResolverMain, PackageManager, PackageManagerInstallOptions, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion } from '@teambit/dependency-resolver';
4
2
  import { Logger } from '@teambit/logger';
5
3
  export declare class YarnPackageManager implements PackageManager {
6
4
  private depResolver;
7
- private pkg;
8
5
  private logger;
9
- constructor(depResolver: DependencyResolverMain, pkg: PkgMain, logger: Logger);
10
- install(rootDir: string, rootPolicy: WorkspacePolicy, componentDirectoryMap: ComponentMap<string>, installOptions?: PackageManagerInstallOptions): Promise<void>;
6
+ constructor(depResolver: DependencyResolverMain, logger: Logger);
7
+ install({ rootDir, manifests, componentDirectoryMap }: InstallationContext, installOptions?: PackageManagerInstallOptions): Promise<void>;
11
8
  /**
12
9
  * Every component is overriden with a local directory of that component.
13
10
  * So the component will be installed from the local directory, not from the registry.
@@ -34,7 +31,6 @@ export declare class YarnPackageManager implements PackageManager {
34
31
  private getAuthProp;
35
32
  private getCacheFolder;
36
33
  private computeConfiguration;
37
- private computeComponents;
38
34
  private computeDeps;
39
35
  resolveRemoteVersion(packageName: string, options: PackageManagerResolveRemoteVersionOptions): Promise<ResolvedPackageVersion>;
40
36
  getInjectedDirs(rootDir: string, componentDir: string, packageName: string): Promise<string[]>;
@@ -111,6 +111,16 @@ function _parseOverrides() {
111
111
  return data;
112
112
  }
113
113
 
114
+ function _lodash() {
115
+ const data = require("lodash");
116
+
117
+ _lodash = function () {
118
+ return data;
119
+ };
120
+
121
+ return data;
122
+ }
123
+
114
124
  function _userHome() {
115
125
  const data = _interopRequireDefault(require("user-home"));
116
126
 
@@ -156,22 +166,17 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
156
166
  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; }
157
167
 
158
168
  class YarnPackageManager {
159
- constructor(depResolver, pkg, logger) {
169
+ constructor(depResolver, logger) {
160
170
  this.depResolver = depResolver;
161
- this.pkg = pkg;
162
171
  this.logger = logger;
163
172
  }
164
173
 
165
- async install(rootDir, rootPolicy, componentDirectoryMap, installOptions = {}) {
174
+ async install({
175
+ rootDir,
176
+ manifests,
177
+ componentDirectoryMap
178
+ }, installOptions = {}) {
166
179
  this.logger.setStatusLine('installing dependencies');
167
- const options = {
168
- filterComponentsFromManifests: true,
169
- createManifestForComponentsWithoutDependencies: true,
170
- dedupe: !installOptions.rootComponentsForCapsules,
171
- dependencyFilterFn: installOptions.dependencyFilterFn
172
- };
173
- const components = componentDirectoryMap.components;
174
- const workspaceManifest = await this.depResolver.getWorkspaceManifest(undefined, undefined, rootPolicy, rootDir, components, options);
175
180
 
176
181
  const rootDirPath = _fslib().npath.toPortablePath(rootDir);
177
182
 
@@ -182,11 +187,7 @@ class YarnPackageManager {
182
187
  });
183
188
  const project = new (_core().Project)(rootDirPath, {
184
189
  configuration: config
185
- });
186
- const rootManifest = workspaceManifest.toJsonWithDir({
187
- copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,
188
- installPeersFromEnvs: installOptions.installPeersFromEnvs
189
- }).manifest; // @ts-ignore
190
+ }); // @ts-ignore
190
191
 
191
192
  project.setupResolutions();
192
193
 
@@ -194,16 +195,15 @@ class YarnPackageManager {
194
195
  installOptions.overrides = _objectSpread(_objectSpread({}, installOptions.overrides), this._createLocalDirectoryOverrides(rootDir, componentDirectoryMap));
195
196
  }
196
197
 
197
- const rootWs = await this.createWorkspace(rootDir, project, rootManifest, installOptions.overrides);
198
+ const workspaceManifest = manifests[rootDir];
199
+ manifests = (0, _lodash().omit)(manifests, rootDir);
200
+ const rootWs = await this.createWorkspace(rootDir, project, workspaceManifest, installOptions.overrides);
198
201
 
199
202
  if (installOptions.rootComponents) {
200
203
  rootWs.manifest.installConfig = {
201
204
  hoistingLimits: 'dependencies'
202
205
  };
203
- } // const manifests = Array.from(workspaceManifest.componentsManifestsMap.entries());
204
-
205
-
206
- let manifests = this.computeComponents(workspaceManifest.componentsManifestsMap, componentDirectoryMap, installOptions.copyPeerToRuntimeOnComponents);
206
+ }
207
207
 
208
208
  if (installOptions.rootComponents) {
209
209
  // Manifests are extended with "wrapper components"
@@ -214,18 +214,19 @@ class YarnPackageManager {
214
214
  componentDirectoryMap
215
215
  })), manifests);
216
216
  } else if (installOptions.useNesting) {
217
- // Nesting is used for scope aspect capsules.
217
+ manifests[rootDir] = workspaceManifest; // Nesting is used for scope aspect capsules.
218
218
  // In a capsule, all peer dependencies should be installed,
219
219
  // so we make runtime dependencies from peer dependencies.
220
- manifests[rootDir].dependencies = _objectSpread(_objectSpread(_objectSpread({}, manifests[rootDir].peerDependencies), manifests[rootDir].defaultPeerDependencies), manifests[rootDir].dependencies);
220
+
221
+ manifests[rootDir].dependencies = _objectSpread(_objectSpread(_objectSpread({}, manifests[rootDir].peerDependencies), manifests[rootDir]['defaultPeerDependencies']), manifests[rootDir].dependencies);
221
222
  } else if (installOptions.rootComponentsForCapsules) {
222
223
  await updateManifestsForInstallationInWorkspaceCapsules(manifests);
223
224
  } else {
224
- await (0, _dependencyResolver().extendWithComponentsFromDir)(rootDir, manifests);
225
+ manifests = await (0, _dependencyResolver().extendWithComponentsFromDir)(rootDir, manifests);
225
226
  }
226
227
 
227
228
  this.logger.debug(`running installation in root dir ${rootDir}`);
228
- this.logger.debug('root manifest for installation', rootManifest);
229
+ this.logger.debug('root manifest for installation', workspaceManifest);
229
230
  this.logger.debug('components manifests for installation', manifests);
230
231
  const workspacesP = Object.keys(manifests).map(async path => {
231
232
  const manifest = manifests[path];
@@ -504,22 +505,6 @@ class YarnPackageManager {
504
505
  return config;
505
506
  }
506
507
 
507
- computeComponents(componentManifests, componentsDirMap, copyPeer = false) {
508
- return componentsDirMap.toArray().reduce((acc, [component, dir]) => {
509
- const packageName = this.pkg.getPackageName(component);
510
-
511
- if (componentManifests.has(packageName)) {
512
- var _componentManifests$g;
513
-
514
- acc[dir] = (_componentManifests$g = componentManifests.get(packageName)) === null || _componentManifests$g === void 0 ? void 0 : _componentManifests$g.toJson({
515
- copyPeerToRuntime: copyPeer
516
- });
517
- }
518
-
519
- return acc;
520
- }, {});
521
- }
522
-
523
508
  computeDeps(rawDeps) {
524
509
  const map = new Map();
525
510
  if (!rawDeps) return map;
@@ -1 +1 @@
1
- {"version":3,"names":["YarnPackageManager","constructor","depResolver","pkg","logger","install","rootDir","rootPolicy","componentDirectoryMap","installOptions","setStatusLine","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","rootComponentsForCapsules","dependencyFilterFn","components","workspaceManifest","getWorkspaceManifest","undefined","rootDirPath","npath","toPortablePath","cacheDir","getCacheFolder","cacheRootDir","config","computeConfiguration","nodeLinker","packageManagerConfigRootDir","project","Project","configuration","rootManifest","toJsonWithDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","installPeersFromEnvs","manifest","setupResolutions","useNesting","overrides","_createLocalDirectoryOverrides","rootWs","createWorkspace","rootComponents","installConfig","hoistingLimits","manifests","computeComponents","componentsManifestsMap","copyPeerToRuntimeOnComponents","createRootComponentsDir","dependencies","peerDependencies","defaultPeerDependencies","updateManifestsForInstallationInWorkspaceCapsules","extendWithComponentsFromDir","debug","workspacesP","Object","keys","map","path","workspace","workspaces","Promise","all","workspacesIdents","workspaceIdentHash","locator","identHash","cwd","overrideInternalWorkspaceParams","push","setupWorkspaces","cache","Cache","find","installReport","StreamReport","start","stdout","process","report","persistProject","persistLockfile","hasErrors","exit","exitCode","consoleSuccess","Array","from","hashMap","entries","forEach","component","name","getPackageName","relative","getPackageJsonPath","dir","packageJsonPath","join","backupPackageJsons","result","rootPackageJsonPath","getFileToBackup","componentsBackupsP","toArray","file","getComponentPackageJsonToBackup","restorePackageJsons","backupJsons","promises","exists","fs","pathExists","remove","writeFile","existingFile","readFile","resolve","wsPath","ws","Workspace","setup","identity","structUtils","parseIdent","version","computeDeps","devDependencies","resolutions","convertOverridesToResolutions","ident","makeIdent","scope","makeLocator","reference","anchoredDescriptor","makeDescriptor","WorkspaceResolver","protocol","relativeCwd","anchoredLocator","workspacesByCwd","Map","workspacesByIdent","dup","get","Error","set","getScopedRegistries","registries","scopedRegistries","scopes","reduce","acc","scopeName","regDef","authProp","getAuthProp","npmRegistryServer","uri","npmAlwaysAuth","alwaysAuth","keyName","value","registry","token","baseToken","baseDir","userHome","cacheFolder","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","pluginConfig","getPluginConfiguration","startingCwd","Configuration","defaultRegistry","defaultAuthProp","data","installStatePath","pnpDataPath","npmScopes","virtualFolder","httpProxy","httpsProxy","enableStrictSsl","strictSSL","globalFolder","nmSelfReferences","use","componentManifests","componentsDirMap","copyPeer","packageName","has","toJson","rawDeps","resolveRemoteVersion","parsedPackage","parsePackageName","parsedVersion","versionType","versionSelectorType","type","isSemver","npmPlugin","resolvers","_NpmRemapResolver","NpmSemverResolver","NpmTagResolver","resolver","range","LightReport","descriptor","resolveOptions","candidates","getCandidates","parsedRange","parseRange","selector","getInjectedDirs","componentDir","modulesDir","yarnStateContent","err","code","yarnState","YAML","parse","injectedDirs","key","locations","startsWith","location","parsedOverrides","parseOverrides","override","pattern","parentPkg","toYarnResolutionSelector","targetPkg","newPref","pref","fullName","description","pkgJsonPath","pkgJson","readJson","writeJson","spaces"],"sources":["yarn.package-manager.ts"],"sourcesContent":["import parsePackageName from 'parse-package-name';\nimport {\n extendWithComponentsFromDir,\n WorkspacePolicy,\n DependencyResolverMain,\n PackageManager,\n PackageManagerInstallOptions,\n ComponentsManifestsMap,\n CreateFromComponentsOptions,\n Registries,\n Registry,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n} from '@teambit/dependency-resolver';\nimport { ComponentMap, Component } from '@teambit/component';\nimport fs from 'fs-extra';\nimport { join, relative, resolve } from 'path';\nimport {\n Workspace,\n Project,\n Configuration,\n structUtils,\n IdentHash,\n Descriptor,\n Cache,\n StreamReport,\n ResolveOptions,\n LightReport,\n WorkspaceResolver,\n} from '@yarnpkg/core';\nimport { getPluginConfiguration } from '@yarnpkg/cli';\nimport { npath, PortablePath } from '@yarnpkg/fslib';\nimport { Resolution } from '@yarnpkg/parsers';\nimport npmPlugin from '@yarnpkg/plugin-npm';\nimport parseOverrides from '@pnpm/parse-overrides';\nimport { PkgMain } from '@teambit/pkg';\nimport userHome from 'user-home';\nimport { Logger } from '@teambit/logger';\nimport versionSelectorType from 'version-selector-type';\nimport YAML from 'yaml';\nimport { createRootComponentsDir } from './create-root-components-dir';\n\ntype BackupJsons = {\n [path: string]: Buffer | undefined;\n};\n\nexport class YarnPackageManager implements PackageManager {\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\n\n async install(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<void> {\n this.logger.setStatusLine('installing dependencies');\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: !installOptions.rootComponentsForCapsules,\n dependencyFilterFn: installOptions.dependencyFilterFn,\n };\n const components = componentDirectoryMap.components;\n const workspaceManifest = await this.depResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n components,\n options\n );\n\n const rootDirPath = npath.toPortablePath(rootDir);\n const cacheDir = this.getCacheFolder(installOptions.cacheRootDir);\n const config = await this.computeConfiguration(rootDirPath, cacheDir, {\n nodeLinker: installOptions.nodeLinker,\n packageManagerConfigRootDir: installOptions.packageManagerConfigRootDir,\n });\n\n const project = new Project(rootDirPath, { configuration: config });\n\n const rootManifest = workspaceManifest.toJsonWithDir({\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\n installPeersFromEnvs: installOptions.installPeersFromEnvs,\n }).manifest;\n\n // @ts-ignore\n project.setupResolutions();\n if (installOptions.rootComponentsForCapsules && !installOptions.useNesting) {\n installOptions.overrides = {\n ...installOptions.overrides,\n ...this._createLocalDirectoryOverrides(rootDir, componentDirectoryMap),\n };\n }\n const rootWs = await this.createWorkspace(rootDir, project, rootManifest, installOptions.overrides);\n if (installOptions.rootComponents) {\n rootWs.manifest.installConfig = {\n hoistingLimits: 'dependencies',\n };\n }\n\n // const manifests = Array.from(workspaceManifest.componentsManifestsMap.entries());\n let manifests = this.computeComponents(\n workspaceManifest.componentsManifestsMap,\n componentDirectoryMap,\n installOptions.copyPeerToRuntimeOnComponents\n );\n if (installOptions.rootComponents) {\n // Manifests are extended with \"wrapper components\"\n // that group all workspace components with their dependencies and peer dependencies.\n manifests = {\n ...(await createRootComponentsDir({\n depResolver: this.depResolver,\n rootDir,\n componentDirectoryMap,\n })),\n ...manifests,\n };\n } else if (installOptions.useNesting) {\n // Nesting is used for scope aspect capsules.\n // In a capsule, all peer dependencies should be installed,\n // so we make runtime dependencies from peer dependencies.\n manifests[rootDir].dependencies = {\n ...manifests[rootDir].peerDependencies,\n ...manifests[rootDir].defaultPeerDependencies,\n ...manifests[rootDir].dependencies,\n };\n } else if (installOptions.rootComponentsForCapsules) {\n await updateManifestsForInstallationInWorkspaceCapsules(manifests);\n } else {\n await extendWithComponentsFromDir(rootDir, manifests);\n }\n\n this.logger.debug(`running installation in root dir ${rootDir}`);\n this.logger.debug('root manifest for installation', rootManifest);\n this.logger.debug('components manifests for installation', manifests);\n\n const workspacesP = Object.keys(manifests).map(async (path) => {\n const manifest = manifests[path];\n const workspace = await this.createWorkspace(path, project, manifest);\n return workspace;\n });\n\n const workspaces = await Promise.all(workspacesP);\n\n if (!installOptions.rootComponents && !installOptions.rootComponentsForCapsules && !installOptions.useNesting) {\n const workspacesIdents = {};\n for (const workspace of workspaces) {\n const workspaceIdentHash = workspace.locator.identHash;\n if (workspacesIdents[workspaceIdentHash]) {\n this.logger.debug(\n `overriding internal workspace fields to prevent duplications for workspace ${workspace.cwd}`\n );\n this.overrideInternalWorkspaceParams(workspace);\n }\n workspacesIdents[workspace.locator.identHash] = true;\n }\n }\n\n if (!manifests[rootDir]) {\n workspaces.push(rootWs);\n }\n this.setupWorkspaces(project, workspaces);\n\n const cache = await Cache.find(config);\n // const existingPackageJsons = await this.backupPackageJsons(rootDir, componentDirectoryMap);\n\n const installReport = await StreamReport.start(\n {\n stdout: process.stdout,\n configuration: config,\n },\n async (report) => {\n await project.install({\n persistProject: false,\n cache,\n report,\n });\n await project.persistLockfile();\n }\n );\n\n // TODO: check if package.json and link files generation can be prevented through the yarn API or\n // mock the files by hooking to `xfs`.\n // see the persistProject: false above\n // await this.restorePackageJsons(existingPackageJsons);\n\n if (installReport.hasErrors()) process.exit(installReport.exitCode());\n\n this.logger.consoleSuccess('installing dependencies');\n }\n\n /**\n * Every component is overriden with a local directory of that component.\n * So the component will be installed from the local directory, not from the registry.\n */\n private _createLocalDirectoryOverrides(\n rootDir: string,\n componentDirectoryMap: ComponentMap<string>\n ): Record<string, string> {\n const overrides = {};\n Array.from(componentDirectoryMap.hashMap.entries()).forEach(([, [component, path]]) => {\n const name = this.depResolver.getPackageName(component);\n overrides[name] = `file:${relative(rootDir, path)}`;\n });\n return overrides;\n }\n\n private getPackageJsonPath(dir: string): string {\n const packageJsonPath = join(dir, 'package.json');\n return packageJsonPath;\n }\n\n private async backupPackageJsons(rootDir: string, componentDirectoryMap: ComponentMap<string>): Promise<BackupJsons> {\n const result: BackupJsons = {};\n const rootPackageJsonPath = this.getPackageJsonPath(rootDir);\n result[rootPackageJsonPath] = await this.getFileToBackup(rootPackageJsonPath);\n const componentsBackupsP = componentDirectoryMap.toArray().map(async ([component, dir]) => {\n const { packageJsonPath, file } = await this.getComponentPackageJsonToBackup(component, dir);\n result[packageJsonPath] = file;\n });\n await Promise.all(componentsBackupsP);\n return result;\n }\n\n private async restorePackageJsons(backupJsons: BackupJsons): Promise<void | undefined> {\n const promises = Object.entries(backupJsons).map(async ([packageJsonPath, file]) => {\n const exists = await fs.pathExists(packageJsonPath);\n // if there is no backup it means it wasn't there before and should be deleted\n if (!file) {\n if (exists) {\n return fs.remove(packageJsonPath);\n }\n return undefined;\n }\n return fs.writeFile(packageJsonPath, file);\n });\n await Promise.all(promises);\n }\n\n private async getFileToBackup(packageJsonPath: string): Promise<Buffer | undefined> {\n const exists = await fs.pathExists(packageJsonPath);\n if (!exists) {\n return undefined;\n }\n const existingFile = await fs.readFile(packageJsonPath);\n return existingFile;\n }\n\n private async getComponentPackageJsonToBackup(\n component: Component,\n dir: string\n ): Promise<{ packageJsonPath: string; file: Buffer | undefined }> {\n const packageJsonPath = resolve(join(dir, 'package.json'));\n const result = {\n packageJsonPath,\n file: await this.getFileToBackup(packageJsonPath),\n };\n return result;\n }\n\n private async createWorkspace(rootDir: string, project: Project, manifest: any, overrides?: Record<string, string>) {\n const wsPath = npath.toPortablePath(rootDir);\n const name = manifest.name || 'workspace';\n\n const ws = new Workspace(wsPath, { project });\n await ws.setup();\n const identity = structUtils.parseIdent(name);\n // const needOverrideInternal = !!ws.manifest.name && !!manifest.name;\n ws.manifest.name = identity;\n ws.manifest.version = manifest.version;\n ws.manifest.dependencies = this.computeDeps(manifest.dependencies);\n ws.manifest.devDependencies = this.computeDeps(manifest.devDependencies);\n ws.manifest.peerDependencies = this.computeDeps(manifest.peerDependencies);\n ws.manifest.installConfig = manifest.installConfig;\n if (overrides) {\n ws.manifest.resolutions = convertOverridesToResolutions(overrides);\n }\n\n // if (needOverrideInternal) this.overrideInternalWorkspaceParams(ws);\n\n return ws;\n }\n\n /**\n * This is used to handle cases where in the capsules dirs we have the same component with different versions\n * The yarn ident is calculated by the manifest (package.json) name if exist\n * in our case for the same component with different versions we will get the same ident which will result errors later.\n * This is make sense in the original case of yarn workspace (it make sense you don't have 2 workspace with same name)\n * However in our case it doesn't make sense.\n * This function will make sure the ident will use the version as well\n * @param ws\n */\n private overrideInternalWorkspaceParams(ws: Workspace) {\n const ident = structUtils.makeIdent(\n ws.manifest.name?.scope || null,\n `${ws.manifest.name?.name}-${ws.manifest.version}`\n );\n\n ws.manifest.name = ident;\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.locator = structUtils.makeLocator(ident, ws.reference);\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.anchoredDescriptor = structUtils.makeDescriptor(ws.locator, `${WorkspaceResolver.protocol}${ws.relativeCwd}`);\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.anchoredLocator = structUtils.makeLocator(ws.locator, `${WorkspaceResolver.protocol}${ws.relativeCwd}`);\n }\n\n private setupWorkspaces(project: Project, workspaces: Workspace[]) {\n project.workspaces = [];\n project.workspacesByCwd = new Map();\n project.workspacesByIdent = new Map();\n\n workspaces.forEach((workspace) => {\n const dup = project.workspacesByIdent.get(workspace.locator.identHash);\n if (typeof dup !== `undefined`) {\n throw new Error(`Duplicate workspace name: ${workspace.cwd} conflicts with ${dup.cwd}`);\n }\n\n project.workspaces.push(workspace);\n project.workspacesByCwd.set(workspace.cwd, workspace);\n project.workspacesByIdent.set(workspace.locator.identHash, workspace);\n });\n }\n\n private async getScopedRegistries(registries: Registries) {\n const scopedRegistries = Object.keys(registries.scopes).reduce((acc, scopeName) => {\n const regDef = registries.scopes[scopeName];\n const authProp = this.getAuthProp(regDef);\n acc[scopeName] = {\n npmRegistryServer: regDef.uri,\n npmAlwaysAuth: regDef.alwaysAuth,\n };\n if (authProp) {\n acc[scopeName][authProp.keyName] = authProp.value;\n }\n\n return acc;\n }, {});\n return scopedRegistries;\n }\n\n private getAuthProp(registry: Registry) {\n if (registry.token) {\n return {\n keyName: 'npmAuthToken',\n value: registry.token,\n };\n }\n if (registry.baseToken) {\n return {\n keyName: 'npmAuthIdent',\n value: registry.baseToken,\n };\n }\n return undefined;\n }\n\n private getCacheFolder(baseDir: string = userHome) {\n return `${baseDir}/.yarn/cache`;\n }\n\n // TODO: implement this to automate configuration.\n private async computeConfiguration(\n rootDirPath: PortablePath,\n cacheFolder: string,\n options: {\n nodeLinker?: 'hoisted' | 'isolated';\n packageManagerConfigRootDir?: string;\n }\n ): Promise<Configuration> {\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const pluginConfig = getPluginConfiguration();\n let startingCwd: PortablePath;\n if (options.packageManagerConfigRootDir) {\n startingCwd = npath.toPortablePath(options.packageManagerConfigRootDir);\n } else {\n startingCwd = rootDirPath;\n }\n const config = await Configuration.find(startingCwd, pluginConfig);\n const scopedRegistries = await this.getScopedRegistries(registries);\n const defaultRegistry = registries.defaultRegistry;\n const defaultAuthProp = this.getAuthProp(defaultRegistry);\n\n const data = {\n nodeLinker: options.nodeLinker === 'isolated' ? 'pnpm' : 'node-modules',\n installStatePath: `${rootDirPath}/.yarn/install-state.gz`,\n cacheFolder,\n pnpDataPath: `${rootDirPath}/.pnp.meta.json`,\n npmScopes: scopedRegistries,\n virtualFolder: `${rootDirPath}/.yarn/__virtual__`,\n npmRegistryServer: defaultRegistry.uri || 'https://registry.yarnpkg.com',\n npmAlwaysAuth: defaultRegistry.alwaysAuth,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n enableStrictSsl: networkConfig?.strictSSL,\n // enableInlineBuilds: true,\n globalFolder: `${userHome}/.yarn/global`,\n // We need to disable self-references as say create circular symlinks.\n nmSelfReferences: false,\n\n // TODO: check about support for the following: (see more here - https://github.com/yarnpkg/berry/issues/1434#issuecomment-801449010)\n // ca?: string;\n // cert?: string;\n // key?: string;\n // noProxy?: boolean | string;\n };\n\n if (defaultAuthProp) {\n data[defaultAuthProp.keyName] = defaultAuthProp.value;\n }\n // TODO: node-modules is hardcoded now until adding support for pnp.\n config.use('<bit>', data, rootDirPath, {});\n\n return config;\n }\n\n private computeComponents(\n componentManifests: ComponentsManifestsMap,\n componentsDirMap: ComponentMap<string>,\n copyPeer = false\n ): { [key: string]: any } {\n return componentsDirMap.toArray().reduce((acc, [component, dir]) => {\n const packageName = this.pkg.getPackageName(component);\n if (componentManifests.has(packageName)) {\n acc[dir] = componentManifests.get(packageName)?.toJson({ copyPeerToRuntime: copyPeer });\n }\n\n return acc;\n }, {});\n }\n\n private computeDeps(rawDeps?: { [key: string]: string }): Map<IdentHash, Descriptor> {\n const map = new Map<IdentHash, Descriptor>();\n if (!rawDeps) return map;\n\n Object.keys(rawDeps).forEach((packageName) => {\n const ident = structUtils.parseIdent(packageName);\n map.set(ident.identHash, structUtils.makeDescriptor(ident, rawDeps[packageName]));\n });\n\n return map;\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n const parsedPackage = parsePackageName(packageName);\n const parsedVersion = parsedPackage.version;\n const versionType = parsedVersion && versionSelectorType(parsedVersion)?.type;\n if (versionType === 'version') {\n return {\n packageName: parsedPackage.name,\n version: parsedVersion,\n isSemver: true,\n };\n }\n if (!npmPlugin.resolvers) {\n throw new Error('npm resolvers for yarn API not found');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_NpmRemapResolver, NpmSemverResolver, NpmTagResolver] = npmPlugin.resolvers;\n let resolver = new NpmSemverResolver();\n const ident = structUtils.parseIdent(parsedPackage.name);\n let range = 'npm:*';\n const rootDirPath = npath.toPortablePath(options.rootDir);\n const cacheDir = this.getCacheFolder(options.cacheRootDir);\n const config = await this.computeConfiguration(rootDirPath, cacheDir, {\n packageManagerConfigRootDir: options.packageManagerConfigRootDir,\n });\n\n const project = new Project(rootDirPath, { configuration: config });\n const report = new LightReport({ configuration: config, stdout: process.stdout });\n\n // Handle cases when the version is a dist tag like dev / latest for example bit install lodash@latest\n if (versionType === 'tag') {\n resolver = new NpmTagResolver();\n range = `npm:${parsedPackage.version}`;\n }\n const descriptor = structUtils.makeDescriptor(ident, range);\n\n // @ts-ignore\n project.setupResolutions();\n const resolveOptions: ResolveOptions = {\n project,\n resolver,\n report,\n };\n // const candidates = await resolver.getCandidates(descriptor, new Map(), resolveOptions);\n const candidates = await resolver.getCandidates(descriptor, new Map(), resolveOptions);\n const parsedRange = structUtils.parseRange(candidates[0].reference);\n const version = parsedRange.selector;\n return {\n packageName: parsedPackage.name,\n version,\n isSemver: true,\n };\n }\n\n async getInjectedDirs(rootDir: string, componentDir: string, packageName: string): Promise<string[]> {\n const modulesDir = join(rootDir, 'node_modules');\n relative(modulesDir, componentDir);\n let yarnStateContent!: string;\n try {\n yarnStateContent = await fs.readFile(join(modulesDir, '.yarn-state.yml'), 'utf-8');\n } catch (err: any) {\n if (err.code === 'ENOENT') return [];\n }\n const yarnState = YAML.parse(yarnStateContent) as Record<string, { locations: string[] }>;\n const injectedDirs: string[] = [];\n for (const [key, { locations }] of Object.entries(yarnState)) {\n if (key.startsWith(`${packageName}@`) || key.startsWith(`${packageName}__root@`)) {\n for (const location of locations) {\n injectedDirs.push(location);\n }\n }\n }\n return injectedDirs;\n }\n}\n\nfunction convertOverridesToResolutions(\n overrides: Record<string, string>\n): Array<{ pattern: Resolution; reference: string }> {\n const parsedOverrides = parseOverrides(overrides);\n return parsedOverrides.map((override) => ({\n pattern: {\n from: override.parentPkg ? toYarnResolutionSelector(override.parentPkg) : undefined,\n descriptor: toYarnResolutionSelector(override.targetPkg),\n },\n reference: override.newPref,\n }));\n}\n\nfunction toYarnResolutionSelector({ name, pref }: { name: string; pref?: string }) {\n return {\n fullName: name,\n description: pref,\n };\n}\n\n/**\n * This function prepares the component manifests for installation inside a capsule.\n * Inside a capsule, all peer dependencies of the component should be installed.\n * So peer dependencies are added to the manifest as runtime dependencies.\n * Also, the package.json files are update to contain other component dependencies\n * in dependencies as local \"file:\" dependencies.\n */\nasync function updateManifestsForInstallationInWorkspaceCapsules(manifests: { [key: string]: any }) {\n await Promise.all(\n Object.entries(manifests).map(async ([dir, manifest]) => {\n const pkgJsonPath = join(dir, 'package.json');\n const pkgJson = await fs.readJson(pkgJsonPath);\n // We need to write the package.json files because they need to contain the workspace dependencies.\n // When packages are installed via the \"file:\" protocol, Yarn reads their package.json files\n // from the file system even if they are from the workspace.\n await fs.writeJson(\n pkgJsonPath,\n {\n ...pkgJson,\n dependencies: manifest.dependencies,\n },\n { spaces: 2 }\n );\n manifest.dependencies = {\n ...manifest.peerDependencies,\n ...manifest.defaultPeerDependencies,\n ...manifest.dependencies,\n };\n manifest.installConfig = {\n hoistingLimits: 'workspaces',\n };\n })\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["YarnPackageManager","constructor","depResolver","logger","install","rootDir","manifests","componentDirectoryMap","installOptions","setStatusLine","rootDirPath","npath","toPortablePath","cacheDir","getCacheFolder","cacheRootDir","config","computeConfiguration","nodeLinker","packageManagerConfigRootDir","project","Project","configuration","setupResolutions","rootComponentsForCapsules","useNesting","overrides","_createLocalDirectoryOverrides","workspaceManifest","omit","rootWs","createWorkspace","rootComponents","manifest","installConfig","hoistingLimits","createRootComponentsDir","dependencies","peerDependencies","updateManifestsForInstallationInWorkspaceCapsules","extendWithComponentsFromDir","debug","workspacesP","Object","keys","map","path","workspace","workspaces","Promise","all","workspacesIdents","workspaceIdentHash","locator","identHash","cwd","overrideInternalWorkspaceParams","push","setupWorkspaces","cache","Cache","find","installReport","StreamReport","start","stdout","process","report","persistProject","persistLockfile","hasErrors","exit","exitCode","consoleSuccess","Array","from","hashMap","entries","forEach","component","name","getPackageName","relative","getPackageJsonPath","dir","packageJsonPath","join","backupPackageJsons","result","rootPackageJsonPath","getFileToBackup","componentsBackupsP","toArray","file","getComponentPackageJsonToBackup","restorePackageJsons","backupJsons","promises","exists","fs","pathExists","remove","undefined","writeFile","existingFile","readFile","resolve","wsPath","ws","Workspace","setup","identity","structUtils","parseIdent","version","computeDeps","devDependencies","resolutions","convertOverridesToResolutions","ident","makeIdent","scope","makeLocator","reference","anchoredDescriptor","makeDescriptor","WorkspaceResolver","protocol","relativeCwd","anchoredLocator","workspacesByCwd","Map","workspacesByIdent","dup","get","Error","set","getScopedRegistries","registries","scopedRegistries","scopes","reduce","acc","scopeName","regDef","authProp","getAuthProp","npmRegistryServer","uri","npmAlwaysAuth","alwaysAuth","keyName","value","registry","token","baseToken","baseDir","userHome","cacheFolder","options","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","pluginConfig","getPluginConfiguration","startingCwd","Configuration","defaultRegistry","defaultAuthProp","data","installStatePath","pnpDataPath","npmScopes","virtualFolder","httpProxy","httpsProxy","enableStrictSsl","strictSSL","globalFolder","nmSelfReferences","use","rawDeps","packageName","resolveRemoteVersion","parsedPackage","parsePackageName","parsedVersion","versionType","versionSelectorType","type","isSemver","npmPlugin","resolvers","_NpmRemapResolver","NpmSemverResolver","NpmTagResolver","resolver","range","LightReport","descriptor","resolveOptions","candidates","getCandidates","parsedRange","parseRange","selector","getInjectedDirs","componentDir","modulesDir","yarnStateContent","err","code","yarnState","YAML","parse","injectedDirs","key","locations","startsWith","location","parsedOverrides","parseOverrides","override","pattern","parentPkg","toYarnResolutionSelector","targetPkg","newPref","pref","fullName","description","pkgJsonPath","pkgJson","readJson","writeJson","spaces","defaultPeerDependencies"],"sources":["yarn.package-manager.ts"],"sourcesContent":["import parsePackageName from 'parse-package-name';\nimport {\n extendWithComponentsFromDir,\n InstallationContext,\n DependencyResolverMain,\n PackageManager,\n PackageManagerInstallOptions,\n Registries,\n Registry,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n} from '@teambit/dependency-resolver';\nimport { ComponentMap, Component } from '@teambit/component';\nimport fs from 'fs-extra';\nimport { join, relative, resolve } from 'path';\nimport {\n Workspace,\n Project,\n Configuration,\n structUtils,\n IdentHash,\n Descriptor,\n Cache,\n StreamReport,\n ResolveOptions,\n LightReport,\n WorkspaceResolver,\n} from '@yarnpkg/core';\nimport { getPluginConfiguration } from '@yarnpkg/cli';\nimport { npath, PortablePath } from '@yarnpkg/fslib';\nimport { Resolution } from '@yarnpkg/parsers';\nimport npmPlugin from '@yarnpkg/plugin-npm';\nimport parseOverrides from '@pnpm/parse-overrides';\nimport { omit } from 'lodash';\nimport userHome from 'user-home';\nimport { Logger } from '@teambit/logger';\nimport versionSelectorType from 'version-selector-type';\nimport YAML from 'yaml';\nimport { createRootComponentsDir } from './create-root-components-dir';\n\ntype BackupJsons = {\n [path: string]: Buffer | undefined;\n};\n\nexport class YarnPackageManager implements PackageManager {\n constructor(private depResolver: DependencyResolverMain, private logger: Logger) {}\n\n async install(\n { rootDir, manifests, componentDirectoryMap }: InstallationContext,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<void> {\n this.logger.setStatusLine('installing dependencies');\n\n const rootDirPath = npath.toPortablePath(rootDir);\n const cacheDir = this.getCacheFolder(installOptions.cacheRootDir);\n const config = await this.computeConfiguration(rootDirPath, cacheDir, {\n nodeLinker: installOptions.nodeLinker,\n packageManagerConfigRootDir: installOptions.packageManagerConfigRootDir,\n });\n\n const project = new Project(rootDirPath, { configuration: config });\n\n // @ts-ignore\n project.setupResolutions();\n if (installOptions.rootComponentsForCapsules && !installOptions.useNesting) {\n installOptions.overrides = {\n ...installOptions.overrides,\n ...this._createLocalDirectoryOverrides(rootDir, componentDirectoryMap),\n };\n }\n const workspaceManifest = manifests[rootDir];\n manifests = omit(manifests, rootDir);\n const rootWs = await this.createWorkspace(rootDir, project, workspaceManifest, installOptions.overrides);\n if (installOptions.rootComponents) {\n rootWs.manifest.installConfig = {\n hoistingLimits: 'dependencies',\n };\n }\n\n if (installOptions.rootComponents) {\n // Manifests are extended with \"wrapper components\"\n // that group all workspace components with their dependencies and peer dependencies.\n manifests = {\n ...(await createRootComponentsDir({\n depResolver: this.depResolver,\n rootDir,\n componentDirectoryMap,\n })),\n ...manifests,\n };\n } else if (installOptions.useNesting) {\n manifests[rootDir] = workspaceManifest;\n // Nesting is used for scope aspect capsules.\n // In a capsule, all peer dependencies should be installed,\n // so we make runtime dependencies from peer dependencies.\n manifests[rootDir].dependencies = {\n ...manifests[rootDir].peerDependencies,\n ...manifests[rootDir]['defaultPeerDependencies'], // eslint-disable-line\n ...manifests[rootDir].dependencies,\n };\n } else if (installOptions.rootComponentsForCapsules) {\n await updateManifestsForInstallationInWorkspaceCapsules(manifests);\n } else {\n manifests = await extendWithComponentsFromDir(rootDir, manifests);\n }\n\n this.logger.debug(`running installation in root dir ${rootDir}`);\n this.logger.debug('root manifest for installation', workspaceManifest);\n this.logger.debug('components manifests for installation', manifests);\n\n const workspacesP = Object.keys(manifests).map(async (path) => {\n const manifest = manifests[path];\n const workspace = await this.createWorkspace(path, project, manifest);\n return workspace;\n });\n\n const workspaces = await Promise.all(workspacesP);\n\n if (!installOptions.rootComponents && !installOptions.rootComponentsForCapsules && !installOptions.useNesting) {\n const workspacesIdents = {};\n for (const workspace of workspaces) {\n const workspaceIdentHash = workspace.locator.identHash;\n if (workspacesIdents[workspaceIdentHash]) {\n this.logger.debug(\n `overriding internal workspace fields to prevent duplications for workspace ${workspace.cwd}`\n );\n this.overrideInternalWorkspaceParams(workspace);\n }\n workspacesIdents[workspace.locator.identHash] = true;\n }\n }\n\n if (!manifests[rootDir]) {\n workspaces.push(rootWs);\n }\n this.setupWorkspaces(project, workspaces);\n\n const cache = await Cache.find(config);\n // const existingPackageJsons = await this.backupPackageJsons(rootDir, componentDirectoryMap);\n\n const installReport = await StreamReport.start(\n {\n stdout: process.stdout,\n configuration: config,\n },\n async (report) => {\n await project.install({\n persistProject: false,\n cache,\n report,\n });\n await project.persistLockfile();\n }\n );\n\n // TODO: check if package.json and link files generation can be prevented through the yarn API or\n // mock the files by hooking to `xfs`.\n // see the persistProject: false above\n // await this.restorePackageJsons(existingPackageJsons);\n\n if (installReport.hasErrors()) process.exit(installReport.exitCode());\n\n this.logger.consoleSuccess('installing dependencies');\n }\n\n /**\n * Every component is overriden with a local directory of that component.\n * So the component will be installed from the local directory, not from the registry.\n */\n private _createLocalDirectoryOverrides(\n rootDir: string,\n componentDirectoryMap: ComponentMap<string>\n ): Record<string, string> {\n const overrides = {};\n Array.from(componentDirectoryMap.hashMap.entries()).forEach(([, [component, path]]) => {\n const name = this.depResolver.getPackageName(component);\n overrides[name] = `file:${relative(rootDir, path)}`;\n });\n return overrides;\n }\n\n private getPackageJsonPath(dir: string): string {\n const packageJsonPath = join(dir, 'package.json');\n return packageJsonPath;\n }\n\n private async backupPackageJsons(rootDir: string, componentDirectoryMap: ComponentMap<string>): Promise<BackupJsons> {\n const result: BackupJsons = {};\n const rootPackageJsonPath = this.getPackageJsonPath(rootDir);\n result[rootPackageJsonPath] = await this.getFileToBackup(rootPackageJsonPath);\n const componentsBackupsP = componentDirectoryMap.toArray().map(async ([component, dir]) => {\n const { packageJsonPath, file } = await this.getComponentPackageJsonToBackup(component, dir);\n result[packageJsonPath] = file;\n });\n await Promise.all(componentsBackupsP);\n return result;\n }\n\n private async restorePackageJsons(backupJsons: BackupJsons): Promise<void | undefined> {\n const promises = Object.entries(backupJsons).map(async ([packageJsonPath, file]) => {\n const exists = await fs.pathExists(packageJsonPath);\n // if there is no backup it means it wasn't there before and should be deleted\n if (!file) {\n if (exists) {\n return fs.remove(packageJsonPath);\n }\n return undefined;\n }\n return fs.writeFile(packageJsonPath, file);\n });\n await Promise.all(promises);\n }\n\n private async getFileToBackup(packageJsonPath: string): Promise<Buffer | undefined> {\n const exists = await fs.pathExists(packageJsonPath);\n if (!exists) {\n return undefined;\n }\n const existingFile = await fs.readFile(packageJsonPath);\n return existingFile;\n }\n\n private async getComponentPackageJsonToBackup(\n component: Component,\n dir: string\n ): Promise<{ packageJsonPath: string; file: Buffer | undefined }> {\n const packageJsonPath = resolve(join(dir, 'package.json'));\n const result = {\n packageJsonPath,\n file: await this.getFileToBackup(packageJsonPath),\n };\n return result;\n }\n\n private async createWorkspace(rootDir: string, project: Project, manifest: any, overrides?: Record<string, string>) {\n const wsPath = npath.toPortablePath(rootDir);\n const name = manifest.name || 'workspace';\n\n const ws = new Workspace(wsPath, { project });\n await ws.setup();\n const identity = structUtils.parseIdent(name);\n // const needOverrideInternal = !!ws.manifest.name && !!manifest.name;\n ws.manifest.name = identity;\n ws.manifest.version = manifest.version;\n ws.manifest.dependencies = this.computeDeps(manifest.dependencies);\n ws.manifest.devDependencies = this.computeDeps(manifest.devDependencies);\n ws.manifest.peerDependencies = this.computeDeps(manifest.peerDependencies);\n ws.manifest.installConfig = manifest.installConfig;\n if (overrides) {\n ws.manifest.resolutions = convertOverridesToResolutions(overrides);\n }\n\n // if (needOverrideInternal) this.overrideInternalWorkspaceParams(ws);\n\n return ws;\n }\n\n /**\n * This is used to handle cases where in the capsules dirs we have the same component with different versions\n * The yarn ident is calculated by the manifest (package.json) name if exist\n * in our case for the same component with different versions we will get the same ident which will result errors later.\n * This is make sense in the original case of yarn workspace (it make sense you don't have 2 workspace with same name)\n * However in our case it doesn't make sense.\n * This function will make sure the ident will use the version as well\n * @param ws\n */\n private overrideInternalWorkspaceParams(ws: Workspace) {\n const ident = structUtils.makeIdent(\n ws.manifest.name?.scope || null,\n `${ws.manifest.name?.name}-${ws.manifest.version}`\n );\n\n ws.manifest.name = ident;\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.locator = structUtils.makeLocator(ident, ws.reference);\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.anchoredDescriptor = structUtils.makeDescriptor(ws.locator, `${WorkspaceResolver.protocol}${ws.relativeCwd}`);\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.anchoredLocator = structUtils.makeLocator(ws.locator, `${WorkspaceResolver.protocol}${ws.relativeCwd}`);\n }\n\n private setupWorkspaces(project: Project, workspaces: Workspace[]) {\n project.workspaces = [];\n project.workspacesByCwd = new Map();\n project.workspacesByIdent = new Map();\n\n workspaces.forEach((workspace) => {\n const dup = project.workspacesByIdent.get(workspace.locator.identHash);\n if (typeof dup !== `undefined`) {\n throw new Error(`Duplicate workspace name: ${workspace.cwd} conflicts with ${dup.cwd}`);\n }\n\n project.workspaces.push(workspace);\n project.workspacesByCwd.set(workspace.cwd, workspace);\n project.workspacesByIdent.set(workspace.locator.identHash, workspace);\n });\n }\n\n private async getScopedRegistries(registries: Registries) {\n const scopedRegistries = Object.keys(registries.scopes).reduce((acc, scopeName) => {\n const regDef = registries.scopes[scopeName];\n const authProp = this.getAuthProp(regDef);\n acc[scopeName] = {\n npmRegistryServer: regDef.uri,\n npmAlwaysAuth: regDef.alwaysAuth,\n };\n if (authProp) {\n acc[scopeName][authProp.keyName] = authProp.value;\n }\n\n return acc;\n }, {});\n return scopedRegistries;\n }\n\n private getAuthProp(registry: Registry) {\n if (registry.token) {\n return {\n keyName: 'npmAuthToken',\n value: registry.token,\n };\n }\n if (registry.baseToken) {\n return {\n keyName: 'npmAuthIdent',\n value: registry.baseToken,\n };\n }\n return undefined;\n }\n\n private getCacheFolder(baseDir: string = userHome) {\n return `${baseDir}/.yarn/cache`;\n }\n\n // TODO: implement this to automate configuration.\n private async computeConfiguration(\n rootDirPath: PortablePath,\n cacheFolder: string,\n options: {\n nodeLinker?: 'hoisted' | 'isolated';\n packageManagerConfigRootDir?: string;\n }\n ): Promise<Configuration> {\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const pluginConfig = getPluginConfiguration();\n let startingCwd: PortablePath;\n if (options.packageManagerConfigRootDir) {\n startingCwd = npath.toPortablePath(options.packageManagerConfigRootDir);\n } else {\n startingCwd = rootDirPath;\n }\n const config = await Configuration.find(startingCwd, pluginConfig);\n const scopedRegistries = await this.getScopedRegistries(registries);\n const defaultRegistry = registries.defaultRegistry;\n const defaultAuthProp = this.getAuthProp(defaultRegistry);\n\n const data = {\n nodeLinker: options.nodeLinker === 'isolated' ? 'pnpm' : 'node-modules',\n installStatePath: `${rootDirPath}/.yarn/install-state.gz`,\n cacheFolder,\n pnpDataPath: `${rootDirPath}/.pnp.meta.json`,\n npmScopes: scopedRegistries,\n virtualFolder: `${rootDirPath}/.yarn/__virtual__`,\n npmRegistryServer: defaultRegistry.uri || 'https://registry.yarnpkg.com',\n npmAlwaysAuth: defaultRegistry.alwaysAuth,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n enableStrictSsl: networkConfig?.strictSSL,\n // enableInlineBuilds: true,\n globalFolder: `${userHome}/.yarn/global`,\n // We need to disable self-references as say create circular symlinks.\n nmSelfReferences: false,\n\n // TODO: check about support for the following: (see more here - https://github.com/yarnpkg/berry/issues/1434#issuecomment-801449010)\n // ca?: string;\n // cert?: string;\n // key?: string;\n // noProxy?: boolean | string;\n };\n\n if (defaultAuthProp) {\n data[defaultAuthProp.keyName] = defaultAuthProp.value;\n }\n // TODO: node-modules is hardcoded now until adding support for pnp.\n config.use('<bit>', data, rootDirPath, {});\n\n return config;\n }\n\n private computeDeps(rawDeps?: { [key: string]: string }): Map<IdentHash, Descriptor> {\n const map = new Map<IdentHash, Descriptor>();\n if (!rawDeps) return map;\n\n Object.keys(rawDeps).forEach((packageName) => {\n const ident = structUtils.parseIdent(packageName);\n map.set(ident.identHash, structUtils.makeDescriptor(ident, rawDeps[packageName]));\n });\n\n return map;\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n const parsedPackage = parsePackageName(packageName);\n const parsedVersion = parsedPackage.version;\n const versionType = parsedVersion && versionSelectorType(parsedVersion)?.type;\n if (versionType === 'version') {\n return {\n packageName: parsedPackage.name,\n version: parsedVersion,\n isSemver: true,\n };\n }\n if (!npmPlugin.resolvers) {\n throw new Error('npm resolvers for yarn API not found');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_NpmRemapResolver, NpmSemverResolver, NpmTagResolver] = npmPlugin.resolvers;\n let resolver = new NpmSemverResolver();\n const ident = structUtils.parseIdent(parsedPackage.name);\n let range = 'npm:*';\n const rootDirPath = npath.toPortablePath(options.rootDir);\n const cacheDir = this.getCacheFolder(options.cacheRootDir);\n const config = await this.computeConfiguration(rootDirPath, cacheDir, {\n packageManagerConfigRootDir: options.packageManagerConfigRootDir,\n });\n\n const project = new Project(rootDirPath, { configuration: config });\n const report = new LightReport({ configuration: config, stdout: process.stdout });\n\n // Handle cases when the version is a dist tag like dev / latest for example bit install lodash@latest\n if (versionType === 'tag') {\n resolver = new NpmTagResolver();\n range = `npm:${parsedPackage.version}`;\n }\n const descriptor = structUtils.makeDescriptor(ident, range);\n\n // @ts-ignore\n project.setupResolutions();\n const resolveOptions: ResolveOptions = {\n project,\n resolver,\n report,\n };\n // const candidates = await resolver.getCandidates(descriptor, new Map(), resolveOptions);\n const candidates = await resolver.getCandidates(descriptor, new Map(), resolveOptions);\n const parsedRange = structUtils.parseRange(candidates[0].reference);\n const version = parsedRange.selector;\n return {\n packageName: parsedPackage.name,\n version,\n isSemver: true,\n };\n }\n\n async getInjectedDirs(rootDir: string, componentDir: string, packageName: string): Promise<string[]> {\n const modulesDir = join(rootDir, 'node_modules');\n relative(modulesDir, componentDir);\n let yarnStateContent!: string;\n try {\n yarnStateContent = await fs.readFile(join(modulesDir, '.yarn-state.yml'), 'utf-8');\n } catch (err: any) {\n if (err.code === 'ENOENT') return [];\n }\n const yarnState = YAML.parse(yarnStateContent) as Record<string, { locations: string[] }>;\n const injectedDirs: string[] = [];\n for (const [key, { locations }] of Object.entries(yarnState)) {\n if (key.startsWith(`${packageName}@`) || key.startsWith(`${packageName}__root@`)) {\n for (const location of locations) {\n injectedDirs.push(location);\n }\n }\n }\n return injectedDirs;\n }\n}\n\nfunction convertOverridesToResolutions(\n overrides: Record<string, string>\n): Array<{ pattern: Resolution; reference: string }> {\n const parsedOverrides = parseOverrides(overrides);\n return parsedOverrides.map((override) => ({\n pattern: {\n from: override.parentPkg ? toYarnResolutionSelector(override.parentPkg) : undefined,\n descriptor: toYarnResolutionSelector(override.targetPkg),\n },\n reference: override.newPref,\n }));\n}\n\nfunction toYarnResolutionSelector({ name, pref }: { name: string; pref?: string }) {\n return {\n fullName: name,\n description: pref,\n };\n}\n\n/**\n * This function prepares the component manifests for installation inside a capsule.\n * Inside a capsule, all peer dependencies of the component should be installed.\n * So peer dependencies are added to the manifest as runtime dependencies.\n * Also, the package.json files are update to contain other component dependencies\n * in dependencies as local \"file:\" dependencies.\n */\nasync function updateManifestsForInstallationInWorkspaceCapsules(manifests: { [key: string]: any }) {\n await Promise.all(\n Object.entries(manifests).map(async ([dir, manifest]) => {\n const pkgJsonPath = join(dir, 'package.json');\n const pkgJson = await fs.readJson(pkgJsonPath);\n // We need to write the package.json files because they need to contain the workspace dependencies.\n // When packages are installed via the \"file:\" protocol, Yarn reads their package.json files\n // from the file system even if they are from the workspace.\n await fs.writeJson(\n pkgJsonPath,\n {\n ...pkgJson,\n dependencies: manifest.dependencies,\n },\n { spaces: 2 }\n );\n manifest.dependencies = {\n ...manifest.peerDependencies,\n ...manifest.defaultPeerDependencies,\n ...manifest.dependencies,\n };\n manifest.installConfig = {\n hoistingLimits: 'workspaces',\n };\n })\n );\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/yarn",
3
- "version": "0.0.866",
3
+ "version": "0.0.868",
4
4
  "homepage": "https://bit.dev/teambit/dependencies/yarn",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.dependencies",
8
8
  "name": "yarn",
9
- "version": "0.0.866"
9
+ "version": "0.0.868"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -16,6 +16,7 @@
16
16
  "@yarnpkg/fslib": "2.6.2",
17
17
  "@yarnpkg/parsers": "2.5.1",
18
18
  "@yarnpkg/plugin-npm": "2.7.1",
19
+ "lodash": "4.17.21",
19
20
  "parse-package-name": "0.1.0",
20
21
  "user-home": "2.0.0",
21
22
  "version-selector-type": "3.0.0",
@@ -23,17 +24,17 @@
23
24
  "@babel/runtime": "7.12.18",
24
25
  "core-js": "^3.0.0",
25
26
  "@teambit/harmony": "0.3.3",
26
- "@teambit/component": "0.0.865",
27
- "@teambit/dependency-resolver": "0.0.865",
28
- "@teambit/cli": "0.0.576",
29
- "@teambit/logger": "0.0.669",
30
- "@teambit/pkg": "0.0.865",
27
+ "@teambit/component": "0.0.867",
28
+ "@teambit/dependency-resolver": "0.0.867",
29
+ "@teambit/cli": "0.0.578",
30
+ "@teambit/logger": "0.0.671",
31
31
  "@teambit/ui-foundation.ui.use-box.menu": "0.0.122",
32
- "@teambit/ui": "0.0.865"
32
+ "@teambit/ui": "0.0.867"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/fs-extra": "9.0.7",
36
36
  "@types/react": "^17.0.8",
37
+ "@types/lodash": "4.14.165",
37
38
  "@types/mocha": "9.1.0",
38
39
  "@types/testing-library__jest-dom": "5.9.5",
39
40
  "@types/jest": "^26.0.0",
@@ -42,7 +43,7 @@
42
43
  "@teambit/dependencies.aspect-docs.yarn": "0.0.145"
43
44
  },
44
45
  "peerDependencies": {
45
- "@teambit/legacy": "1.0.357",
46
+ "@teambit/legacy": "1.0.359",
46
47
  "react-dom": "^16.8.0 || ^17.0.0",
47
48
  "react": "^16.8.0 || ^17.0.0"
48
49
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_yarn@0.0.866/dist/yarn.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_yarn@0.0.866/dist/yarn.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_yarn@0.0.868/dist/yarn.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_yarn@0.0.868/dist/yarn.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];