@teambit/install 0.0.26 → 0.0.28

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,10 +3,11 @@ import { CompilerMain } from '@teambit/compiler';
3
3
  import { CLIMain } from '@teambit/cli';
4
4
  import { Workspace } from '@teambit/workspace';
5
5
  import { VariantsMain } from '@teambit/variants';
6
- import { ComponentMap } from '@teambit/component';
6
+ import { Component, ComponentMap } from '@teambit/component';
7
7
  import { WorkspaceDependencyLifecycleType, DependencyResolverMain, LinkingOptions, LinkResults } from '@teambit/dependency-resolver';
8
8
  import { ImporterMain } from '@teambit/importer';
9
9
  import { Logger, LoggerMain } from '@teambit/logger';
10
+ import { IssuesMain } from '@teambit/issues';
10
11
  export declare type WorkspaceLinkOptions = LinkingOptions;
11
12
  export declare type WorkspaceInstallOptions = {
12
13
  addMissingPeers?: boolean;
@@ -46,6 +47,7 @@ export declare class InstallMain {
46
47
  updateDependencies(options: {
47
48
  all: boolean;
48
49
  }): Promise<ComponentMap<string>>;
50
+ addDuplicateComponentAndPackageIssue(components: Component[]): Promise<void>;
49
51
  private _getComponentsWithDependencyPolicies;
50
52
  private _variantPatternsToDepPolicesDict;
51
53
  private _updateVariantsPolicies;
@@ -70,7 +72,7 @@ export declare class InstallMain {
70
72
  static slots: never[];
71
73
  static dependencies: import("@teambit/harmony").Aspect[];
72
74
  static runtime: import("@teambit/harmony").RuntimeDefinition;
73
- static provider([dependencyResolver, workspace, loggerExt, variants, cli, community, importer, compiler]: [
75
+ static provider([dependencyResolver, workspace, loggerExt, variants, cli, community, importer, compiler, issues,]: [
74
76
  DependencyResolverMain,
75
77
  Workspace,
76
78
  LoggerMain,
@@ -78,7 +80,8 @@ export declare class InstallMain {
78
80
  CLIMain,
79
81
  CommunityMain,
80
82
  ImporterMain,
81
- CompilerMain
83
+ CompilerMain,
84
+ IssuesMain
82
85
  ]): Promise<InstallMain>;
83
86
  }
84
87
  export default InstallMain;
@@ -101,6 +101,16 @@ function _exceptions() {
101
101
  return data;
102
102
  }
103
103
 
104
+ function _componentIdToPackageName() {
105
+ const data = _interopRequireDefault(require("@teambit/legacy/dist/utils/bit/component-id-to-package-name"));
106
+
107
+ _componentIdToPackageName = function () {
108
+ return data;
109
+ };
110
+
111
+ return data;
112
+ }
113
+
104
114
  function _variants() {
105
115
  const data = require("@teambit/variants");
106
116
 
@@ -121,6 +131,16 @@ function _component() {
121
131
  return data;
122
132
  }
123
133
 
134
+ function _componentIssues() {
135
+ const data = require("@teambit/component-issues");
136
+
137
+ _componentIssues = function () {
138
+ return data;
139
+ };
140
+
141
+ return data;
142
+ }
143
+
124
144
  function _dependencyResolver() {
125
145
  const data = require("@teambit/dependency-resolver");
126
146
 
@@ -151,6 +171,16 @@ function _logger() {
151
171
  return data;
152
172
  }
153
173
 
174
+ function _issues() {
175
+ const data = require("@teambit/issues");
176
+
177
+ _issues = function () {
178
+ return data;
179
+ };
180
+
181
+ return data;
182
+ }
183
+
154
184
  function _exceptions2() {
155
185
  const data = require("./exceptions");
156
186
 
@@ -443,6 +473,18 @@ class InstallMain {
443
473
  });
444
474
  }
445
475
 
476
+ async addDuplicateComponentAndPackageIssue(components) {
477
+ const workspacePolicy = this.dependencyResolver.getWorkspacePolicy();
478
+ components.forEach(component => {
479
+ const pkgName = (0, _componentIdToPackageName().default)(component.state._consumer);
480
+ const found = workspacePolicy.find(pkgName);
481
+
482
+ if (found) {
483
+ component.state.issues.getOrCreate(_componentIssues().IssuesClasses.DuplicateComponentAndPackage).data = found.dependencyId;
484
+ }
485
+ });
486
+ }
487
+
446
488
  async _getComponentsWithDependencyPolicies() {
447
489
  const allComponentIds = await this.workspace.listIds();
448
490
  const componentConfigFiles = {};
@@ -533,8 +575,7 @@ class InstallMain {
533
575
  });
534
576
  const res = await linker.link(this.workspace.path, mergedRootPolicy, compDirMap, options);
535
577
  return res;
536
- } // TODO: replace with a proper import API on the workspace
537
-
578
+ }
538
579
 
539
580
  async importObjects() {
540
581
  const importOptions = {
@@ -544,13 +585,12 @@ class InstallMain {
544
585
  };
545
586
 
546
587
  try {
547
- const res = await this.importer.import(importOptions, []);
548
- return res;
588
+ await this.importer.import(importOptions, []);
549
589
  } catch (err) {
550
590
  // TODO: this is a hack since the legacy throw an error, we should provide a way to not throw this error from the legacy
551
591
  if (err instanceof _exceptions().NothingToImport) {
552
592
  // Do not write nothing to import warning
553
- return undefined;
593
+ return;
554
594
  }
555
595
 
556
596
  throw err;
@@ -594,7 +634,7 @@ class InstallMain {
594
634
  return _component().ComponentMap.as(components, component => this.workspace.componentDir(component.id));
595
635
  }
596
636
 
597
- static async provider([dependencyResolver, workspace, loggerExt, variants, cli, community, importer, compiler]) {
637
+ static async provider([dependencyResolver, workspace, loggerExt, variants, cli, community, importer, compiler, issues]) {
598
638
  const logger = loggerExt.createLogger('teambit.bit/install');
599
639
  const installExt = new InstallMain(dependencyResolver, logger, workspace, variants, importer, compiler);
600
640
 
@@ -610,6 +650,10 @@ class InstallMain {
610
650
  }
611
651
  });
612
652
 
653
+ if (issues) {
654
+ issues.registerAddComponentsIssues(installExt.addDuplicateComponentAndPackageIssue.bind(installExt));
655
+ }
656
+
613
657
  const commands = [new (_install2().default)(installExt, workspace, logger), new (_uninstall().default)(installExt), new (_update().default)(installExt), new (_link().LinkCommand)(installExt, workspace, logger, community.getDocsDomain())];
614
658
  cli.register(...commands);
615
659
  return installExt;
@@ -619,7 +663,7 @@ class InstallMain {
619
663
 
620
664
  exports.InstallMain = InstallMain;
621
665
  (0, _defineProperty2().default)(InstallMain, "slots", []);
622
- (0, _defineProperty2().default)(InstallMain, "dependencies", [_dependencyResolver().DependencyResolverAspect, _workspace().WorkspaceAspect, _logger().LoggerAspect, _variants().VariantsAspect, _cli().CLIAspect, _community().CommunityAspect, _importer().ImporterAspect, _compiler().CompilerAspect]);
666
+ (0, _defineProperty2().default)(InstallMain, "dependencies", [_dependencyResolver().DependencyResolverAspect, _workspace().WorkspaceAspect, _logger().LoggerAspect, _variants().VariantsAspect, _cli().CLIAspect, _community().CommunityAspect, _importer().ImporterAspect, _compiler().CompilerAspect, _issues().IssuesAspect]);
623
667
  (0, _defineProperty2().default)(InstallMain, "runtime", _cli().MainRuntime);
624
668
 
625
669
  _install().InstallAspect.addRuntime(InstallMain);
@@ -1 +1 @@
1
- {"version":3,"names":["InstallMain","constructor","dependencyResolver","logger","workspace","variants","importer","compiler","install","packages","options","length","_addPackages","addMissingPeers","compDirMap","getComponentsDirectory","mergedRootPolicy","getWorkspacePolicy","depsFilterFn","generateFilterFnForDepsFromLocalRemote","pmInstallOptions","dedupe","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","dependencyFilterFn","overrides","config","packageImportMethod","missingPeers","getMissingPeerDependencies","path","missingPeerPackages","Object","entries","map","peerName","range","console","import","setStatusLine","importObjects","consoleSuccess","_installModules","lifecycleType","DependencyTypeNotSupportedInPolicy","debug","join","resolver","getVersionResolver","resolvedPackagesP","packageName","resolveRemoteVersion","rootDir","resolvedPackages","Promise","all","newWorkspacePolicyEntries","forEach","resolvedPackage","version","versionWithPrefix","getVersionWithSavePrefix","savePrefix","push","dependencyId","value","addToRootPolicy","updateExisting","persistConfig","chalk","cyan","getPackageManagerName","hasRootComponents","rootComponents","installer","getInstaller","current","_getComponentsManifests","prev","link","linkTeambitBit","legacyLink","linkCoreAspects","linkDepsResolvedFromEnv","linkNestedDepsInNM","linkOpts","isLegacy","consumer","componentLoader","clearComponentsCache","clearCache","installComponents","manifests","componentDirectoryMap","installTeambitBit","linkCoreAspectsAndLegacy","compileOnWorkspace","initiator","CompilationInitiator","Install","isEqual","dependencyInstaller","rootPolicy","installOptions","getComponentManifests","updateDependencies","componentConfigFiles","componentPoliciesById","_getComponentsWithDependencyPolicies","variantPatterns","raw","variantPoliciesByPatterns","_variantPatternsToDepPolicesDict","components","list","outdatedPkgs","getOutdatedPkgsFromPolicies","outdatedPkgsToUpdate","off","pickOutdatedPkgs","on","updatedVariants","updatedComponents","applyUpdates","_updateVariantsPolicies","updatedComponentConfigFiles","values","pick","_saveManyComponentConfigFiles","_reloadConsumer","allComponentIds","listIds","componentId","componentConfigFile","index","depResolverConfig","aspects","get","DependencyResolverAspect","id","toString","policy","variantPattern","extensions","updateVariantPolicies","setExtension","overrideExisting","Array","from","write","override","uninstallDependencies","removeFromRootPolicy","linker","getLinker","linkingOptions","compIds","res","fetchObject","importOptions","ids","objectsOnly","installNpmPackages","err","NothingToImport","undefined","remotes","scope","_legacyRemotes","reg","getRegistries","packageScopes","keys","scopes","dependencyList","filtered","filter","dep","ComponentDependency","isHub","some","startsWith","getMany","ComponentMap","as","component","componentDir","provider","loggerExt","cli","community","createLogger","installExt","ManyComponentsWriter","registerExternalInstaller","installOpts","commands","InstallCmd","UninstallCmd","UpdateCmd","LinkCommand","getDocsDomain","register","WorkspaceAspect","LoggerAspect","VariantsAspect","CLIAspect","CommunityAspect","ImporterAspect","CompilerAspect","MainRuntime","InstallAspect","addRuntime"],"sources":["install.main.runtime.ts"],"sourcesContent":["import { CommunityMain, CommunityAspect } from '@teambit/community';\nimport { CompilerMain, CompilerAspect, CompilationInitiator } from '@teambit/compiler';\nimport ManyComponentsWriter from '@teambit/legacy/dist/consumer/component-ops/many-components-writer';\nimport { CLIMain, CommandList, CLIAspect, MainRuntime } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { WorkspaceAspect, Workspace, ComponentConfigFile } from '@teambit/workspace';\nimport { pick, isEqual } from 'lodash';\nimport { ProjectManifest } from '@pnpm/types';\nimport { NothingToImport } from '@teambit/legacy/dist/consumer/exceptions';\nimport { VariantsMain, Patterns, VariantsAspect } from '@teambit/variants';\nimport { ComponentID, ComponentMap } from '@teambit/component';\nimport {\n WorkspaceDependencyLifecycleType,\n DependencyResolverMain,\n DependencyInstaller,\n DependencyResolverAspect,\n PackageManagerInstallOptions,\n ComponentDependency,\n VariantPolicyConfigObject,\n WorkspacePolicyEntry,\n LinkingOptions,\n LinkResults,\n DependencyList,\n OutdatedPkg,\n WorkspacePolicy,\n} from '@teambit/dependency-resolver';\nimport { ImporterAspect, ImporterMain, ImportOptions } from '@teambit/importer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\n\nimport { DependencyTypeNotSupportedInPolicy } from './exceptions';\nimport { InstallAspect } from './install.aspect';\nimport { pickOutdatedPkgs } from './pick-outdated-pkgs';\nimport { LinkCommand } from './link';\nimport InstallCmd from './install.cmd';\nimport UninstallCmd from './uninstall.cmd';\nimport UpdateCmd from './update.cmd';\n\nexport type WorkspaceLinkOptions = LinkingOptions;\n\nexport type WorkspaceInstallOptions = {\n addMissingPeers?: boolean;\n variants?: string;\n lifecycleType?: WorkspaceDependencyLifecycleType;\n dedupe: boolean;\n import: boolean;\n copyPeerToRuntimeOnRoot?: boolean;\n copyPeerToRuntimeOnComponents?: boolean;\n updateExisting: boolean;\n savePrefix?: string;\n};\n\nexport type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;\n\nexport class InstallMain {\n constructor(\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private workspace: Workspace,\n\n private variants: VariantsMain,\n\n private importer: ImporterMain,\n\n private compiler: CompilerMain\n ) {}\n /**\n * Install dependencies for all components in the workspace\n *\n * @returns\n * @memberof Workspace\n */\n async install(packages?: string[], options?: WorkspaceInstallOptions): Promise<ComponentMap<string>> {\n if (packages && packages.length) {\n await this._addPackages(packages, options);\n }\n if (options?.addMissingPeers) {\n const compDirMap = await this.getComponentsDirectory([]);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n const pmInstallOptions: PackageManagerInstallOptions = {\n dedupe: options?.dedupe,\n copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,\n copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,\n dependencyFilterFn: depsFilterFn,\n overrides: this.dependencyResolver.config.overrides,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n };\n const missingPeers = await this.dependencyResolver.getMissingPeerDependencies(\n this.workspace.path,\n mergedRootPolicy,\n compDirMap,\n pmInstallOptions\n );\n if (missingPeers) {\n const missingPeerPackages = Object.entries(missingPeers).map(([peerName, range]) => `${peerName}@${range}`);\n await this._addPackages(missingPeerPackages, options);\n } else {\n this.logger.console('No missing peer dependencies found.');\n }\n }\n if (options?.import) {\n this.logger.setStatusLine('importing missing objects');\n await this.importObjects();\n this.logger.consoleSuccess();\n }\n return this._installModules(options);\n }\n\n private async _addPackages(packages: string[], options?: WorkspaceInstallOptions) {\n if (!options?.variants && (options?.lifecycleType as string) === 'dev') {\n throw new DependencyTypeNotSupportedInPolicy(options?.lifecycleType as string);\n }\n this.logger.debug(`installing the following packages: ${packages.join()}`);\n const resolver = await this.dependencyResolver.getVersionResolver();\n const resolvedPackagesP = packages.map((packageName) =>\n resolver.resolveRemoteVersion(packageName, {\n rootDir: this.workspace.path,\n })\n );\n const resolvedPackages = await Promise.all(resolvedPackagesP);\n const newWorkspacePolicyEntries: WorkspacePolicyEntry[] = [];\n resolvedPackages.forEach((resolvedPackage) => {\n if (resolvedPackage.version) {\n const versionWithPrefix = this.dependencyResolver.getVersionWithSavePrefix(\n resolvedPackage.version,\n options?.savePrefix\n );\n newWorkspacePolicyEntries.push({\n dependencyId: resolvedPackage.packageName,\n value: {\n version: versionWithPrefix,\n },\n lifecycleType: options?.lifecycleType || 'runtime',\n });\n }\n });\n if (!options?.variants) {\n this.dependencyResolver.addToRootPolicy(newWorkspacePolicyEntries, {\n updateExisting: options?.updateExisting ?? false,\n });\n } else {\n // TODO: implement\n }\n await this.dependencyResolver.persistConfig(this.workspace.path);\n }\n\n private async _installModules(options?: ModulesInstallOptions): Promise<ComponentMap<string>> {\n this.logger.console(\n `installing dependencies in workspace using ${chalk.cyan(this.dependencyResolver.getPackageManagerName())}`\n );\n this.logger.debug(`installing dependencies in workspace with options`, options);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n const hasRootComponents = this.dependencyResolver.hasRootComponents();\n const pmInstallOptions: PackageManagerInstallOptions = {\n dedupe: !hasRootComponents && options?.dedupe,\n copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,\n copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,\n dependencyFilterFn: depsFilterFn,\n overrides: this.dependencyResolver.config.overrides,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n rootComponents: hasRootComponents,\n };\n // TODO: pass get install options\n const installer = this.dependencyResolver.getInstaller({});\n let current = await this._getComponentsManifests(installer, mergedRootPolicy, pmInstallOptions);\n let prev: typeof current;\n // TODO: this make duplicate\n // this.logger.consoleSuccess();\n // TODO: add the links results to the output\n await this.link({\n linkTeambitBit: true,\n legacyLink: true,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: false,\n });\n const linkOpts = {\n linkTeambitBit: false,\n legacyLink: true,\n linkCoreAspects: false,\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: !this.workspace.isLegacy && !hasRootComponents,\n };\n /* eslint-disable no-await-in-loop */\n do {\n this.workspace.consumer.componentLoader.clearComponentsCache();\n this.workspace.clearCache();\n await installer.installComponents(\n this.workspace.path,\n current.manifests,\n mergedRootPolicy,\n current.componentDirectoryMap,\n { installTeambitBit: false },\n pmInstallOptions\n );\n // Core aspects should be relinked after installation because Yarn removes all symlinks created not by Yarn.\n // If we don't link the core aspects immediately, the components will fail during load.\n await this.linkCoreAspectsAndLegacy({\n linkTeambitBit: false,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n });\n await this.compiler.compileOnWorkspace([], { initiator: CompilationInitiator.Install });\n await this.link(linkOpts);\n prev = current;\n current = await this._getComponentsManifests(installer, mergedRootPolicy, pmInstallOptions);\n } while (!isEqual(prev.manifests, current.manifests));\n /* eslint-enable no-await-in-loop */\n return current.componentDirectoryMap;\n }\n\n private async _getComponentsManifests(\n dependencyInstaller: DependencyInstaller,\n rootPolicy: WorkspacePolicy,\n installOptions: Pick<\n PackageManagerInstallOptions,\n 'dedupe' | 'dependencyFilterFn' | 'copyPeerToRuntimeOnComponents'\n >\n ): Promise<{\n componentDirectoryMap: ComponentMap<string>;\n manifests: Record<string, ProjectManifest>;\n }> {\n const componentDirectoryMap = await this.getComponentsDirectory([]);\n const manifests = await dependencyInstaller.getComponentManifests({\n ...installOptions,\n componentDirectoryMap,\n rootPolicy,\n rootDir: this.workspace.path,\n });\n return {\n componentDirectoryMap,\n manifests,\n };\n }\n\n /**\n * Updates out-of-date dependencies in the workspace.\n *\n * @param options.all {Boolean} updates all outdated dependencies without showing a prompt.\n */\n async updateDependencies(options: { all: boolean }) {\n const { componentConfigFiles, componentPoliciesById } = await this._getComponentsWithDependencyPolicies();\n const variantPatterns = this.variants.raw();\n const variantPoliciesByPatterns = this._variantPatternsToDepPolicesDict(variantPatterns);\n const components = await this.workspace.list();\n const outdatedPkgs = await this.dependencyResolver.getOutdatedPkgsFromPolicies({\n rootDir: this.workspace.path,\n variantPoliciesByPatterns,\n componentPoliciesById,\n components,\n });\n let outdatedPkgsToUpdate!: OutdatedPkg[];\n if (options.all) {\n outdatedPkgsToUpdate = outdatedPkgs;\n } else {\n this.logger.off();\n outdatedPkgsToUpdate = await pickOutdatedPkgs(outdatedPkgs);\n this.logger.on();\n }\n const { updatedVariants, updatedComponents } = this.dependencyResolver.applyUpdates(outdatedPkgsToUpdate, {\n variantPoliciesByPatterns,\n componentPoliciesById,\n });\n await this._updateVariantsPolicies(variantPatterns, updatedVariants);\n const updatedComponentConfigFiles = Object.values(pick(componentConfigFiles, updatedComponents));\n await this._saveManyComponentConfigFiles(updatedComponentConfigFiles);\n await this.workspace._reloadConsumer();\n return this._installModules({ dedupe: true });\n }\n\n private async _getComponentsWithDependencyPolicies() {\n const allComponentIds = await this.workspace.listIds();\n const componentConfigFiles: Record<string, ComponentConfigFile> = {};\n const componentPoliciesById: Record<string, any> = {};\n (\n await Promise.all<ComponentConfigFile | undefined>(\n allComponentIds.map((componentId) => this.workspace.componentConfigFile(componentId))\n )\n ).forEach((componentConfigFile, index) => {\n if (!componentConfigFile) return;\n const depResolverConfig = componentConfigFile.aspects.get(DependencyResolverAspect.id);\n if (!depResolverConfig) return;\n const componentId = allComponentIds[index].toString();\n componentConfigFiles[componentId] = componentConfigFile;\n componentPoliciesById[componentId] = depResolverConfig.config.policy;\n });\n return {\n componentConfigFiles,\n componentPoliciesById,\n };\n }\n\n private _variantPatternsToDepPolicesDict(variantPatterns: Patterns): Record<string, VariantPolicyConfigObject> {\n const variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject> = {};\n for (const [variantPattern, extensions] of Object.entries(variantPatterns)) {\n if (extensions[DependencyResolverAspect.id]?.policy) {\n variantPoliciesByPatterns[variantPattern] = extensions[DependencyResolverAspect.id]?.policy;\n }\n }\n return variantPoliciesByPatterns;\n }\n\n private _updateVariantsPolicies(variantPatterns: Record<string, any>, updateVariantPolicies: string[]) {\n for (const variantPattern of updateVariantPolicies) {\n this.variants.setExtension(\n variantPattern,\n DependencyResolverAspect.id,\n variantPatterns[variantPattern][DependencyResolverAspect.id],\n { overrideExisting: true }\n );\n }\n return this.dependencyResolver.persistConfig(this.workspace.path);\n }\n\n private async _saveManyComponentConfigFiles(componentConfigFiles: ComponentConfigFile[]) {\n await Promise.all(\n Array.from(componentConfigFiles).map(async (componentConfigFile) => {\n await componentConfigFile.write({ override: true });\n })\n );\n }\n\n /**\n * Uninstall the specified packages from dependencies.\n *\n * @param {string[]} the list of packages that should be removed from dependencies.\n */\n async uninstallDependencies(packages: string[]) {\n this.dependencyResolver.removeFromRootPolicy(packages);\n await this.dependencyResolver.persistConfig(this.workspace.path);\n return this._installModules({ dedupe: true });\n }\n\n async linkCoreAspectsAndLegacy(options: WorkspaceLinkOptions = {}) {\n const linker = this.dependencyResolver.getLinker({\n rootDir: this.workspace.path,\n linkingOptions: options,\n });\n const compIds = await this.workspace.listIds();\n const res = await linker.linkCoreAspectsAndLegacy(this.workspace.path, compIds, options);\n return res;\n }\n\n async link(options: WorkspaceLinkOptions = {}): Promise<LinkResults> {\n if (options.fetchObject) {\n await this.importObjects();\n }\n options.consumer = this.workspace.consumer;\n const compDirMap = await this.getComponentsDirectory([]);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const linker = this.dependencyResolver.getLinker({\n rootDir: this.workspace.path,\n linkingOptions: options,\n });\n const res = await linker.link(this.workspace.path, mergedRootPolicy, compDirMap, options);\n return res;\n }\n\n // TODO: replace with a proper import API on the workspace\n private async importObjects() {\n const importOptions: ImportOptions = {\n ids: [],\n objectsOnly: true,\n installNpmPackages: false,\n };\n try {\n const res = await this.importer.import(importOptions, []);\n return res;\n } catch (err: any) {\n // TODO: this is a hack since the legacy throw an error, we should provide a way to not throw this error from the legacy\n if (err instanceof NothingToImport) {\n // Do not write nothing to import warning\n return undefined;\n }\n throw err;\n }\n }\n\n /**\n * Generate a filter to pass to the installer\n * This will filter deps which are come from remotes which defined in scope.json\n * those components comes from local remotes, usually doesn't have a package in a registry\n * so no reason to try to install them (it will fail)\n */\n private async generateFilterFnForDepsFromLocalRemote() {\n // TODO: once scope create a new API for this, replace it with the new one\n const remotes = await this.workspace.scope._legacyRemotes();\n const reg = await this.dependencyResolver.getRegistries();\n const packageScopes = Object.keys(reg.scopes);\n return (dependencyList: DependencyList): DependencyList => {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n return true;\n }\n if (remotes.isHub(dep.componentId.scope)) {\n return true;\n }\n if (packageScopes.some((scope) => dep.packageName.startsWith(`@${scope}/`))) {\n return true;\n }\n return false;\n });\n return filtered;\n };\n }\n\n private async getComponentsDirectory(ids: ComponentID[]): Promise<ComponentMap<string>> {\n const components = ids.length ? await this.workspace.getMany(ids) : await this.workspace.list();\n return ComponentMap.as<string>(components, (component) => this.workspace.componentDir(component.id));\n }\n\n static slots = [];\n static dependencies = [\n DependencyResolverAspect,\n WorkspaceAspect,\n LoggerAspect,\n VariantsAspect,\n CLIAspect,\n CommunityAspect,\n ImporterAspect,\n CompilerAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider([dependencyResolver, workspace, loggerExt, variants, cli, community, importer, compiler]: [\n DependencyResolverMain,\n Workspace,\n LoggerMain,\n VariantsMain,\n CLIMain,\n CommunityMain,\n ImporterMain,\n CompilerMain\n ]) {\n const logger = loggerExt.createLogger('teambit.bit/install');\n const installExt = new InstallMain(dependencyResolver, logger, workspace, variants, importer, compiler);\n ManyComponentsWriter.registerExternalInstaller({\n install: async () => {\n // TODO: think how we should pass this options\n const installOpts: WorkspaceInstallOptions = {\n dedupe: true,\n updateExisting: false,\n import: false,\n };\n return installExt.install(undefined, installOpts);\n },\n });\n const commands: CommandList = [\n new InstallCmd(installExt, workspace, logger),\n new UninstallCmd(installExt),\n new UpdateCmd(installExt),\n new LinkCommand(installExt, workspace, logger, community.getDocsDomain()),\n ];\n cli.register(...commands);\n return installExt;\n }\n}\n\nInstallAspect.addRuntime(InstallMain);\n\nexport default InstallMain;\n"],"mappings":"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"}
1
+ {"version":3,"names":["InstallMain","constructor","dependencyResolver","logger","workspace","variants","importer","compiler","install","packages","options","length","_addPackages","addMissingPeers","compDirMap","getComponentsDirectory","mergedRootPolicy","getWorkspacePolicy","depsFilterFn","generateFilterFnForDepsFromLocalRemote","pmInstallOptions","dedupe","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","dependencyFilterFn","overrides","config","packageImportMethod","missingPeers","getMissingPeerDependencies","path","missingPeerPackages","Object","entries","map","peerName","range","console","import","setStatusLine","importObjects","consoleSuccess","_installModules","lifecycleType","DependencyTypeNotSupportedInPolicy","debug","join","resolver","getVersionResolver","resolvedPackagesP","packageName","resolveRemoteVersion","rootDir","resolvedPackages","Promise","all","newWorkspacePolicyEntries","forEach","resolvedPackage","version","versionWithPrefix","getVersionWithSavePrefix","savePrefix","push","dependencyId","value","addToRootPolicy","updateExisting","persistConfig","chalk","cyan","getPackageManagerName","hasRootComponents","rootComponents","installer","getInstaller","current","_getComponentsManifests","prev","link","linkTeambitBit","legacyLink","linkCoreAspects","linkDepsResolvedFromEnv","linkNestedDepsInNM","linkOpts","isLegacy","consumer","componentLoader","clearComponentsCache","clearCache","installComponents","manifests","componentDirectoryMap","installTeambitBit","linkCoreAspectsAndLegacy","compileOnWorkspace","initiator","CompilationInitiator","Install","isEqual","dependencyInstaller","rootPolicy","installOptions","getComponentManifests","updateDependencies","componentConfigFiles","componentPoliciesById","_getComponentsWithDependencyPolicies","variantPatterns","raw","variantPoliciesByPatterns","_variantPatternsToDepPolicesDict","components","list","outdatedPkgs","getOutdatedPkgsFromPolicies","outdatedPkgsToUpdate","off","pickOutdatedPkgs","on","updatedVariants","updatedComponents","applyUpdates","_updateVariantsPolicies","updatedComponentConfigFiles","values","pick","_saveManyComponentConfigFiles","_reloadConsumer","addDuplicateComponentAndPackageIssue","workspacePolicy","component","pkgName","componentIdToPackageName","state","_consumer","found","find","issues","getOrCreate","IssuesClasses","DuplicateComponentAndPackage","data","allComponentIds","listIds","componentId","componentConfigFile","index","depResolverConfig","aspects","get","DependencyResolverAspect","id","toString","policy","variantPattern","extensions","updateVariantPolicies","setExtension","overrideExisting","Array","from","write","override","uninstallDependencies","removeFromRootPolicy","linker","getLinker","linkingOptions","compIds","res","fetchObject","importOptions","ids","objectsOnly","installNpmPackages","err","NothingToImport","remotes","scope","_legacyRemotes","reg","getRegistries","packageScopes","keys","scopes","dependencyList","filtered","filter","dep","ComponentDependency","isHub","some","startsWith","getMany","ComponentMap","as","componentDir","provider","loggerExt","cli","community","createLogger","installExt","ManyComponentsWriter","registerExternalInstaller","installOpts","undefined","registerAddComponentsIssues","bind","commands","InstallCmd","UninstallCmd","UpdateCmd","LinkCommand","getDocsDomain","register","WorkspaceAspect","LoggerAspect","VariantsAspect","CLIAspect","CommunityAspect","ImporterAspect","CompilerAspect","IssuesAspect","MainRuntime","InstallAspect","addRuntime"],"sources":["install.main.runtime.ts"],"sourcesContent":["import { CommunityMain, CommunityAspect } from '@teambit/community';\nimport { CompilerMain, CompilerAspect, CompilationInitiator } from '@teambit/compiler';\nimport ManyComponentsWriter from '@teambit/legacy/dist/consumer/component-ops/many-components-writer';\nimport { CLIMain, CommandList, CLIAspect, MainRuntime } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { WorkspaceAspect, Workspace, ComponentConfigFile } from '@teambit/workspace';\nimport { pick, isEqual } from 'lodash';\nimport { ProjectManifest } from '@pnpm/types';\nimport { NothingToImport } from '@teambit/legacy/dist/consumer/exceptions';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { VariantsMain, Patterns, VariantsAspect } from '@teambit/variants';\nimport { Component, ComponentID, ComponentMap } from '@teambit/component';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport {\n WorkspaceDependencyLifecycleType,\n DependencyResolverMain,\n DependencyInstaller,\n DependencyResolverAspect,\n PackageManagerInstallOptions,\n ComponentDependency,\n VariantPolicyConfigObject,\n WorkspacePolicyEntry,\n LinkingOptions,\n LinkResults,\n DependencyList,\n OutdatedPkg,\n WorkspacePolicy,\n} from '@teambit/dependency-resolver';\nimport { ImporterAspect, ImporterMain, ImportOptions } from '@teambit/importer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport { DependencyTypeNotSupportedInPolicy } from './exceptions';\nimport { InstallAspect } from './install.aspect';\nimport { pickOutdatedPkgs } from './pick-outdated-pkgs';\nimport { LinkCommand } from './link';\nimport InstallCmd from './install.cmd';\nimport UninstallCmd from './uninstall.cmd';\nimport UpdateCmd from './update.cmd';\n\nexport type WorkspaceLinkOptions = LinkingOptions;\n\nexport type WorkspaceInstallOptions = {\n addMissingPeers?: boolean;\n variants?: string;\n lifecycleType?: WorkspaceDependencyLifecycleType;\n dedupe: boolean;\n import: boolean;\n copyPeerToRuntimeOnRoot?: boolean;\n copyPeerToRuntimeOnComponents?: boolean;\n updateExisting: boolean;\n savePrefix?: string;\n};\n\nexport type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;\n\nexport class InstallMain {\n constructor(\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private workspace: Workspace,\n\n private variants: VariantsMain,\n\n private importer: ImporterMain,\n\n private compiler: CompilerMain\n ) {}\n /**\n * Install dependencies for all components in the workspace\n *\n * @returns\n * @memberof Workspace\n */\n async install(packages?: string[], options?: WorkspaceInstallOptions): Promise<ComponentMap<string>> {\n if (packages && packages.length) {\n await this._addPackages(packages, options);\n }\n if (options?.addMissingPeers) {\n const compDirMap = await this.getComponentsDirectory([]);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n const pmInstallOptions: PackageManagerInstallOptions = {\n dedupe: options?.dedupe,\n copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,\n copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,\n dependencyFilterFn: depsFilterFn,\n overrides: this.dependencyResolver.config.overrides,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n };\n const missingPeers = await this.dependencyResolver.getMissingPeerDependencies(\n this.workspace.path,\n mergedRootPolicy,\n compDirMap,\n pmInstallOptions\n );\n if (missingPeers) {\n const missingPeerPackages = Object.entries(missingPeers).map(([peerName, range]) => `${peerName}@${range}`);\n await this._addPackages(missingPeerPackages, options);\n } else {\n this.logger.console('No missing peer dependencies found.');\n }\n }\n if (options?.import) {\n this.logger.setStatusLine('importing missing objects');\n await this.importObjects();\n this.logger.consoleSuccess();\n }\n return this._installModules(options);\n }\n\n private async _addPackages(packages: string[], options?: WorkspaceInstallOptions) {\n if (!options?.variants && (options?.lifecycleType as string) === 'dev') {\n throw new DependencyTypeNotSupportedInPolicy(options?.lifecycleType as string);\n }\n this.logger.debug(`installing the following packages: ${packages.join()}`);\n const resolver = await this.dependencyResolver.getVersionResolver();\n const resolvedPackagesP = packages.map((packageName) =>\n resolver.resolveRemoteVersion(packageName, {\n rootDir: this.workspace.path,\n })\n );\n const resolvedPackages = await Promise.all(resolvedPackagesP);\n const newWorkspacePolicyEntries: WorkspacePolicyEntry[] = [];\n resolvedPackages.forEach((resolvedPackage) => {\n if (resolvedPackage.version) {\n const versionWithPrefix = this.dependencyResolver.getVersionWithSavePrefix(\n resolvedPackage.version,\n options?.savePrefix\n );\n newWorkspacePolicyEntries.push({\n dependencyId: resolvedPackage.packageName,\n value: {\n version: versionWithPrefix,\n },\n lifecycleType: options?.lifecycleType || 'runtime',\n });\n }\n });\n if (!options?.variants) {\n this.dependencyResolver.addToRootPolicy(newWorkspacePolicyEntries, {\n updateExisting: options?.updateExisting ?? false,\n });\n } else {\n // TODO: implement\n }\n await this.dependencyResolver.persistConfig(this.workspace.path);\n }\n\n private async _installModules(options?: ModulesInstallOptions): Promise<ComponentMap<string>> {\n this.logger.console(\n `installing dependencies in workspace using ${chalk.cyan(this.dependencyResolver.getPackageManagerName())}`\n );\n this.logger.debug(`installing dependencies in workspace with options`, options);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n const hasRootComponents = this.dependencyResolver.hasRootComponents();\n const pmInstallOptions: PackageManagerInstallOptions = {\n dedupe: !hasRootComponents && options?.dedupe,\n copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,\n copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,\n dependencyFilterFn: depsFilterFn,\n overrides: this.dependencyResolver.config.overrides,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n rootComponents: hasRootComponents,\n };\n // TODO: pass get install options\n const installer = this.dependencyResolver.getInstaller({});\n let current = await this._getComponentsManifests(installer, mergedRootPolicy, pmInstallOptions);\n let prev: typeof current;\n // TODO: this make duplicate\n // this.logger.consoleSuccess();\n // TODO: add the links results to the output\n await this.link({\n linkTeambitBit: true,\n legacyLink: true,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: false,\n });\n const linkOpts = {\n linkTeambitBit: false,\n legacyLink: true,\n linkCoreAspects: false,\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: !this.workspace.isLegacy && !hasRootComponents,\n };\n /* eslint-disable no-await-in-loop */\n do {\n this.workspace.consumer.componentLoader.clearComponentsCache();\n this.workspace.clearCache();\n await installer.installComponents(\n this.workspace.path,\n current.manifests,\n mergedRootPolicy,\n current.componentDirectoryMap,\n { installTeambitBit: false },\n pmInstallOptions\n );\n // Core aspects should be relinked after installation because Yarn removes all symlinks created not by Yarn.\n // If we don't link the core aspects immediately, the components will fail during load.\n await this.linkCoreAspectsAndLegacy({\n linkTeambitBit: false,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n });\n await this.compiler.compileOnWorkspace([], { initiator: CompilationInitiator.Install });\n await this.link(linkOpts);\n prev = current;\n current = await this._getComponentsManifests(installer, mergedRootPolicy, pmInstallOptions);\n } while (!isEqual(prev.manifests, current.manifests));\n /* eslint-enable no-await-in-loop */\n return current.componentDirectoryMap;\n }\n\n private async _getComponentsManifests(\n dependencyInstaller: DependencyInstaller,\n rootPolicy: WorkspacePolicy,\n installOptions: Pick<\n PackageManagerInstallOptions,\n 'dedupe' | 'dependencyFilterFn' | 'copyPeerToRuntimeOnComponents'\n >\n ): Promise<{\n componentDirectoryMap: ComponentMap<string>;\n manifests: Record<string, ProjectManifest>;\n }> {\n const componentDirectoryMap = await this.getComponentsDirectory([]);\n const manifests = await dependencyInstaller.getComponentManifests({\n ...installOptions,\n componentDirectoryMap,\n rootPolicy,\n rootDir: this.workspace.path,\n });\n return {\n componentDirectoryMap,\n manifests,\n };\n }\n\n /**\n * Updates out-of-date dependencies in the workspace.\n *\n * @param options.all {Boolean} updates all outdated dependencies without showing a prompt.\n */\n async updateDependencies(options: { all: boolean }) {\n const { componentConfigFiles, componentPoliciesById } = await this._getComponentsWithDependencyPolicies();\n const variantPatterns = this.variants.raw();\n const variantPoliciesByPatterns = this._variantPatternsToDepPolicesDict(variantPatterns);\n const components = await this.workspace.list();\n const outdatedPkgs = await this.dependencyResolver.getOutdatedPkgsFromPolicies({\n rootDir: this.workspace.path,\n variantPoliciesByPatterns,\n componentPoliciesById,\n components,\n });\n let outdatedPkgsToUpdate!: OutdatedPkg[];\n if (options.all) {\n outdatedPkgsToUpdate = outdatedPkgs;\n } else {\n this.logger.off();\n outdatedPkgsToUpdate = await pickOutdatedPkgs(outdatedPkgs);\n this.logger.on();\n }\n const { updatedVariants, updatedComponents } = this.dependencyResolver.applyUpdates(outdatedPkgsToUpdate, {\n variantPoliciesByPatterns,\n componentPoliciesById,\n });\n await this._updateVariantsPolicies(variantPatterns, updatedVariants);\n const updatedComponentConfigFiles = Object.values(pick(componentConfigFiles, updatedComponents));\n await this._saveManyComponentConfigFiles(updatedComponentConfigFiles);\n await this.workspace._reloadConsumer();\n return this._installModules({ dedupe: true });\n }\n\n async addDuplicateComponentAndPackageIssue(components: Component[]) {\n const workspacePolicy = this.dependencyResolver.getWorkspacePolicy();\n components.forEach((component) => {\n const pkgName = componentIdToPackageName(component.state._consumer);\n const found = workspacePolicy.find(pkgName);\n if (found) {\n component.state.issues.getOrCreate(IssuesClasses.DuplicateComponentAndPackage).data = found.dependencyId;\n }\n });\n }\n\n private async _getComponentsWithDependencyPolicies() {\n const allComponentIds = await this.workspace.listIds();\n const componentConfigFiles: Record<string, ComponentConfigFile> = {};\n const componentPoliciesById: Record<string, any> = {};\n (\n await Promise.all<ComponentConfigFile | undefined>(\n allComponentIds.map((componentId) => this.workspace.componentConfigFile(componentId))\n )\n ).forEach((componentConfigFile, index) => {\n if (!componentConfigFile) return;\n const depResolverConfig = componentConfigFile.aspects.get(DependencyResolverAspect.id);\n if (!depResolverConfig) return;\n const componentId = allComponentIds[index].toString();\n componentConfigFiles[componentId] = componentConfigFile;\n componentPoliciesById[componentId] = depResolverConfig.config.policy;\n });\n return {\n componentConfigFiles,\n componentPoliciesById,\n };\n }\n\n private _variantPatternsToDepPolicesDict(variantPatterns: Patterns): Record<string, VariantPolicyConfigObject> {\n const variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject> = {};\n for (const [variantPattern, extensions] of Object.entries(variantPatterns)) {\n if (extensions[DependencyResolverAspect.id]?.policy) {\n variantPoliciesByPatterns[variantPattern] = extensions[DependencyResolverAspect.id]?.policy;\n }\n }\n return variantPoliciesByPatterns;\n }\n\n private _updateVariantsPolicies(variantPatterns: Record<string, any>, updateVariantPolicies: string[]) {\n for (const variantPattern of updateVariantPolicies) {\n this.variants.setExtension(\n variantPattern,\n DependencyResolverAspect.id,\n variantPatterns[variantPattern][DependencyResolverAspect.id],\n { overrideExisting: true }\n );\n }\n return this.dependencyResolver.persistConfig(this.workspace.path);\n }\n\n private async _saveManyComponentConfigFiles(componentConfigFiles: ComponentConfigFile[]) {\n await Promise.all(\n Array.from(componentConfigFiles).map(async (componentConfigFile) => {\n await componentConfigFile.write({ override: true });\n })\n );\n }\n\n /**\n * Uninstall the specified packages from dependencies.\n *\n * @param {string[]} the list of packages that should be removed from dependencies.\n */\n async uninstallDependencies(packages: string[]) {\n this.dependencyResolver.removeFromRootPolicy(packages);\n await this.dependencyResolver.persistConfig(this.workspace.path);\n return this._installModules({ dedupe: true });\n }\n\n async linkCoreAspectsAndLegacy(options: WorkspaceLinkOptions = {}) {\n const linker = this.dependencyResolver.getLinker({\n rootDir: this.workspace.path,\n linkingOptions: options,\n });\n const compIds = await this.workspace.listIds();\n const res = await linker.linkCoreAspectsAndLegacy(this.workspace.path, compIds, options);\n return res;\n }\n\n async link(options: WorkspaceLinkOptions = {}): Promise<LinkResults> {\n if (options.fetchObject) {\n await this.importObjects();\n }\n options.consumer = this.workspace.consumer;\n const compDirMap = await this.getComponentsDirectory([]);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const linker = this.dependencyResolver.getLinker({\n rootDir: this.workspace.path,\n linkingOptions: options,\n });\n const res = await linker.link(this.workspace.path, mergedRootPolicy, compDirMap, options);\n return res;\n }\n\n private async importObjects() {\n const importOptions: ImportOptions = {\n ids: [],\n objectsOnly: true,\n installNpmPackages: false,\n };\n try {\n await this.importer.import(importOptions, []);\n } catch (err: any) {\n // TODO: this is a hack since the legacy throw an error, we should provide a way to not throw this error from the legacy\n if (err instanceof NothingToImport) {\n // Do not write nothing to import warning\n return;\n }\n throw err;\n }\n }\n\n /**\n * Generate a filter to pass to the installer\n * This will filter deps which are come from remotes which defined in scope.json\n * those components comes from local remotes, usually doesn't have a package in a registry\n * so no reason to try to install them (it will fail)\n */\n private async generateFilterFnForDepsFromLocalRemote() {\n // TODO: once scope create a new API for this, replace it with the new one\n const remotes = await this.workspace.scope._legacyRemotes();\n const reg = await this.dependencyResolver.getRegistries();\n const packageScopes = Object.keys(reg.scopes);\n return (dependencyList: DependencyList): DependencyList => {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n return true;\n }\n if (remotes.isHub(dep.componentId.scope)) {\n return true;\n }\n if (packageScopes.some((scope) => dep.packageName.startsWith(`@${scope}/`))) {\n return true;\n }\n return false;\n });\n return filtered;\n };\n }\n\n private async getComponentsDirectory(ids: ComponentID[]): Promise<ComponentMap<string>> {\n const components = ids.length ? await this.workspace.getMany(ids) : await this.workspace.list();\n return ComponentMap.as<string>(components, (component) => this.workspace.componentDir(component.id));\n }\n\n static slots = [];\n static dependencies = [\n DependencyResolverAspect,\n WorkspaceAspect,\n LoggerAspect,\n VariantsAspect,\n CLIAspect,\n CommunityAspect,\n ImporterAspect,\n CompilerAspect,\n IssuesAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider([\n dependencyResolver,\n workspace,\n loggerExt,\n variants,\n cli,\n community,\n importer,\n compiler,\n issues,\n ]: [\n DependencyResolverMain,\n Workspace,\n LoggerMain,\n VariantsMain,\n CLIMain,\n CommunityMain,\n ImporterMain,\n CompilerMain,\n IssuesMain\n ]) {\n const logger = loggerExt.createLogger('teambit.bit/install');\n const installExt = new InstallMain(dependencyResolver, logger, workspace, variants, importer, compiler);\n ManyComponentsWriter.registerExternalInstaller({\n install: async () => {\n // TODO: think how we should pass this options\n const installOpts: WorkspaceInstallOptions = {\n dedupe: true,\n updateExisting: false,\n import: false,\n };\n return installExt.install(undefined, installOpts);\n },\n });\n if (issues) {\n issues.registerAddComponentsIssues(installExt.addDuplicateComponentAndPackageIssue.bind(installExt));\n }\n const commands: CommandList = [\n new InstallCmd(installExt, workspace, logger),\n new UninstallCmd(installExt),\n new UpdateCmd(installExt),\n new LinkCommand(installExt, workspace, logger, community.getDocsDomain()),\n ];\n cli.register(...commands);\n return installExt;\n }\n}\n\nInstallAspect.addRuntime(InstallMain);\n\nexport default InstallMain;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/install",
3
- "version": "0.0.26",
3
+ "version": "0.0.28",
4
4
  "homepage": "https://bit.dev/teambit/workspace/install",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.workspace",
8
8
  "name": "install",
9
- "version": "0.0.26"
9
+ "version": "0.0.28"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -20,6 +20,7 @@
20
20
  "@babel/runtime": "7.12.18",
21
21
  "core-js": "^3.0.0",
22
22
  "@teambit/harmony": "0.3.3",
23
+ "@teambit/component-issues": "0.0.73",
23
24
  "@teambit/bit-error": "0.0.400",
24
25
  "@teambit/toolbox.time.time-format": "0.0.489"
25
26
  },
@@ -34,7 +35,7 @@
34
35
  "@types/node": "12.20.4"
35
36
  },
36
37
  "peerDependencies": {
37
- "@teambit/legacy": "1.0.370",
38
+ "@teambit/legacy": "1.0.374",
38
39
  "react-dom": "^16.8.0 || ^17.0.0",
39
40
  "react": "^16.8.0 || ^17.0.0"
40
41
  },