@teambit/install 1.0.106 → 1.0.108

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.
@@ -3,7 +3,7 @@ import { WorkspaceDependencyLifecycleType } from '@teambit/dependency-resolver';
3
3
  import { Logger } from '@teambit/logger';
4
4
  import { Workspace } from '@teambit/workspace';
5
5
  import { InstallMain } from './install.main.runtime';
6
- declare type InstallCmdOptions = {
6
+ type InstallCmdOptions = {
7
7
  type: WorkspaceDependencyLifecycleType;
8
8
  skipDedupe: boolean;
9
9
  skipImport: boolean;
@@ -14,16 +14,16 @@ import { WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';
14
14
  import { Logger, LoggerMain } from '@teambit/logger';
15
15
  import { IssuesMain } from '@teambit/issues';
16
16
  import { CodemodResult } from '@teambit/legacy/dist/consumer/component-ops/codemod-components';
17
- export declare type WorkspaceLinkOptions = LinkingOptions & {
17
+ export type WorkspaceLinkOptions = LinkingOptions & {
18
18
  rootPolicy?: WorkspacePolicy;
19
19
  linkToBitRoots?: boolean;
20
20
  includePeers?: boolean;
21
21
  };
22
- export declare type WorkspaceLinkResults = {
22
+ export type WorkspaceLinkResults = {
23
23
  legacyLinkResults?: NodeModulesLinksResult[];
24
24
  legacyLinkCodemodResults?: CodemodResult[];
25
25
  } & LinkResults;
26
- export declare type WorkspaceInstallOptions = {
26
+ export type WorkspaceInstallOptions = {
27
27
  addMissingDeps?: boolean;
28
28
  addMissingPeers?: boolean;
29
29
  lifecycleType?: WorkspaceDependencyLifecycleType;
@@ -42,13 +42,13 @@ export declare type WorkspaceInstallOptions = {
42
42
  lockfileOnly?: boolean;
43
43
  writeConfigFiles?: boolean;
44
44
  };
45
- export declare type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;
46
- declare type PreLink = (linkOpts?: WorkspaceLinkOptions) => Promise<void>;
47
- declare type PreInstall = (installOpts?: WorkspaceInstallOptions) => Promise<void>;
48
- declare type PostInstall = () => Promise<void>;
49
- declare type PreLinkSlot = SlotRegistry<PreLink>;
50
- declare type PreInstallSlot = SlotRegistry<PreInstall>;
51
- declare type PostInstallSlot = SlotRegistry<PostInstall>;
45
+ export type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;
46
+ type PreLink = (linkOpts?: WorkspaceLinkOptions) => Promise<void>;
47
+ type PreInstall = (installOpts?: WorkspaceInstallOptions) => Promise<void>;
48
+ type PostInstall = () => Promise<void>;
49
+ type PreLinkSlot = SlotRegistry<PreLink>;
50
+ type PreInstallSlot = SlotRegistry<PreInstall>;
51
+ type PostInstallSlot = SlotRegistry<PostInstall>;
52
52
  export declare class InstallMain {
53
53
  private dependencyResolver;
54
54
  private logger;
@@ -272,14 +272,14 @@ class InstallMain {
272
272
  if (packages && packages.length) {
273
273
  await this._addPackages(packages, options);
274
274
  }
275
- if (options !== null && options !== void 0 && options.addMissingPeers) {
275
+ if (options?.addMissingPeers) {
276
276
  const compDirMap = await this.getComponentsDirectory([]);
277
277
  const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();
278
278
  const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();
279
279
  const pmInstallOptions = {
280
- dedupe: options === null || options === void 0 ? void 0 : options.dedupe,
281
- copyPeerToRuntimeOnRoot: (options === null || options === void 0 ? void 0 : options.copyPeerToRuntimeOnRoot) ?? true,
282
- copyPeerToRuntimeOnComponents: (options === null || options === void 0 ? void 0 : options.copyPeerToRuntimeOnComponents) ?? false,
280
+ dedupe: options?.dedupe,
281
+ copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,
282
+ copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,
283
283
  dependencyFilterFn: depsFilterFn,
284
284
  overrides: this.dependencyResolver.config.overrides,
285
285
  packageImportMethod: this.dependencyResolver.config.packageImportMethod
@@ -354,8 +354,8 @@ class InstallMain {
354
354
  });
355
355
  }
356
356
  async _addPackages(packages, options) {
357
- if ((options === null || options === void 0 ? void 0 : options.lifecycleType) === 'dev') {
358
- throw new (_exceptions().DependencyTypeNotSupportedInPolicy)(options === null || options === void 0 ? void 0 : options.lifecycleType);
357
+ if (options?.lifecycleType === 'dev') {
358
+ throw new (_exceptions().DependencyTypeNotSupportedInPolicy)(options?.lifecycleType);
359
359
  }
360
360
  this.logger.debug(`installing the following packages: ${packages.join()}`);
361
361
  const resolver = await this.dependencyResolver.getVersionResolver();
@@ -368,7 +368,7 @@ class InstallMain {
368
368
  if (resolvedPackage.version) {
369
369
  const versionWithPrefix = this.dependencyResolver.getVersionWithSavePrefix({
370
370
  version: resolvedPackage.version,
371
- overridePrefix: options === null || options === void 0 ? void 0 : options.savePrefix,
371
+ overridePrefix: options?.savePrefix,
372
372
  wantedRange: resolvedPackage.wantedRange
373
373
  });
374
374
  newWorkspacePolicyEntries.push({
@@ -376,28 +376,28 @@ class InstallMain {
376
376
  value: {
377
377
  version: versionWithPrefix
378
378
  },
379
- lifecycleType: (options === null || options === void 0 ? void 0 : options.lifecycleType) || 'runtime'
379
+ lifecycleType: options?.lifecycleType || 'runtime'
380
380
  });
381
381
  }
382
382
  });
383
383
  this.dependencyResolver.addToRootPolicy(newWorkspacePolicyEntries, {
384
- updateExisting: (options === null || options === void 0 ? void 0 : options.updateExisting) ?? false,
385
- skipIfExisting: (options === null || options === void 0 ? void 0 : options.skipIfExisting) ?? false
384
+ updateExisting: options?.updateExisting ?? false,
385
+ skipIfExisting: options?.skipIfExisting ?? false
386
386
  });
387
387
  await this.dependencyResolver.persistConfig(this.workspace.path);
388
388
  }
389
389
  async _installModules(options) {
390
390
  const pm = this.dependencyResolver.getPackageManager();
391
- this.logger.console(`installing dependencies in workspace using ${pm === null || pm === void 0 ? void 0 : pm.name} (${_chalk().default.cyan(this.dependencyResolver.getPackageManagerName())})`);
391
+ this.logger.console(`installing dependencies in workspace using ${pm?.name} (${_chalk().default.cyan(this.dependencyResolver.getPackageManagerName())})`);
392
392
  this.logger.debug(`installing dependencies in workspace with options`, options);
393
393
  const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();
394
394
  const hasRootComponents = this.dependencyResolver.hasRootComponents();
395
395
  // TODO: pass get install options
396
396
  const installer = this.dependencyResolver.getInstaller({});
397
397
  const calcManifestsOpts = {
398
- copyPeerToRuntimeOnComponents: (options === null || options === void 0 ? void 0 : options.copyPeerToRuntimeOnComponents) ?? false,
399
- copyPeerToRuntimeOnRoot: (options === null || options === void 0 ? void 0 : options.copyPeerToRuntimeOnRoot) ?? true,
400
- dedupe: !hasRootComponents && (options === null || options === void 0 ? void 0 : options.dedupe),
398
+ copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,
399
+ copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,
400
+ dedupe: !hasRootComponents && options?.dedupe,
401
401
  dependencyFilterFn: depsFilterFn,
402
402
  nodeLinker: this.dependencyResolver.nodeLinker()
403
403
  };
@@ -415,18 +415,18 @@ class InstallMain {
415
415
  mergedRootPolicy,
416
416
  componentsAndManifests: current
417
417
  } = await this._getComponentsManifestsAndRootPolicy(installer, _objectSpread(_objectSpread({}, calcManifestsOpts), {}, {
418
- addMissingDeps: options === null || options === void 0 ? void 0 : options.addMissingDeps,
418
+ addMissingDeps: options?.addMissingDeps,
419
419
  linkedRootDeps
420
420
  }));
421
421
  const pmInstallOptions = _objectSpread(_objectSpread({}, calcManifestsOpts), {}, {
422
- includeOptionalDeps: options === null || options === void 0 ? void 0 : options.includeOptionalDeps,
422
+ includeOptionalDeps: options?.includeOptionalDeps,
423
423
  neverBuiltDependencies: this.dependencyResolver.config.neverBuiltDependencies,
424
424
  overrides: this.dependencyResolver.config.overrides,
425
425
  packageImportMethod: this.dependencyResolver.config.packageImportMethod,
426
426
  rootComponents: hasRootComponents,
427
- updateAll: options === null || options === void 0 ? void 0 : options.updateAll,
428
- optimizeReportForNonTerminal: options === null || options === void 0 ? void 0 : options.optimizeReportForNonTerminal,
429
- lockfileOnly: options === null || options === void 0 ? void 0 : options.lockfileOnly
427
+ updateAll: options?.updateAll,
428
+ optimizeReportForNonTerminal: options?.optimizeReportForNonTerminal,
429
+ lockfileOnly: options?.lockfileOnly
430
430
  });
431
431
  const prevManifests = new Set();
432
432
  // TODO: this make duplicate
@@ -454,7 +454,7 @@ class InstallMain {
454
454
  }, pmInstallOptions);
455
455
  let cacheCleared = false;
456
456
  await this.linkCodemods(compDirMap);
457
- if ((options === null || options === void 0 ? void 0 : options.compile) ?? true) {
457
+ if (options?.compile ?? true) {
458
458
  const compileStartTime = process.hrtime();
459
459
  const compileOutputMessage = `compiling components`;
460
460
  this.logger.setStatusLine(compileOutputMessage);
@@ -471,11 +471,11 @@ class InstallMain {
471
471
  });
472
472
  this.logger.consoleSuccess(compileOutputMessage, compileStartTime);
473
473
  }
474
- if ((options === null || options === void 0 ? void 0 : options.writeConfigFiles) ?? true) {
474
+ if (options?.writeConfigFiles ?? true) {
475
475
  await this.tryWriteConfigFiles(!cacheCleared);
476
476
  }
477
477
  if (!dependenciesChanged) break;
478
- if (!(options !== null && options !== void 0 && options.recurringInstall)) break;
478
+ if (!options?.recurringInstall) break;
479
479
  const oldNonLoadedEnvs = this.getOldNonLoadedEnvs();
480
480
  if (!oldNonLoadedEnvs.length) break;
481
481
  prevManifests.add(manifestsHash(current.manifests));
@@ -492,7 +492,7 @@ class InstallMain {
492
492
  current = await this._getComponentsManifests(installer, mergedRootPolicy, calcManifestsOpts);
493
493
  installCycle += 1;
494
494
  } while ((!prevManifests.has(manifestsHash(current.manifests)) || hasMissingLocalComponents) && installCycle < 5);
495
- if (!(options !== null && options !== void 0 && options.lockfileOnly)) {
495
+ if (!options?.lockfileOnly) {
496
496
  // We clean node_modules only after the last install.
497
497
  // Otherwise, we might load an env from a location that we later remove.
498
498
  await installer.pruneModules(this.workspace.path);
@@ -505,7 +505,7 @@ class InstallMain {
505
505
  const mergedRootPolicy = await this.addConfiguredAspectsToWorkspacePolicy();
506
506
  await this.addConfiguredGeneratorEnvsToWorkspacePolicy(mergedRootPolicy);
507
507
  const componentsAndManifests = await this._getComponentsManifests(installer, mergedRootPolicy, options);
508
- if (!(options !== null && options !== void 0 && options.addMissingDeps)) {
508
+ if (!options?.addMissingDeps) {
509
509
  return {
510
510
  componentsAndManifests,
511
511
  mergedRootPolicy
@@ -627,8 +627,7 @@ class InstallMain {
627
627
  async _getAllMissingPackages() {
628
628
  const comps = await this.workspace.list();
629
629
  return (0, _lodash().uniq)(comps.map(comp => {
630
- var _comp$state$issues$ge;
631
- const data = ((_comp$state$issues$ge = comp.state.issues.getIssue(_componentIssues().IssuesClasses.MissingPackagesDependenciesOnFs)) === null || _comp$state$issues$ge === void 0 ? void 0 : _comp$state$issues$ge.data) || [];
630
+ const data = comp.state.issues.getIssue(_componentIssues().IssuesClasses.MissingPackagesDependenciesOnFs)?.data || [];
632
631
  return data.map(d => d.missingPackages).flat();
633
632
  }).flat());
634
633
  }
@@ -845,10 +844,8 @@ class InstallMain {
845
844
  _variantPatternsToDepPolicesDict(variantPatterns) {
846
845
  const variantPoliciesByPatterns = {};
847
846
  for (const [variantPattern, extensions] of Object.entries(variantPatterns)) {
848
- var _extensions$Dependenc;
849
- if ((_extensions$Dependenc = extensions[_dependencyResolver().DependencyResolverAspect.id]) !== null && _extensions$Dependenc !== void 0 && _extensions$Dependenc.policy) {
850
- var _extensions$Dependenc2;
851
- variantPoliciesByPatterns[variantPattern] = (_extensions$Dependenc2 = extensions[_dependencyResolver().DependencyResolverAspect.id]) === null || _extensions$Dependenc2 === void 0 ? void 0 : _extensions$Dependenc2.policy;
847
+ if (extensions[_dependencyResolver().DependencyResolverAspect.id]?.policy) {
848
+ variantPoliciesByPatterns[variantPattern] = extensions[_dependencyResolver().DependencyResolverAspect.id]?.policy;
852
849
  }
853
850
  }
854
851
  return variantPoliciesByPatterns;
@@ -917,7 +914,7 @@ class InstallMain {
917
914
  }
918
915
  async linkCodemods(compDirMap, options) {
919
916
  const bitIds = compDirMap.toArray().map(([component]) => component.id);
920
- return (0, _workspaceModules().linkToNodeModulesWithCodemod)(this.workspace, bitIds, (options === null || options === void 0 ? void 0 : options.rewire) ?? false);
917
+ return (0, _workspaceModules().linkToNodeModulesWithCodemod)(this.workspace, bitIds, options?.rewire ?? false);
921
918
  }
922
919
  async link(options = {}) {
923
920
  const {