@teambit/install 0.0.12 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  import { CommunityMain } from '@teambit/community';
2
+ import { CompilerMain } from '@teambit/compiler';
2
3
  import { CLIMain } from '@teambit/cli';
3
4
  import { Workspace } from '@teambit/workspace';
4
5
  import { VariantsMain } from '@teambit/variants';
@@ -25,7 +26,8 @@ export declare class InstallMain {
25
26
  private workspace;
26
27
  private variants;
27
28
  private importer;
28
- constructor(dependencyResolver: DependencyResolverMain, logger: Logger, workspace: Workspace, variants: VariantsMain, importer: ImporterMain);
29
+ private compiler;
30
+ constructor(dependencyResolver: DependencyResolverMain, logger: Logger, workspace: Workspace, variants: VariantsMain, importer: ImporterMain, compiler: CompilerMain);
29
31
  /**
30
32
  * Install dependencies for all components in the workspace
31
33
  *
@@ -35,6 +37,7 @@ export declare class InstallMain {
35
37
  install(packages?: string[], options?: WorkspaceInstallOptions): Promise<ComponentMap<string>>;
36
38
  private _addPackages;
37
39
  private _installModules;
40
+ private _getComponentsManifests;
38
41
  /**
39
42
  * Updates out-of-date dependencies in the workspace.
40
43
  *
@@ -53,6 +56,7 @@ export declare class InstallMain {
53
56
  * @param {string[]} the list of packages that should be removed from dependencies.
54
57
  */
55
58
  uninstallDependencies(packages: string[]): Promise<ComponentMap<string>>;
59
+ linkCoreAspectsAndLegacy(options?: WorkspaceLinkOptions): Promise<LinkResults>;
56
60
  link(options?: WorkspaceLinkOptions): Promise<LinkResults>;
57
61
  private importObjects;
58
62
  /**
@@ -66,14 +70,15 @@ export declare class InstallMain {
66
70
  static slots: never[];
67
71
  static dependencies: import("@teambit/harmony").Aspect[];
68
72
  static runtime: import("@teambit/harmony").RuntimeDefinition;
69
- static provider([dependencyResolver, workspace, loggerExt, variants, cli, community, importer]: [
73
+ static provider([dependencyResolver, workspace, loggerExt, variants, cli, community, importer, compiler]: [
70
74
  DependencyResolverMain,
71
75
  Workspace,
72
76
  LoggerMain,
73
77
  VariantsMain,
74
78
  CLIMain,
75
79
  CommunityMain,
76
- ImporterMain
80
+ ImporterMain,
81
+ CompilerMain
77
82
  ]): Promise<InstallMain>;
78
83
  }
79
84
  export default InstallMain;
@@ -31,6 +31,16 @@ function _community() {
31
31
  return data;
32
32
  }
33
33
 
34
+ function _compiler() {
35
+ const data = require("@teambit/compiler");
36
+
37
+ _compiler = function () {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
34
44
  function _manyComponentsWriter() {
35
45
  const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component-ops/many-components-writer"));
36
46
 
@@ -211,13 +221,18 @@ function _update() {
211
221
  return data;
212
222
  }
213
223
 
224
+ 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; }
225
+
226
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
227
+
214
228
  class InstallMain {
215
- constructor(dependencyResolver, logger, workspace, variants, importer) {
229
+ constructor(dependencyResolver, logger, workspace, variants, importer, compiler) {
216
230
  this.dependencyResolver = dependencyResolver;
217
231
  this.logger = logger;
218
232
  this.workspace = workspace;
219
233
  this.variants = variants;
220
234
  this.importer = importer;
235
+ this.compiler = compiler;
221
236
  }
222
237
  /**
223
238
  * Install dependencies for all components in the workspace
@@ -307,24 +322,9 @@ class InstallMain {
307
322
 
308
323
  this.logger.console(`installing dependencies in workspace using ${_chalk().default.cyan(this.dependencyResolver.getPackageManagerName())}`);
309
324
  this.logger.debug(`installing dependencies in workspace with options`, options);
310
- const hasRootComponents = this.dependencyResolver.hasRootComponents(); // TODO: this make duplicate
311
- // this.logger.consoleSuccess();
312
- // TODO: add the links results to the output
313
-
314
- await this.link({
315
- linkTeambitBit: true,
316
- legacyLink: true,
317
- linkCoreAspects: false,
318
- linkDepsResolvedFromEnv: !hasRootComponents,
319
- linkNestedDepsInNM: false
320
- });
321
- this.workspace.consumer.componentLoader.clearComponentsCache();
322
- this.workspace.clearCache(); // TODO: pass get install options
323
-
324
- const installer = this.dependencyResolver.getInstaller({});
325
- const compDirMap = await this.getComponentsDirectory([]);
326
325
  const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();
327
326
  const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();
327
+ const hasRootComponents = this.dependencyResolver.hasRootComponents();
328
328
  const pmInstallOptions = {
329
329
  dedupe: !hasRootComponents && (options === null || options === void 0 ? void 0 : options.dedupe),
330
330
  copyPeerToRuntimeOnRoot: (_options$copyPeerToRu3 = options === null || options === void 0 ? void 0 : options.copyPeerToRuntimeOnRoot) !== null && _options$copyPeerToRu3 !== void 0 ? _options$copyPeerToRu3 : true,
@@ -333,19 +333,66 @@ class InstallMain {
333
333
  overrides: this.dependencyResolver.config.overrides,
334
334
  packageImportMethod: this.dependencyResolver.config.packageImportMethod,
335
335
  rootComponents: hasRootComponents
336
- };
337
- await installer.install(this.workspace.path, mergedRootPolicy, compDirMap, {
338
- installTeambitBit: false
339
- }, pmInstallOptions);
336
+ }; // TODO: pass get install options
337
+
338
+ const installer = this.dependencyResolver.getInstaller({});
339
+ let current = await this._getComponentsManifests(installer, mergedRootPolicy, pmInstallOptions);
340
+ let prev; // TODO: this make duplicate
341
+ // this.logger.consoleSuccess();
342
+ // TODO: add the links results to the output
343
+
340
344
  await this.link({
341
- linkTeambitBit: false,
345
+ linkTeambitBit: true,
342
346
  legacyLink: true,
343
347
  linkCoreAspects: this.dependencyResolver.linkCoreAspects(),
344
348
  linkDepsResolvedFromEnv: !hasRootComponents,
345
- linkNestedDepsInNM: !this.workspace.isLegacy && !hasRootComponents
349
+ linkNestedDepsInNM: false
346
350
  });
347
- await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();
348
- return compDirMap;
351
+ const linkOpts = {
352
+ linkTeambitBit: false,
353
+ legacyLink: true,
354
+ linkCoreAspects: false,
355
+ linkDepsResolvedFromEnv: !hasRootComponents,
356
+ linkNestedDepsInNM: !this.workspace.isLegacy && !hasRootComponents
357
+ };
358
+ /* eslint-disable no-await-in-loop */
359
+
360
+ do {
361
+ this.workspace.consumer.componentLoader.clearComponentsCache();
362
+ this.workspace.clearCache();
363
+ await installer.installComponents(this.workspace.path, current.manifests, mergedRootPolicy, current.componentDirectoryMap, {
364
+ installTeambitBit: false
365
+ }, pmInstallOptions); // Core aspects should be relinked after installation because Yarn removes all symlinks created not by Yarn.
366
+ // If we don't link the core aspects immediately, the components will fail during load.
367
+
368
+ await this.linkCoreAspectsAndLegacy({
369
+ linkTeambitBit: false,
370
+ linkCoreAspects: this.dependencyResolver.linkCoreAspects()
371
+ });
372
+ await this.compiler.compileOnWorkspace([], {
373
+ initiator: _compiler().CompilationInitiator.Install
374
+ });
375
+ await this.link(linkOpts);
376
+ prev = current;
377
+ current = await this._getComponentsManifests(installer, mergedRootPolicy, pmInstallOptions);
378
+ } while (!(0, _lodash().isEqual)(prev.manifests, current.manifests));
379
+ /* eslint-enable no-await-in-loop */
380
+
381
+
382
+ return current.componentDirectoryMap;
383
+ }
384
+
385
+ async _getComponentsManifests(dependencyInstaller, rootPolicy, installOptions) {
386
+ const componentDirectoryMap = await this.getComponentsDirectory([]);
387
+ const manifests = await dependencyInstaller.getComponentManifests(_objectSpread(_objectSpread({}, installOptions), {}, {
388
+ componentDirectoryMap,
389
+ rootPolicy,
390
+ rootDir: this.workspace.path
391
+ }));
392
+ return {
393
+ componentDirectoryMap,
394
+ manifests
395
+ };
349
396
  }
