@teambit/yarn 0.0.803 → 0.0.804

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.
@@ -0,0 +1,17 @@
1
+ import { DependencyResolverMain } from '@teambit/dependency-resolver';
2
+ import { ComponentMap } from '@teambit/component';
3
+ /**
4
+ * All components are copied to a temporary folder (`<workspace-root>/.bit_components`).
5
+ * Each of the copies gets a `package.json` generated, where the component dependencies
6
+ * from the workspace are declared using the `file:` protocol.
7
+ * Every workspace component is then referenced from the `node_modules/<pkgname>` directory (using the `file:` protocol).
8
+ * The peer dependencies of the components are added as runtime dependencies of `node_modules/<pkgname>`.
9
+ *
10
+ * This way Yarn will install each workspace component in isolation with its component dependencies and peer dependencies
11
+ * inside `node_modules/<pkgName>/node_modules`.
12
+ */
13
+ export declare function createRootComponentsDir({ depResolver, rootDir, componentDirectoryMap, }: {
14
+ depResolver: DependencyResolverMain;
15
+ rootDir: string;
16
+ componentDirectoryMap: ComponentMap<string>;
17
+ }): Promise<Record<string, object>>;
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ require("core-js/modules/es.array.iterator.js");
6
+
7
+ require("core-js/modules/es.promise.js");
8
+
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+ exports.createRootComponentsDir = createRootComponentsDir;
13
+
14
+ function _defineProperty2() {
15
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+
17
+ _defineProperty2 = function () {
18
+ return data;
19
+ };
20
+
21
+ return data;
22
+ }
23
+
24
+ function _fsExtra() {
25
+ const data = _interopRequireDefault(require("fs-extra"));
26
+
27
+ _fsExtra = function () {
28
+ return data;
29
+ };
30
+
31
+ return data;
32
+ }
33
+
34
+ function _path() {
35
+ const data = _interopRequireDefault(require("path"));
36
+
37
+ _path = function () {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
44
+ function _dependencyResolver() {
45
+ const data = require("@teambit/dependency-resolver");
46
+
47
+ _dependencyResolver = function () {
48
+ return data;
49
+ };
50
+
51
+ return data;
52
+ }
53
+
54
+ function _packageJsonFile() {
55
+ const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component/package-json-file"));
56
+
57
+ _packageJsonFile = function () {
58
+ return data;
59
+ };
60
+
61
+ return data;
62
+ }
63
+
64
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
65
+
66
+ 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; }
67
+
68
+ /**
69
+ * All components are copied to a temporary folder (`<workspace-root>/.bit_components`).
70
+ * Each of the copies gets a `package.json` generated, where the component dependencies
71
+ * from the workspace are declared using the `file:` protocol.
72
+ * Every workspace component is then referenced from the `node_modules/<pkgname>` directory (using the `file:` protocol).
73
+ * The peer dependencies of the components are added as runtime dependencies of `node_modules/<pkgname>`.
74
+ *
75
+ * This way Yarn will install each workspace component in isolation with its component dependencies and peer dependencies
76
+ * inside `node_modules/<pkgName>/node_modules`.
77
+ */
78
+ async function createRootComponentsDir({
79
+ depResolver,
80
+ rootDir,
81
+ componentDirectoryMap
82
+ }) {
83
+ const pickedComponents = new Map();
84
+ const deps = await pickComponentsAndAllDeps(depResolver, Array.from(componentDirectoryMap.hashMap.keys()), componentDirectoryMap, pickedComponents);
85
+
86
+ const copiesDir = _path().default.join(rootDir, 'node_modules/.bit_components');
87
+
88
+ await Promise.all(Array.from(pickedComponents.entries()).map(async ([rootComponentDir, packageJson]) => {
89
+ const rel = _path().default.relative(rootDir, rootComponentDir);
90
+
91
+ const targetDir = _path().default.join(copiesDir, rel);
92
+
93
+ const modulesDir = _path().default.join(rootComponentDir, 'node_modules');
94
+
95
+ await _fsExtra().default.copy(rootComponentDir, targetDir, {
96
+ filter: src => src !== modulesDir,
97
+ overwrite: true
98
+ });
99
+ await _fsExtra().default.writeJson(_path().default.join(targetDir, 'package.json'), packageJson, {
100
+ spaces: 2
101
+ });
102
+ }));
103
+ const newManifestsByPaths = {};
104
+
105
+ for (const rootComponentDir of deps) {
106
+ const rel = _path().default.relative(rootDir, rootComponentDir);
107
+
108
+ const targetDir = _path().default.join(copiesDir, rel);
109
+
110
+ const pkgJson = pickedComponents.get(rootComponentDir);
111
+
112
+ if (pkgJson) {
113
+ const compDir = _path().default.join(rootDir, 'node_modules', pkgJson.name);
114
+
115
+ newManifestsByPaths[compDir] = {
116
+ name: pkgJson.name,
117
+ dependencies: _objectSpread(_objectSpread({
118
+ [pkgJson.name]: `file:${_path().default.relative(compDir, targetDir)}`
119
+ }, pkgJson.peerDependencies), pkgJson['defaultPeerDependencies']),
120
+ // is it needed?
121
+ installConfig: {
122
+ hoistingLimits: 'dependencies'
123
+ }
124
+ };
125
+ }
126
+ }
127
+
128
+ return newManifestsByPaths;
129
+ }
130
+ /**
131
+ * This function generates a `package.json` for each component in the workspace.
132
+ * Any component dependencies that are present in the workspace are added to the dependencies
133
+ * as local `file:` dependencies.
134
+ */
135
+
136
+
137
+ async function pickComponentsAndAllDeps(depResolver, rootComponentIds, componentDirectoryMap, pickedComponents) {
138
+ const dependencies = [];
139
+ await Promise.all(rootComponentIds.map(async rootComponentId => {
140
+ const component = componentDirectoryMap.hashMap.get(rootComponentId);
141
+
142
+ if (component) {
143
+ dependencies.push(component[1]);
144
+ let packageJsonObject = pickedComponents.get(component[1]);
145
+
146
+ if (!packageJsonObject) {
147
+ packageJsonObject = _packageJsonFile().default.createFromComponent(component[1], component[0].state._consumer).packageJsonObject;
148
+ pickedComponents.set(component[1], packageJsonObject);
149
+ }
150
+
151
+ const depsList = await depResolver.getDependencies(component[0]);
152
+ const deps = await pickComponentsAndAllDeps(depResolver, depsList.dependencies.filter(dep => dep instanceof _dependencyResolver().ComponentDependency).map(dep => dep.componentId.toString()), componentDirectoryMap, pickedComponents);
153
+
154
+ for (const dep of deps) {
155
+ const pkgJson = pickedComponents.get(dep);
156
+
157
+ if (pkgJson) {
158
+ packageJsonObject.dependencies[pkgJson.name] = `file:${_path().default.relative(component[1], dep)}`;
159
+ }
160
+ }
161
+ }
162
+ }));
163
+ return dependencies;
164
+ }
165
+
166
+ //# sourceMappingURL=create-root-components-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createRootComponentsDir","depResolver","rootDir","componentDirectoryMap","pickedComponents","Map","deps","pickComponentsAndAllDeps","Array","from","hashMap","keys","copiesDir","path","join","Promise","all","entries","map","rootComponentDir","packageJson","rel","relative","targetDir","modulesDir","fs","copy","filter","src","overwrite","writeJson","spaces","newManifestsByPaths","pkgJson","get","compDir","name","dependencies","peerDependencies","installConfig","hoistingLimits","rootComponentIds","rootComponentId","component","push","packageJsonObject","PackageJsonFile","createFromComponent","state","_consumer","set","depsList","getDependencies","dep","ComponentDependency","componentId","toString"],"sources":["create-root-components-dir.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport { ComponentDependency, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ComponentMap } from '@teambit/component';\nimport PackageJsonFile from '@teambit/legacy/dist/consumer/component/package-json-file';\n\n/**\n * All components are copied to a temporary folder (`<workspace-root>/.bit_components`).\n * Each of the copies gets a `package.json` generated, where the component dependencies\n * from the workspace are declared using the `file:` protocol.\n * Every workspace component is then referenced from the `node_modules/<pkgname>` directory (using the `file:` protocol).\n * The peer dependencies of the components are added as runtime dependencies of `node_modules/<pkgname>`.\n *\n * This way Yarn will install each workspace component in isolation with its component dependencies and peer dependencies\n * inside `node_modules/<pkgName>/node_modules`.\n */\nexport async function createRootComponentsDir({\n depResolver,\n rootDir,\n componentDirectoryMap,\n}: {\n depResolver: DependencyResolverMain;\n rootDir: string;\n componentDirectoryMap: ComponentMap<string>;\n}): Promise<Record<string, object>> {\n const pickedComponents = new Map<string, Record<string, any>>();\n const deps = await pickComponentsAndAllDeps(\n depResolver,\n Array.from(componentDirectoryMap.hashMap.keys()),\n componentDirectoryMap,\n pickedComponents\n );\n const copiesDir = path.join(rootDir, 'node_modules/.bit_components');\n await Promise.all(\n Array.from(pickedComponents.entries()).map(async ([rootComponentDir, packageJson]) => {\n const rel = path.relative(rootDir, rootComponentDir);\n const targetDir = path.join(copiesDir, rel);\n const modulesDir = path.join(rootComponentDir, 'node_modules');\n await fs.copy(rootComponentDir, targetDir, {\n filter: (src) => src !== modulesDir,\n overwrite: true,\n });\n await fs.writeJson(path.join(targetDir, 'package.json'), packageJson, { spaces: 2 });\n })\n );\n const newManifestsByPaths: Record<string, object> = {};\n for (const rootComponentDir of deps) {\n const rel = path.relative(rootDir, rootComponentDir);\n const targetDir = path.join(copiesDir, rel);\n const pkgJson = pickedComponents.get(rootComponentDir);\n if (pkgJson) {\n const compDir = path.join(rootDir, 'node_modules', pkgJson.name);\n newManifestsByPaths[compDir] = {\n name: pkgJson.name,\n dependencies: {\n [pkgJson.name]: `file:${path.relative(compDir, targetDir)}`,\n ...pkgJson.peerDependencies,\n ...pkgJson['defaultPeerDependencies'], // eslint-disable-line\n },\n // is it needed?\n installConfig: {\n hoistingLimits: 'dependencies',\n },\n };\n }\n }\n return newManifestsByPaths;\n}\n\n/**\n * This function generates a `package.json` for each component in the workspace.\n * Any component dependencies that are present in the workspace are added to the dependencies\n * as local `file:` dependencies.\n */\nasync function pickComponentsAndAllDeps(\n depResolver: DependencyResolverMain,\n rootComponentIds: string[],\n componentDirectoryMap: ComponentMap<string>,\n pickedComponents: Map<string, Record<string, any>>\n) {\n const dependencies: string[] = [];\n await Promise.all(\n rootComponentIds.map(async (rootComponentId) => {\n const component = componentDirectoryMap.hashMap.get(rootComponentId);\n if (component) {\n dependencies.push(component[1]);\n let packageJsonObject = pickedComponents.get(component[1]);\n if (!packageJsonObject) {\n packageJsonObject = PackageJsonFile.createFromComponent(\n component[1],\n component[0].state._consumer\n ).packageJsonObject;\n pickedComponents.set(component[1], packageJsonObject);\n }\n const depsList = await depResolver.getDependencies(component[0]);\n const deps = await pickComponentsAndAllDeps(\n depResolver,\n depsList.dependencies\n .filter((dep) => dep instanceof ComponentDependency)\n .map((dep: any) => dep.componentId.toString()),\n componentDirectoryMap,\n pickedComponents\n );\n for (const dep of deps) {\n const pkgJson = pickedComponents.get(dep);\n if (pkgJson) {\n packageJsonObject.dependencies[pkgJson.name] = `file:${path.relative(component[1], dep)}`;\n }\n }\n }\n })\n );\n return dependencies;\n}\n"],"mappings":"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"}
@@ -8,6 +8,11 @@ export declare class YarnPackageManager implements PackageManager {
8
8
  private logger;
9
9
  constructor(depResolver: DependencyResolverMain, pkg: PkgMain, logger: Logger);
10
10
  install(rootDir: string, rootPolicy: WorkspacePolicy, componentDirectoryMap: ComponentMap<string>, installOptions?: PackageManagerInstallOptions): Promise<void>;
11
+ /**
12
+ * Every component is overriden with a local directory of that component.
13
+ * So the component will be installed from the local directory, not from the registry.
14
+ */
15
+ private _createLocalDirectoryOverrides;
11
16
  private getPackageJsonPath;
12
17
  private backupPackageJsons;
13
18
  private restorePackageJsons;
@@ -32,4 +37,5 @@ export declare class YarnPackageManager implements PackageManager {
32
37
  private computeComponents;
33
38
  private computeDeps;
34
39
  resolveRemoteVersion(packageName: string, options: PackageManagerResolveRemoteVersionOptions): Promise<ResolvedPackageVersion>;
40
+ getInjectedDirs(rootDir: string, componentDir: string, packageName: string): Promise<string[]>;
35
41
  }
@@ -11,6 +11,16 @@ Object.defineProperty(exports, "__esModule", {
11
11
  });
12
12
  exports.YarnPackageManager = void 0;
13
13
 
14
+ function _defineProperty2() {
15
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+
17
+ _defineProperty2 = function () {
18
+ return data;
19
+ };
20
+
21
+ return data;
22
+ }
23
+
14
24
  function _parsePackageName() {
15
25
  const data = _interopRequireDefault(require("parse-package-name"));
16
26
 
@@ -121,6 +131,30 @@ function _versionSelectorType2() {
121
131
  return data;
122
132
  }
123
133
 
134
+ function _yaml() {
135
+ const data = _interopRequireDefault(require("yaml"));
136
+
137
+ _yaml = function () {
138
+ return data;
139
+ };
140
+
141
+ return data;
142
+ }
143
+
144
+ function _createRootComponentsDir() {
145
+ const data = require("./create-root-components-dir");
146
+
147
+ _createRootComponentsDir = function () {
148
+ return data;
149
+ };
150
+
151
+ return data;
152
+ }
153
+
154
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
155
+
156
+ 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
+
124
158
  class YarnPackageManager {
125
159
  constructor(depResolver, pkg, logger) {
126
160
  this.depResolver = depResolver;
@@ -133,7 +167,7 @@ class YarnPackageManager {
133
167
  const options = {
134
168
  filterComponentsFromManifests: true,
135
169
  createManifestForComponentsWithoutDependencies: true,
136
- dedupe: true,
170
+ dedupe: !installOptions.rootComponentsForCapsules,
137
171
  dependencyFilterFn: installOptions.dependencyFilterFn
138
172
  };
139
173
  const components = componentDirectoryMap.components;
@@ -155,28 +189,70 @@ class YarnPackageManager {
155
189
  }).manifest; // @ts-ignore
156
190
 
157
191
  project.setupResolutions();
158
- const rootWs = await this.createWorkspace(rootDir, project, rootManifest, installOptions.overrides); // const manifests = Array.from(workspaceManifest.componentsManifestsMap.entries());
159
192
 
160
- const manifests = this.computeComponents(workspaceManifest.componentsManifestsMap, componentDirectoryMap, installOptions.copyPeerToRuntimeOnComponents);
161
- await (0, _dependencyResolver().extendWithComponentsFromDir)(rootDir, manifests);
193
+ if (installOptions.rootComponentsForCapsules && !installOptions.useNesting) {
194
+ installOptions.overrides = _objectSpread(_objectSpread({}, installOptions.overrides), this._createLocalDirectoryOverrides(rootDir, componentDirectoryMap));
195
+ }
196
+
197
+ const rootWs = await this.createWorkspace(rootDir, project, rootManifest, installOptions.overrides);
198
+
199
+ if (installOptions.rootComponents) {
200
+ rootWs.manifest.installConfig = {
201
+ hoistingLimits: 'dependencies'
202
+ };
203
+ } // const manifests = Array.from(workspaceManifest.componentsManifestsMap.entries());
204
+
205
+
206
+ let manifests = this.computeComponents(workspaceManifest.componentsManifestsMap, componentDirectoryMap, installOptions.copyPeerToRuntimeOnComponents);
207
+
208
+ if (installOptions.rootComponents) {
209
+ // Manifests are extended with "wrapper components"
210
+ // that group all workspace components with their dependencies and peer dependencies.
211
+ manifests = _objectSpread(_objectSpread({}, await (0, _createRootComponentsDir().createRootComponentsDir)({
212
+ depResolver: this.depResolver,
213
+ rootDir,
214
+ componentDirectoryMap
215
+ })), manifests);
216
+ } else if (installOptions.useNesting) {
217
+ // Nesting is used for scope aspect capsules.
218
+ // In a capsule, all peer dependencies should be installed,
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);
221
+ } else if (installOptions.rootComponentsForCapsules) {
222
+ await updateManifestsForInstallationInWorkspaceCapsules(manifests);
223
+ } else {
224
+ await (0, _dependencyResolver().extendWithComponentsFromDir)(rootDir, manifests);
225
+ }
226
+
162
227
  this.logger.debug('root manifest for installation', rootManifest);
163
228
  this.logger.debug('components manifests for installation', manifests);
164
- const workspacesIdents = {};
165
229
  const workspacesP = Object.keys(manifests).map(async path => {
166
230
  const manifest = manifests[path];
167
231
  const workspace = await this.createWorkspace(path, project, manifest);
168
- const workspaceIdentHash = workspace.locator.identHash; //
169
-
170
- if (workspacesIdents[workspaceIdentHash]) {
171
- this.logger.debug(`overriding internal workspace fields to prevent duplications for workspace ${workspace.cwd}`);
172
- this.overrideInternalWorkspaceParams(workspace);
173
- }
174
-
175
- workspacesIdents[workspace.locator.identHash] = true;
176
232
  return workspace;
177
233
  });
178
234
  const workspaces = await Promise.all(workspacesP);
179
- this.setupWorkspaces(project, workspaces.concat(rootWs));
235
+
236
+ if (!installOptions.rootComponents && !installOptions.rootComponentsForCapsules && !installOptions.useNesting) {
237
+ const workspacesIdents = {};
238
+
239
+ for (const workspace of workspaces) {
240
+ const workspaceIdentHash = workspace.locator.identHash;
241
+
242
+ if (workspacesIdents[workspaceIdentHash]) {
243
+ this.logger.debug(`overriding internal workspace fields to prevent duplications for workspace ${workspace.cwd}`);
244
+ this.overrideInternalWorkspaceParams(workspace);
245
+ }
246
+
247
+ workspacesIdents[workspace.locator.identHash] = true;
248
+ }
249
+ }
250
+
251
+ if (!manifests[rootDir]) {
252
+ workspaces.push(rootWs);
253
+ }
254
+
255
+ this.setupWorkspaces(project, workspaces);
180
256
  const cache = await _core().Cache.find(config); // const existingPackageJsons = await this.backupPackageJsons(rootDir, componentDirectoryMap);
181
257
 
182
258
  const installReport = await _core().StreamReport.start({
@@ -197,6 +273,20 @@ class YarnPackageManager {
197
273
  if (installReport.hasErrors()) process.exit(installReport.exitCode());
198
274
  this.logger.consoleSuccess('installing dependencies');
199
275
  }
276
+ /**
277
+ * Every component is overriden with a local directory of that component.
278
+ * So the component will be installed from the local directory, not from the registry.
279
+ */
280
+
281
+
282
+ _createLocalDirectoryOverrides(rootDir, componentDirectoryMap) {
283
+ const overrides = {};
284
+ Array.from(componentDirectoryMap.hashMap.entries()).forEach(([, [component, path]]) => {
285
+ const name = this.depResolver.getPackageName(component);
286
+ overrides[name] = `file:${(0, _path().relative)(rootDir, path)}`;
287
+ });
288
+ return overrides;
289
+ }
200
290
 
201
291
  getPackageJsonPath(dir) {
202
292
  const packageJsonPath = (0, _path().join)(dir, 'package.json');
@@ -272,6 +362,7 @@ class YarnPackageManager {
272
362
  ws.manifest.dependencies = this.computeDeps(manifest.dependencies);
273
363
  ws.manifest.devDependencies = this.computeDeps(manifest.devDependencies);
274
364
  ws.manifest.peerDependencies = this.computeDeps(manifest.peerDependencies);
365
+ ws.manifest.installConfig = manifest.installConfig;
275
366
 
276
367
  if (overrides) {
277
368
  ws.manifest.resolutions = convertOverridesToResolutions(overrides);
@@ -393,7 +484,9 @@ class YarnPackageManager {
393
484
  httpsProxy: proxyConfig === null || proxyConfig === void 0 ? void 0 : proxyConfig.httpsProxy,
394
485
  enableStrictSsl: networkConfig === null || networkConfig === void 0 ? void 0 : networkConfig.strictSSL,
395
486
  // enableInlineBuilds: true,
396
- globalFolder: `${_userHome().default}/.yarn/global` // TODO: check about support for the following: (see more here - https://github.com/yarnpkg/berry/issues/1434#issuecomment-801449010)
487
+ globalFolder: `${_userHome().default}/.yarn/global`,
488
+ // We need to disable self-references as say create circular symlinks.
489
+ nmSelfReferences: false // TODO: check about support for the following: (see more here - https://github.com/yarnpkg/berry/issues/1434#issuecomment-801449010)
397
490
  // ca?: string;
398
491
  // cert?: string;
399
492
  // key?: string;
@@ -506,6 +599,34 @@ class YarnPackageManager {
506
599
  };
507
600
  }
508
601
 
602
+ async getInjectedDirs(rootDir, componentDir, packageName) {
603
+ const modulesDir = (0, _path().join)(rootDir, 'node_modules');
604
+ (0, _path().relative)(modulesDir, componentDir);
605
+ let yarnStateContent;
606
+
607
+ try {
608
+ yarnStateContent = await _fsExtra().default.readFile((0, _path().join)(modulesDir, '.yarn-state.yml'), 'utf-8');
609
+ } catch (err) {
610
+ if (err.code === 'ENOENT') return [];
611
+ }
612
+
613
+ const yarnState = _yaml().default.parse(yarnStateContent);
614
+
615
+ const injectedDirs = [];
616
+
617
+ for (const [key, {
618
+ locations
619
+ }] of Object.entries(yarnState)) {
620
+ if (key.startsWith(`${packageName}@`) || key.startsWith(`${packageName}__root@`)) {
621
+ for (const location of locations) {
622
+ injectedDirs.push(location);
623
+ }
624
+ }
625
+ }
626
+
627
+ return injectedDirs;
628
+ }
629
+
509
630
  }
510
631
 
511
632
  exports.YarnPackageManager = YarnPackageManager;
@@ -530,5 +651,32 @@ function toYarnResolutionSelector({
530
651
  description: pref
531
652
  };
532
653
  }
654
+ /**
655
+ * This function prepares the component manifests for installation inside a capsule.
656
+ * Inside a capsule, all peer dependencies of the component should be installed.
657
+ * So peer dependencies are added to the manifest as runtime dependencies.
658
+ * Also, the package.json files are update to contain other component dependencies
659
+ * in dependencies as local "file:" dependencies.
660
+ */
661
+
662
+
663
+ async function updateManifestsForInstallationInWorkspaceCapsules(manifests) {
664
+ await Promise.all(Object.entries(manifests).map(async ([dir, manifest]) => {
665
+ const pkgJsonPath = (0, _path().join)(dir, 'package.json');
666
+ const pkgJson = await _fsExtra().default.readJson(pkgJsonPath); // We need to write the package.json files because they need to contain the workspace dependencies.
667
+ // When packages are installed via the "file:" protocol, Yarn reads their package.json files
668
+ // from the file system even if they are from the workspace.
669
+
670
+ await _fsExtra().default.writeJson(pkgJsonPath, _objectSpread(_objectSpread({}, pkgJson), {}, {
671
+ dependencies: manifest.dependencies
672
+ }), {
673
+ spaces: 2
674
+ });
675
+ manifest.dependencies = _objectSpread(_objectSpread(_objectSpread({}, manifest.peerDependencies), manifest.defaultPeerDependencies), manifest.dependencies);
676
+ manifest.installConfig = {
677
+ hoistingLimits: 'workspaces'
678
+ };
679
+ }));
680
+ }
533
681
 
534
682
  //# sourceMappingURL=yarn.package-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["YarnPackageManager","constructor","depResolver","pkg","logger","install","rootDir","rootPolicy","componentDirectoryMap","installOptions","setStatusLine","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","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","rootWs","createWorkspace","overrides","manifests","computeComponents","componentsManifestsMap","copyPeerToRuntimeOnComponents","extendWithComponentsFromDir","debug","workspacesIdents","workspacesP","Object","keys","map","path","workspace","workspaceIdentHash","locator","identHash","cwd","overrideInternalWorkspaceParams","workspaces","Promise","all","setupWorkspaces","concat","cache","Cache","find","installReport","StreamReport","start","stdout","process","report","persistProject","persistLockfile","hasErrors","exit","exitCode","consoleSuccess","getPackageJsonPath","dir","packageJsonPath","join","backupPackageJsons","result","rootPackageJsonPath","getFileToBackup","componentsBackupsP","toArray","component","file","getComponentPackageJsonToBackup","restorePackageJsons","backupJsons","promises","entries","exists","fs","pathExists","remove","writeFile","existingFile","readFile","resolve","wsPath","name","ws","Workspace","setup","identity","structUtils","parseIdent","version","dependencies","computeDeps","devDependencies","peerDependencies","resolutions","convertOverridesToResolutions","ident","makeIdent","scope","makeLocator","reference","anchoredDescriptor","makeDescriptor","WorkspaceResolver","protocol","relativeCwd","anchoredLocator","workspacesByCwd","Map","workspacesByIdent","forEach","dup","get","Error","push","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","use","componentManifests","componentsDirMap","copyPeer","packageName","getPackageName","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","parsedOverrides","parseOverrides","override","pattern","from","parentPkg","toYarnResolutionSelector","targetPkg","newPref","pref","fullName","description"],"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, 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';\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: true,\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 const rootWs = await this.createWorkspace(rootDir, project, rootManifest, installOptions.overrides);\n\n // const manifests = Array.from(workspaceManifest.componentsManifestsMap.entries());\n const manifests = this.computeComponents(\n workspaceManifest.componentsManifestsMap,\n componentDirectoryMap,\n installOptions.copyPeerToRuntimeOnComponents\n );\n await extendWithComponentsFromDir(rootDir, manifests);\n\n this.logger.debug('root manifest for installation', rootManifest);\n this.logger.debug('components manifests for installation', manifests);\n\n const workspacesIdents = {};\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 const workspaceIdentHash = workspace.locator.identHash;\n //\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 return workspace;\n });\n\n const workspaces = await Promise.all(workspacesP);\n\n this.setupWorkspaces(project, workspaces.concat(rootWs));\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 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 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\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\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"],"mappings":"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"}
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('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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"}
package/package.json CHANGED
@@ -1,38 +1,39 @@
1
1
  {
2
2
  "name": "@teambit/yarn",
3
- "version": "0.0.803",
3
+ "version": "0.0.804",
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.803"
9
+ "version": "0.0.804"
10
10
  },
11
11
  "dependencies": {
12
- "@pnpm/parse-overrides": "1.0.1",
12
+ "fs-extra": "10.0.0",
13
+ "@pnpm/parse-overrides": "2.0.2",
13
14
  "@yarnpkg/cli": "3.2.1",
14
15
  "@yarnpkg/core": "^3.2.2",
15
16
  "@yarnpkg/fslib": "2.6.2",
16
17
  "@yarnpkg/parsers": "2.5.1",
17
18
  "@yarnpkg/plugin-npm": "2.7.1",
18
- "fs-extra": "10.0.0",
19
19
  "parse-package-name": "0.1.0",
20
20
  "user-home": "2.0.0",
21
21
  "version-selector-type": "3.0.0",
22
+ "yaml": "1.10.2",
22
23
  "@babel/runtime": "7.12.18",
23
24
  "core-js": "^3.0.0",
24
25
  "@teambit/harmony": "0.3.3",
25
- "@teambit/cli": "0.0.534",
26
- "@teambit/dependency-resolver": "0.0.802",
27
- "@teambit/logger": "0.0.627",
28
- "@teambit/pkg": "0.0.802",
29
- "@teambit/component": "0.0.802",
26
+ "@teambit/component": "0.0.803",
27
+ "@teambit/dependency-resolver": "0.0.803",
28
+ "@teambit/cli": "0.0.535",
29
+ "@teambit/logger": "0.0.628",
30
+ "@teambit/pkg": "0.0.803",
30
31
  "@teambit/ui-foundation.ui.use-box.menu": "0.0.116",
31
- "@teambit/ui": "0.0.802"
32
+ "@teambit/ui": "0.0.803"
32
33
  },
33
34
  "devDependencies": {
34
- "@types/react": "^17.0.8",
35
35
  "@types/fs-extra": "9.0.7",
36
+ "@types/react": "^17.0.8",
36
37
  "@types/mocha": "9.1.0",
37
38
  "@types/testing-library__jest-dom": "5.9.5",
38
39
  "@types/jest": "^26.0.0",
@@ -41,7 +42,7 @@
41
42
  "@teambit/dependencies.aspect-docs.yarn": "0.0.139"
42
43
  },
43
44
  "peerDependencies": {
44
- "@teambit/legacy": "1.0.316",
45
+ "@teambit/legacy": "1.0.317",
45
46
  "react-dom": "^16.8.0 || ^17.0.0",
46
47
  "react": "^16.8.0 || ^17.0.0"
47
48
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_yarn@0.0.803/dist/yarn.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_yarn@0.0.803/dist/yarn.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_yarn@0.0.804/dist/yarn.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.dependencies_yarn@0.0.804/dist/yarn.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];