350
397
  /**
351
398
  * Updates out-of-date dependencies in the workspace.
@@ -462,6 +509,16 @@ class InstallMain {
462
509
  });
463
510
  }
464
511
 
512
+ async linkCoreAspectsAndLegacy(options = {}) {
513
+ const linker = this.dependencyResolver.getLinker({
514
+ rootDir: this.workspace.path,
515
+ linkingOptions: options
516
+ });
517
+ const compIds = await this.workspace.listIds();
518
+ const res = await linker.linkCoreAspectsAndLegacy(this.workspace.path, compIds, options);
519
+ return res;
520
+ }
521
+
465
522
  async link(options = {}) {
466
523
  if (options.fetchObject) {
467
524
  await this.importObjects();
@@ -537,9 +594,9 @@ class InstallMain {
537
594
  return _component().ComponentMap.as(components, component => this.workspace.componentDir(component.id));
538
595
  }
539
596
 
540
- static async provider([dependencyResolver, workspace, loggerExt, variants, cli, community, importer]) {
597
+ static async provider([dependencyResolver, workspace, loggerExt, variants, cli, community, importer, compiler]) {
541
598
  const logger = loggerExt.createLogger('teambit.bit/install');
542
- const installExt = new InstallMain(dependencyResolver, logger, workspace, variants, importer);
599
+ const installExt = new InstallMain(dependencyResolver, logger, workspace, variants, importer, compiler);
543
600
 
544
601
  _manyComponentsWriter().default.registerExternalInstaller({
545
602
  install: async () => {
@@ -562,7 +619,7 @@ class InstallMain {
562
619
 
563
620
  exports.InstallMain = InstallMain;
564
621
  (0, _defineProperty2().default)(InstallMain, "slots", []);
565
- (0, _defineProperty2().default)(InstallMain, "dependencies", [_dependencyResolver().DependencyResolverAspect, _workspace().WorkspaceAspect, _logger().LoggerAspect, _variants().VariantsAspect, _cli().CLIAspect, _community().CommunityAspect, _importer().ImporterAspect]);
622
+ (0, _defineProperty2().default)(InstallMain, "dependencies", [_dependencyResolver().DependencyResolverAspect, _workspace().WorkspaceAspect, _logger().LoggerAspect, _variants().VariantsAspect, _cli().CLIAspect, _community().CommunityAspect, _importer().ImporterAspect, _compiler().CompilerAspect]);
566
623
  (0, _defineProperty2().default)(InstallMain, "runtime", _cli().MainRuntime);
567
624
 
568
625
  _install().InstallAspect.addRuntime(InstallMain);
@@ -1 +1 @@
1
- {"version":3,"names":["InstallMain","constructor","dependencyResolver","logger","workspace","variants","importer","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","link","linkTeambitBit","legacyLink","linkCoreAspects","linkDepsResolvedFromEnv","linkNestedDepsInNM","consumer","componentLoader","clearComponentsCache","clearCache","installer","getInstaller","rootComponents","installTeambitBit","isLegacy","componentFsCache","deleteAllDependenciesDataCache","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","fetchObject","linker","getLinker","linkingOptions","res","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","MainRuntime","InstallAspect","addRuntime"],"sources":["install.main.runtime.ts"],"sourcesContent":["import { CommunityMain, CommunityAspect } from '@teambit/community';\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 } from 'lodash';\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 DependencyResolverAspect,\n PackageManagerInstallOptions,\n ComponentDependency,\n VariantPolicyConfigObject,\n WorkspacePolicyEntry,\n LinkingOptions,\n LinkResults,\n DependencyList,\n OutdatedPkg,\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 /**\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 hasRootComponents = this.dependencyResolver.hasRootComponents();\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: false,\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: false,\n });\n this.workspace.consumer.componentLoader.clearComponentsCache();\n this.workspace.clearCache();\n // TODO: pass get install options\n const installer = this.dependencyResolver.getInstaller({});\n const compDirMap = await this.getComponentsDirectory([]);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n\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 await installer.install(\n this.workspace.path,\n mergedRootPolicy,\n compDirMap,\n { installTeambitBit: false },\n pmInstallOptions\n );\n await this.link({\n linkTeambitBit: false,\n legacyLink: true,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: !this.workspace.isLegacy && !hasRootComponents,\n });\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n return compDirMap;\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 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 ];\n\n static runtime = MainRuntime;\n\n static async provider([dependencyResolver, workspace, loggerExt, variants, cli, community, importer]: [\n DependencyResolverMain,\n Workspace,\n LoggerMain,\n VariantsMain,\n CLIMain,\n CommunityMain,\n ImporterMain\n ]) {\n const logger = loggerExt.createLogger('teambit.bit/install');\n const installExt = new InstallMain(dependencyResolver, logger, workspace, variants, importer);\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","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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"}
package/package.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "name": "@teambit/install",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
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.12"
9
+ "version": "0.0.14"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
13
+ "@pnpm/types": "8.5.0",
13
14
  "lodash": "4.17.21",
14
15
  "@pnpm/colorize-semver-diff": "1.0.1",
15
16
  "@pnpm/semver-diff": "1.1.0",
@@ -33,7 +34,7 @@
33
34
  "@types/node": "12.20.4"
34
35
  },
35
36
  "peerDependencies": {
36
- "@teambit/legacy": "1.0.356",
37
+ "@teambit/legacy": "1.0.358",
37
38
  "react-dom": "^16.8.0 || ^17.0.0",
38
39
  "react": "^16.8.0 || ^17.0.0"
39
40
  },