@teambit/install 1.0.337 → 1.0.339

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.
@@ -18,9 +18,9 @@ function _path() {
18
18
  };
19
19
  return data;
20
20
  }
21
- function _bitRoots() {
22
- const data = require("@teambit/bit-roots");
23
- _bitRoots = function () {
21
+ function _workspace() {
22
+ const data = require("@teambit/workspace.root-components");
23
+ _workspace = function () {
24
24
  return data;
25
25
  };
26
26
  return data;
@@ -46,9 +46,9 @@ function _chalk() {
46
46
  };
47
47
  return data;
48
48
  }
49
- function _workspace() {
49
+ function _workspace2() {
50
50
  const data = require("@teambit/workspace");
51
- _workspace = function () {
51
+ _workspace2 = function () {
52
52
  return data;
53
53
  };
54
54
  return data;
@@ -687,10 +687,9 @@ class InstallMain {
687
687
  }
688
688
  async _updateRootDirs(rootDirs) {
689
689
  try {
690
- const bitRootCompsDir = (0, _bitRoots().getBitRootsDir)(this.workspace.path);
691
- const existingDirs = await _fsExtra().default.readdir(bitRootCompsDir);
690
+ const existingDirs = await _fsExtra().default.readdir(this.workspace.rootComponentsPath);
692
691
  await Promise.all(existingDirs.map(async dirName => {
693
- const dirPath = _path().default.join(bitRootCompsDir, dirName);
692
+ const dirPath = _path().default.join(this.workspace.rootComponentsPath, dirName);
694
693
  if (!rootDirs.includes(dirPath)) {
695
694
  await _fsExtra().default.remove(dirPath);
696
695
  }
@@ -720,7 +719,7 @@ class InstallMain {
720
719
  async _getEnvManifests(workspaceDeps, workspaceDepsMeta) {
721
720
  const envs = await this._getAllUsedEnvIds();
722
721
  return Object.fromEntries(await Promise.all(envs.map(async envId => {
723
- return [await this.getRootComponentDirByRootId(this.workspace.path, envId), {
722
+ return [await this.getRootComponentDirByRootId(this.workspace.rootComponentsPath, envId), {
724
723
  dependencies: _objectSpread(_objectSpread(_objectSpread({}, await this._getEnvDependencies(envId)), workspaceDeps), await this._getEnvPackage(envId)),
725
724
  dependenciesMeta: workspaceDepsMeta,
726
725
  installConfig: {
@@ -768,7 +767,7 @@ class InstallMain {
768
767
  }) => name === appPkgName);
769
768
  if (!appManifest) return null;
770
769
  const envId = await this.envs.calculateEnvId(app);
771
- return [await this.getRootComponentDirByRootId(this.workspace.path, app.id), _objectSpread(_objectSpread({}, (0, _lodash().omit)(appManifest, ['name', 'version'])), {}, {
770
+ return [await this.getRootComponentDirByRootId(this.workspace.rootComponentsPath, app.id), _objectSpread(_objectSpread({}, (0, _lodash().omit)(appManifest, ['name', 'version'])), {}, {
772
771
  dependencies: _objectSpread(_objectSpread(_objectSpread({}, await this._getEnvDependencies(envId)), appManifest.dependencies), workspaceDeps),
773
772
  dependenciesMeta: _objectSpread(_objectSpread({}, appManifest.dependenciesMeta), workspaceDepsMeta),
774
773
  installConfig: {
@@ -953,16 +952,19 @@ class InstallMain {
953
952
  const envs = await this._getAllUsedEnvIds();
954
953
  const apps = (await this.app.listAppsComponents()).map(component => component.id);
955
954
  await Promise.all([...envs, ...apps].map(async id => {
956
- const dir = await this.getRootComponentDirByRootId(this.workspace.path, id);
955
+ const dir = await this.getRootComponentDirByRootId(this.workspace.rootComponentsPath, id);
957
956
  await _fsExtra().default.mkdirp(dir);
958
957
  }));
959
- await (0, _bitRoots().linkPkgsToBitRoots)(this.workspace.path, compDirMap.components.map(component => this.dependencyResolver.getPackageName(component)));
958
+ await (0, _workspace().linkPkgsToRootComponents)({
959
+ rootComponentsPath: this.workspace.rootComponentsPath,
960
+ workspacePath: this.workspace.path
961
+ }, compDirMap.components.map(component => this.dependencyResolver.getPackageName(component)));
960
962
  }
961
- async getRootComponentDirByRootId(workspacePath, rootComponentId) {
963
+ async getRootComponentDirByRootId(rootComponentsPath, rootComponentId) {
962
964
  // Root directories for local envs and apps are created without their version number.
963
965
  // This is done in order to avoid changes to the lockfile after such components are tagged.
964
- const id = (await this.workspace.hasId(rootComponentId)) ? rootComponentId.toStringWithoutVersion() : rootComponentId.toString();
965
- return (0, _bitRoots().getRootComponentDir)(workspacePath, id);
966
+ const id = this.workspace.hasId(rootComponentId) ? rootComponentId.toStringWithoutVersion() : rootComponentId.toString();
967
+ return (0, _workspace().getRootComponentDir)(rootComponentsPath, id);
966
968
  }
967
969
 
968
970
  /**
@@ -1056,7 +1058,7 @@ class InstallMain {
1056
1058
  }
1057
1059
  exports.InstallMain = InstallMain;
1058
1060
  _defineProperty(InstallMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
1059
- _defineProperty(InstallMain, "dependencies", [_dependencyResolver().DependencyResolverAspect, _workspace().WorkspaceAspect, _logger().LoggerAspect, _variants().VariantsAspect, _cli().CLIAspect, _compiler().CompilerAspect, _issues().IssuesAspect, _envs().EnvsAspect, _application().ApplicationAspect, _ipcEvents().IpcEventsAspect, _generator().GeneratorAspect, _workspaceConfigFiles().WorkspaceConfigFilesAspect]);
1061
+ _defineProperty(InstallMain, "dependencies", [_dependencyResolver().DependencyResolverAspect, _workspace2().WorkspaceAspect, _logger().LoggerAspect, _variants().VariantsAspect, _cli().CLIAspect, _compiler().CompilerAspect, _issues().IssuesAspect, _envs().EnvsAspect, _application().ApplicationAspect, _ipcEvents().IpcEventsAspect, _generator().GeneratorAspect, _workspaceConfigFiles().WorkspaceConfigFilesAspect]);
1060
1062
  _defineProperty(InstallMain, "runtime", _cli().MainRuntime);
1061
1063
  function hasComponentsFromWorkspaceInMissingDeps({
1062
1064
  componentDirectoryMap,
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireWildcard","require","_path","_interopRequireDefault","_bitRoots","_compiler","_cli","_chalk","_workspace","_lodash","_generator","_pkgModules","_application","_variants","_component","_dependenciesFs","_pMapSeries","_harmony","_workspaceModules","_envs","_ipcEvents","_componentIssues","_dependencyResolver","_workspaceConfigFiles","_logger","_issues","_componentPackageVersion","_objectHash","_exceptions","_install","_pickOutdatedPkgs","_link","_install2","_uninstall","_update","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","InstallMain","constructor","dependencyResolver","logger","workspace","variants","compiler","envs","wsConfigFiles","app","generator","preLinkSlot","preInstallSlot","postInstallSlot","ipcEvents","Set","install","packages","options","inInstallContext","_addPackages","addMissingPeers","compDirMap","getComponentsDirectory","mergedRootPolicy","getWorkspacePolicy","depsFilterFn","generateFilterFnForDepsFromLocalRemote","pmInstallOptions","dedupe","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","dependencyFilterFn","overrides","config","hoistPatterns","packageImportMethod","missingPeers","getMissingPeerDependencies","path","missingPeerPackages","entries","map","peerName","range","console","pMapSeries","values","fn","res","_installModules","publishIpcEvent","registerPreLink","register","registerPreInstall","registerPostInstall","onComponentCreate","generateResults","runInstall","installMissing","ids","generateResult","dependencies","concat","installMissingDependencies","isApp","isEnv","id","nonLoadedEnvs","clearComponentCache","component","envId","calculateEnvId","toString","isLoaded","isEnvRegistered","addMissingDeps","skipIfExisting","writeConfigFiles","skipPrune","lifecycleType","DependencyTypeNotSupportedInPolicy","debug","join","resolver","getVersionResolver","resolvedPackagesP","packageName","resolveRemoteVersion","rootDir","resolvedPackages","Promise","all","newWorkspacePolicyEntries","resolvedPackage","version","versionWithPrefix","getVersionWithSavePrefix","overridePrefix","savePrefix","wantedRange","dependencyId","addToRootPolicy","updateExisting","persistConfig","pm","getPackageManager","name","chalk","cyan","getPackageManagerName","hasRootComponents","installer","getInstaller","calcManifestsOpts","nodeLinker","linkOpts","linkTeambitBit","linkCoreAspects","linkDepsResolvedFromEnv","linkNestedDepsInNM","isLegacy","linkedRootDeps","calculateLinks","componentsAndManifests","current","_getComponentsManifestsAndRootPolicy","autoInstallPeers","includeOptionalDeps","neverBuiltDependencies","hoistInjectedDependencies","rootComponents","updateAll","optimizeReportForNonTerminal","lockfileOnly","prevManifests","linkedDependencies","installCycle","hasMissingLocalComponents","forceTeambitHarmonyLink","hasHarmonyInRootPolicy","hasComponentsFromWorkspaceInMissingDeps","dependenciesChanged","installComponents","manifests","componentDirectoryMap","installTeambitBit","cacheCleared","linkCodemods","shouldClearCacheOnInstall","compile","compileStartTime","process","hrtime","compileOutputMessage","setStatusLine","clearCache","skipClearFailedToLoadEnvs","compileOnWorkspace","initiator","CompilationInitiator","Install","consoleSuccess","tryWriteConfigFiles","recurringInstall","oldNonLoadedEnvs","getOldNonLoadedEnvs","add","manifestsHash","_getComponentsManifests","pruneModules","getFailedToLoadEnvs","addConfiguredAspectsToWorkspacePolicy","addConfiguredGeneratorEnvsToWorkspacePolicy","rootDeps","devDependencies","omit","manifest","addedNewPkgs","_addMissingPackagesToRootPolicy","mergedRootPolicyWithMissingDeps","shouldWrite","isWorkspaceConfigWriteEnabled","err","clean","silent","throw","consoleFailure","message","rootPolicy","aspectsPackages","getConfiguredUserAspectsPackages","externalsOnly","aspectsPackage","configuredEnvs","getConfiguredEnvs","resolvedEnvs","compact","envIdStr","isCoreEnv","undefined","parsedId","resolveComponentId","inWs","hasId","comps","importAndGetMany","idWithVersion","resolveEnvIdWithPotentialVersionForConfig","split","getPackageName","env","_getMissingPackagesWithoutRootDeps","_getAllMissingPackages","pkg","list","uniq","comp","state","issues","getIssue","IssuesClasses","MissingPackagesDependenciesOnFs","d","missingPackages","flat","dependencyInstaller","installOptions","getComponentManifests","referenceLocalPackages","rootManifests","_getRootManifests","_updateRootDirs","envsWithoutManifest","Array","from","intersection","rootDirs","bitRootCompsDir","getBitRootsDir","existingDirs","fs","readdir","dirName","dirPath","includes","remove","code","mkdir","recursive","nonRootManifests","workspaceDeps","getWorkspaceDepsOfBitRoots","workspaceDepsMeta","reduce","acc","depName","injected","envManifests","_getEnvManifests","appManifests","_getAppManifests","_getAllUsedEnvIds","fromEntries","getRootComponentDirByRootId","_getEnvDependencies","_getEnvPackage","dependenciesMeta","installConfig","hoistingLimits","policy","getEnvPolicyFromEnvId","selfPolicy","force","toStringWithoutVersion","envComponent","getEnvComponentByEnvId","finalVersion","snapToSemver","listAppsComponents","appPkgName","appManifest","find","Map","components","updateDependencies","componentPolicies","_getComponentsWithDependencyPolicies","variantPatterns","raw","variantPoliciesByPatterns","_variantPatternsToDepPolicesDict","outdatedPkgs","getOutdatedPkgsFromPolicies","patterns","forceVersionBump","outdatedPkgsToUpdate","off","pickOutdatedPkgs","on","updatedVariants","updatedComponents","applyUpdates","_updateVariantsPolicies","_updateComponentsConfig","_reloadConsumer","addDuplicateComponentAndPackageIssue","workspacePolicy","_consumer","removed","pkgName","componentIdToPackageName","found","getOrCreate","DuplicateComponentAndPackage","allComponentIds","listIds","componentId","componentConfigFile","index","depResolverConfig","aspects","DependencyResolverAspect","variantPattern","extensions","addSpecificComponentConfig","shouldMergeWithExisting","shouldMergeWithPrevious","bitMap","write","updateVariantPolicies","setExtension","overrideExisting","uninstallDependencies","removeFromRootPolicy","linker","getLinker","linkingOptions","linkResults","calculateLinkedDeps","workspaceRes","legacyResults","legacyLinkResults","linksResults","legacyLinkCodemodResults","codemodResults","linkToBitRoots","_linkAllComponentsToBitRoots","bitIds","toArray","linkToNodeModulesWithCodemod","rewire","link","createLinks","linkToDir","avoidHardLink","skipIfSymlinkValid","apps","dir","mkdirp","linkPkgsToBitRoots","workspacePath","rootComponentId","getRootComponentDir","remotes","scope","_legacyRemotes","reg","getRegistries","packageScopes","scopes","dependencyList","filtered","dep","ComponentDependency","isHub","some","startsWith","getMany","loadSeedersAsAspects","ComponentMap","as","componentDir","onRootAspectAddedSubscriber","_aspectId","onAspectsResolveSubscriber","aspectComponents","needLink","needInstall","promises","aspectComponent","aspectIdStr","visitedAspects","packagePath","getComponentPackagePath","exists","pathExists","provider","loggerExt","cli","_","createLogger","InstallAspect","registerGotEventSlot","eventName","clearAllComponentsCache","installExt","registerAddComponentsIssues","bind","registerOnComponentCreate","commands","InstallCmd","UninstallCmd","UpdateCmd","LinkCommand","registerOnRootAspectAdded","exports","Slot","withType","WorkspaceAspect","LoggerAspect","VariantsAspect","CLIAspect","CompilerAspect","IssuesAspect","EnvsAspect","ApplicationAspect","IpcEventsAspect","GeneratorAspect","WorkspaceConfigFilesAspect","MainRuntime","missingDeps","issue","addRuntime","_default","depsByProjectPaths","mapValues","hash"],"sources":["install.main.runtime.ts"],"sourcesContent":["import fs, { pathExists } from 'fs-extra';\nimport path from 'path';\nimport { getRootComponentDir, getBitRootsDir, linkPkgsToBitRoots } from '@teambit/bit-roots';\nimport { CompilerMain, CompilerAspect, CompilationInitiator } from '@teambit/compiler';\nimport { CLIMain, CommandList, CLIAspect, MainRuntime } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { WorkspaceAspect, Workspace, ComponentConfigFile } from '@teambit/workspace';\nimport { compact, mapValues, omit, uniq, intersection } from 'lodash';\nimport { ProjectManifest } from '@pnpm/types';\nimport { GenerateResult, GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { componentIdToPackageName } from '@teambit/pkg.modules.component-package-name';\nimport { ApplicationMain, ApplicationAspect } from '@teambit/application';\nimport { VariantsMain, Patterns, VariantsAspect } from '@teambit/variants';\nimport { Component, ComponentID, ComponentMap } from '@teambit/component';\nimport { createLinks } from '@teambit/dependencies.fs.linked-dependencies';\nimport pMapSeries from 'p-map-series';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport {\n CodemodResult,\n linkToNodeModulesWithCodemod,\n NodeModulesLinksResult,\n} from '@teambit/workspace.modules.node-modules-linker';\nimport { EnvsMain, EnvsAspect } from '@teambit/envs';\nimport { IpcEventsAspect, IpcEventsMain } from '@teambit/ipc-events';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport {\n GetComponentManifestsOptions,\n WorkspaceDependencyLifecycleType,\n DependencyResolverMain,\n DependencyInstaller,\n DependencyResolverAspect,\n PackageManagerInstallOptions,\n ComponentDependency,\n VariantPolicyConfigObject,\n WorkspacePolicyEntry,\n LinkingOptions,\n LinkResults,\n DependencyList,\n MergedOutdatedPkg,\n WorkspacePolicy,\n UpdatedComponent,\n} from '@teambit/dependency-resolver';\nimport { WorkspaceConfigFilesAspect, WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport hash from 'object-hash';\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 rootPolicy?: WorkspacePolicy;\n linkToBitRoots?: boolean;\n includePeers?: boolean;\n};\n\nexport type WorkspaceLinkResults = {\n legacyLinkResults?: NodeModulesLinksResult[];\n legacyLinkCodemodResults?: CodemodResult[];\n} & LinkResults;\n\nexport type WorkspaceInstallOptions = {\n addMissingDeps?: boolean;\n addMissingPeers?: boolean;\n lifecycleType?: WorkspaceDependencyLifecycleType;\n dedupe?: boolean;\n import?: boolean;\n copyPeerToRuntimeOnRoot?: boolean;\n copyPeerToRuntimeOnComponents?: boolean;\n updateExisting?: boolean;\n skipIfExisting?: boolean;\n savePrefix?: string;\n compile?: boolean;\n includeOptionalDeps?: boolean;\n updateAll?: boolean;\n recurringInstall?: boolean;\n optimizeReportForNonTerminal?: boolean;\n lockfileOnly?: boolean;\n writeConfigFiles?: boolean;\n skipPrune?: boolean;\n};\n\nexport type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;\n\ntype PreLink = (linkOpts?: WorkspaceLinkOptions) => Promise<void>;\ntype PreInstall = (installOpts?: WorkspaceInstallOptions) => Promise<void>;\ntype PostInstall = () => Promise<void>;\n\ntype PreLinkSlot = SlotRegistry<PreLink>;\ntype PreInstallSlot = SlotRegistry<PreInstall>;\ntype PostInstallSlot = SlotRegistry<PostInstall>;\n\ntype GetComponentsAndManifestsOptions = Omit<\n GetComponentManifestsOptions,\n 'componentDirectoryMap' | 'rootPolicy' | 'rootDir'\n> &\n Pick<PackageManagerInstallOptions, 'nodeLinker'>;\n\nexport class InstallMain {\n private visitedAspects: Set<string> = new Set();\n\n constructor(\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private workspace: Workspace,\n\n private variants: VariantsMain,\n\n private compiler: CompilerMain,\n\n private envs: EnvsMain,\n\n private wsConfigFiles: WorkspaceConfigFilesMain,\n\n private app: ApplicationMain,\n\n private generator: GeneratorMain,\n\n private preLinkSlot: PreLinkSlot,\n\n private preInstallSlot: PreInstallSlot,\n\n private postInstallSlot: PostInstallSlot,\n\n private ipcEvents: IpcEventsMain\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 // set workspace in install context\n this.workspace.inInstallContext = true;\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 hoistPatterns: this.dependencyResolver.config.hoistPatterns,\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 await pMapSeries(this.preInstallSlot.values(), (fn) => fn(options)); // import objects if not disabled in options\n const res = await this._installModules(options);\n this.workspace.inInstallContext = false;\n\n await this.ipcEvents.publishIpcEvent('onPostInstall');\n\n return res;\n }\n\n registerPreLink(fn: PreLink) {\n this.preLinkSlot.register(fn);\n }\n\n registerPreInstall(fn: PreInstall) {\n this.preInstallSlot.register(fn);\n }\n\n registerPostInstall(fn: PostInstall) {\n this.postInstallSlot.register(fn);\n }\n\n async onComponentCreate(generateResults: GenerateResult[]) {\n this.workspace.inInstallContext = true;\n let runInstall = false;\n let packages: string[] = [];\n let installMissing = false;\n\n const ids = generateResults.map((generateResult) => {\n if (generateResult.dependencies && generateResult.dependencies.length) {\n packages = packages.concat(generateResult.dependencies);\n runInstall = true;\n }\n if (generateResult.installMissingDependencies) {\n installMissing = true;\n runInstall = true;\n }\n if (generateResult.isApp || generateResult.isEnv) {\n runInstall = true;\n }\n return generateResult.id;\n });\n const nonLoadedEnvs: string[] = [];\n\n ids.map((id) => this.workspace.clearComponentCache(id));\n await pMapSeries(ids, async (id) => {\n const component = await this.workspace.get(id);\n // const envId = await this.envs.getEnvId(component);\n const envId = (await this.envs.calculateEnvId(component)).toString();\n const isLoaded = this.envs.isEnvRegistered(envId);\n if (!isLoaded) {\n nonLoadedEnvs.push(envId);\n }\n return component;\n });\n if (nonLoadedEnvs.length) {\n runInstall = true;\n }\n if (!runInstall) {\n this.workspace.inInstallContext = false;\n return;\n }\n // this.logger.console(\n // `the following environments are not installed yet: ${nonLoadedEnvs.join(', ')}. installing them now...`\n // );\n await this.install(packages, {\n addMissingDeps: installMissing,\n skipIfExisting: true,\n writeConfigFiles: false,\n skipPrune: true,\n });\n }\n\n private async _addPackages(packages: string[], options?: WorkspaceInstallOptions) {\n if ((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 version: resolvedPackage.version,\n overridePrefix: options?.savePrefix,\n wantedRange: resolvedPackage.wantedRange,\n });\n newWorkspacePolicyEntries.push({\n dependencyId: resolvedPackage.packageName,\n value: {\n version: versionWithPrefix,\n },\n lifecycleType: options?.lifecycleType || 'runtime',\n });\n }\n });\n this.dependencyResolver.addToRootPolicy(newWorkspacePolicyEntries, {\n updateExisting: options?.updateExisting ?? false,\n skipIfExisting: options?.skipIfExisting ?? false,\n });\n await this.dependencyResolver.persistConfig('install');\n }\n\n private async _installModules(options?: ModulesInstallOptions): Promise<ComponentMap<string>> {\n const pm = this.dependencyResolver.getPackageManager();\n this.logger.console(\n `installing dependencies in workspace using ${pm?.name} (${chalk.cyan(\n this.dependencyResolver.getPackageManagerName()\n )})`\n );\n this.logger.debug(`installing dependencies in workspace with options`, options);\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n const hasRootComponents = this.dependencyResolver.hasRootComponents();\n // TODO: pass get install options\n const installer = this.dependencyResolver.getInstaller({});\n const calcManifestsOpts: GetComponentsAndManifestsOptions = {\n copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,\n copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,\n dedupe: !hasRootComponents && options?.dedupe,\n dependencyFilterFn: depsFilterFn,\n nodeLinker: this.dependencyResolver.nodeLinker(),\n };\n const linkOpts = {\n linkTeambitBit: true,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: !this.workspace.isLegacy && !hasRootComponents,\n };\n const { linkedRootDeps } = await this.calculateLinks(linkOpts);\n // eslint-disable-next-line prefer-const\n let { mergedRootPolicy, componentsAndManifests: current } = await this._getComponentsManifestsAndRootPolicy(\n installer,\n {\n ...calcManifestsOpts,\n addMissingDeps: options?.addMissingDeps,\n linkedRootDeps,\n }\n );\n\n const pmInstallOptions: PackageManagerInstallOptions = {\n ...calcManifestsOpts,\n autoInstallPeers: this.dependencyResolver.config.autoInstallPeers,\n includeOptionalDeps: options?.includeOptionalDeps,\n neverBuiltDependencies: this.dependencyResolver.config.neverBuiltDependencies,\n overrides: this.dependencyResolver.config.overrides,\n hoistPatterns: this.dependencyResolver.config.hoistPatterns,\n hoistInjectedDependencies: this.dependencyResolver.config.hoistInjectedDependencies,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n rootComponents: hasRootComponents,\n updateAll: options?.updateAll,\n optimizeReportForNonTerminal: options?.optimizeReportForNonTerminal,\n lockfileOnly: options?.lockfileOnly,\n };\n const prevManifests = new Set<string>();\n // TODO: this make duplicate\n // this.logger.consoleSuccess();\n const linkedDependencies = {\n [this.workspace.path]: linkedRootDeps,\n };\n const compDirMap = await this.getComponentsDirectory([]);\n let installCycle = 0;\n let hasMissingLocalComponents = true;\n const forceTeambitHarmonyLink = !this.dependencyResolver.hasHarmonyInRootPolicy();\n /* eslint-disable no-await-in-loop */\n do {\n // In case there are missing local components,\n // we'll need to make another round of installation as on the first round the missing local components\n // are not added to the manifests.\n // This is an issue when installation is done using root components.\n hasMissingLocalComponents = hasRootComponents && hasComponentsFromWorkspaceInMissingDeps(current);\n const { dependenciesChanged } = await installer.installComponents(\n this.workspace.path,\n current.manifests,\n mergedRootPolicy,\n current.componentDirectoryMap,\n {\n linkedDependencies,\n installTeambitBit: false,\n forceTeambitHarmonyLink,\n },\n pmInstallOptions\n );\n let cacheCleared = false;\n await this.linkCodemods(compDirMap);\n const shouldClearCacheOnInstall = this.shouldClearCacheOnInstall();\n if (options?.compile ?? true) {\n const compileStartTime = process.hrtime();\n const compileOutputMessage = `compiling components`;\n this.logger.setStatusLine(compileOutputMessage);\n if (shouldClearCacheOnInstall) {\n // We need to clear cache before compiling the components or it might compile them with the default env\n // incorrectly in case the env was not loaded correctly before the installation.\n // We don't want to clear the failed to load envs because we want to show the warning at the end\n await this.workspace.clearCache({ skipClearFailedToLoadEnvs: true });\n cacheCleared = true;\n }\n await this.compiler.compileOnWorkspace([], { initiator: CompilationInitiator.Install });\n // Right now we don't need to load extensions/execute load slot at this point\n // await this.compiler.compileOnWorkspace([], { initiator: CompilationInitiator.Install }, undefined, {\n // executeLoadSlot: true,\n // loadExtensions: true,\n // });\n this.logger.consoleSuccess(compileOutputMessage, compileStartTime);\n }\n if (options?.writeConfigFiles ?? true) {\n await this.tryWriteConfigFiles(!cacheCleared && shouldClearCacheOnInstall);\n }\n if (!dependenciesChanged) break;\n if (!options?.recurringInstall) break;\n const oldNonLoadedEnvs = this.getOldNonLoadedEnvs();\n if (!oldNonLoadedEnvs.length) break;\n prevManifests.add(manifestsHash(current.manifests));\n // If we run compile we do the clear cache before the compilation so no need to clean it again (it's an expensive\n // operation)\n if (!cacheCleared && shouldClearCacheOnInstall) {\n // We need to clear cache before creating the new component manifests.\n // this.workspace.consumer.componentLoader.clearComponentsCache();\n // We don't want to clear the failed to load envs because we want to show the warning at the end\n await this.workspace.clearCache({ skipClearFailedToLoadEnvs: true });\n }\n current = await this._getComponentsManifests(installer, mergedRootPolicy, calcManifestsOpts);\n installCycle += 1;\n } while ((!prevManifests.has(manifestsHash(current.manifests)) || hasMissingLocalComponents) && installCycle < 5);\n if (!options?.lockfileOnly && !options?.skipPrune) {\n // We clean node_modules only after the last install.\n // Otherwise, we might load an env from a location that we later remove.\n await installer.pruneModules(this.workspace.path);\n }\n // this is now commented out because we assume we don't need it anymore.\n // even when the env was not loaded before and it is loaded now, it should be fine because the dependencies-data\n // is only about the auto-detect-deps. there are two more steps: version-resolution and apply-overrides that\n // disregard the dependencies-cache.\n // await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n /* eslint-enable no-await-in-loop */\n return current.componentDirectoryMap;\n }\n\n private shouldClearCacheOnInstall(): boolean {\n const nonLoadedEnvs = this.envs.getFailedToLoadEnvs();\n return nonLoadedEnvs.length > 0;\n }\n\n private async _getComponentsManifestsAndRootPolicy(\n installer: DependencyInstaller,\n options: GetComponentsAndManifestsOptions & {\n addMissingDeps?: boolean;\n linkedRootDeps: Record<string, string>;\n }\n ): Promise<{ componentsAndManifests: ComponentsAndManifests; mergedRootPolicy: WorkspacePolicy }> {\n const mergedRootPolicy = await this.addConfiguredAspectsToWorkspacePolicy();\n await this.addConfiguredGeneratorEnvsToWorkspacePolicy(mergedRootPolicy);\n const componentsAndManifests = await this._getComponentsManifests(installer, mergedRootPolicy, options);\n if (!options?.addMissingDeps) {\n return { componentsAndManifests, mergedRootPolicy };\n }\n const rootDeps = new Set(\n Object.keys({\n ...componentsAndManifests.manifests[this.workspace.path].devDependencies,\n ...componentsAndManifests.manifests[this.workspace.path].dependencies,\n ...options.linkedRootDeps,\n })\n );\n Object.values(omit(componentsAndManifests.manifests, [this.workspace.path])).forEach((manifest) => {\n if ((manifest as ProjectManifest).name) {\n rootDeps.add((manifest as ProjectManifest).name!); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n }\n });\n const addedNewPkgs = await this._addMissingPackagesToRootPolicy(rootDeps);\n if (!addedNewPkgs) {\n return { componentsAndManifests, mergedRootPolicy };\n }\n const mergedRootPolicyWithMissingDeps = await this.addConfiguredAspectsToWorkspacePolicy();\n await this.addConfiguredGeneratorEnvsToWorkspacePolicy(mergedRootPolicyWithMissingDeps);\n return {\n mergedRootPolicy: mergedRootPolicyWithMissingDeps,\n componentsAndManifests: await this._getComponentsManifests(installer, mergedRootPolicyWithMissingDeps, options),\n };\n }\n\n /**\n * The function `tryWriteConfigFiles` attempts to write workspace config files, and if it fails, it logs an error\n * message.\n * @returns If the condition `!shouldWrite` is true, then nothing is being returned. Otherwise, if the `writeConfigFiles`\n * function is successfully executed, nothing is being returned. If an error occurs during the execution of\n * `writeConfigFiles`, an error message is being returned.\n */\n private async tryWriteConfigFiles(clearCache: boolean) {\n const shouldWrite = this.wsConfigFiles.isWorkspaceConfigWriteEnabled();\n if (!shouldWrite) return;\n if (clearCache) {\n await this.workspace.clearCache({ skipClearFailedToLoadEnvs: true });\n }\n const { err } = await this.wsConfigFiles.writeConfigFiles({\n clean: true,\n silent: true,\n dedupe: true,\n throw: false,\n });\n if (err) {\n this.logger.consoleFailure(\n `failed generating workspace config files, please run \"bit ws-config write\" manually. error: ${err.message}`\n );\n }\n }\n\n private async addConfiguredAspectsToWorkspacePolicy(): Promise<WorkspacePolicy> {\n const rootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const aspectsPackages = await this.workspace.getConfiguredUserAspectsPackages({ externalsOnly: true });\n aspectsPackages.forEach((aspectsPackage) => {\n rootPolicy.add(\n {\n dependencyId: aspectsPackage.packageName,\n value: {\n version: aspectsPackage.version,\n },\n lifecycleType: 'runtime',\n },\n // If it's already exist from the root, take the version from the root policy\n { skipIfExisting: true }\n );\n });\n return rootPolicy;\n }\n\n private async addConfiguredGeneratorEnvsToWorkspacePolicy(rootPolicy: WorkspacePolicy): Promise<void> {\n const configuredEnvs = this.generator.getConfiguredEnvs();\n const resolvedEnvs = compact(\n await Promise.all(\n configuredEnvs.map(async (envIdStr) => {\n if (this.envs.isCoreEnv(envIdStr)) {\n return undefined;\n }\n const parsedId = await this.workspace.resolveComponentId(envIdStr);\n // If we have the env in the workspace, we don't want to install it\n const inWs = await this.workspace.hasId(parsedId);\n if (inWs) {\n return undefined;\n }\n const comps = await this.workspace.importAndGetMany(\n [parsedId],\n `to get the env ${parsedId.toString()} for installation`\n );\n const idWithVersion = await this.workspace.resolveEnvIdWithPotentialVersionForConfig(parsedId);\n const version = idWithVersion.split('@')[1] || '*';\n const packageName = this.dependencyResolver.getPackageName(comps[0]);\n return {\n packageName,\n version,\n };\n })\n )\n );\n\n resolvedEnvs.forEach((env) => {\n rootPolicy.add(\n {\n dependencyId: env.packageName,\n value: {\n version: env.version,\n },\n lifecycleType: 'runtime',\n },\n // If it's already exist from the root, take the version from the root policy\n { skipIfExisting: true }\n );\n });\n }\n\n private async _addMissingPackagesToRootPolicy(\n rootDeps: Set<string>,\n options?: WorkspaceInstallOptions\n ): Promise<boolean> {\n const packages = await this._getMissingPackagesWithoutRootDeps(rootDeps);\n if (packages && packages.length) {\n await this._addPackages(packages, options);\n }\n return packages.length > 0;\n }\n\n private async _getMissingPackagesWithoutRootDeps(rootDeps: Set<string>) {\n const packages = await this._getAllMissingPackages();\n return packages.filter((pkg) => !rootDeps.has(pkg));\n }\n\n private async _getAllMissingPackages(): Promise<string[]> {\n const comps = await this.workspace.list();\n return uniq(\n comps\n .map((comp) => {\n const data = comp.state.issues.getIssue(IssuesClasses.MissingPackagesDependenciesOnFs)?.data || [];\n return data.map((d) => d.missingPackages).flat();\n })\n .flat()\n );\n }\n\n private async _getComponentsManifests(\n dependencyInstaller: DependencyInstaller,\n rootPolicy: WorkspacePolicy,\n installOptions: GetComponentsAndManifestsOptions\n ): Promise<ComponentsAndManifests> {\n const componentDirectoryMap = await this.getComponentsDirectory([]);\n let manifests = await dependencyInstaller.getComponentManifests({\n ...installOptions,\n componentDirectoryMap,\n rootPolicy,\n rootDir: this.workspace.path,\n referenceLocalPackages: this.dependencyResolver.hasRootComponents() && installOptions.nodeLinker === 'isolated',\n });\n\n if (this.dependencyResolver.hasRootComponents()) {\n const rootManifests = await this._getRootManifests(manifests);\n await this._updateRootDirs(Object.keys(rootManifests));\n manifests = {\n ...manifests,\n ...rootManifests,\n };\n }\n return {\n componentDirectoryMap,\n manifests,\n };\n }\n\n /**\n * This function returns a list of old non-loaded environments names.\n * @returns an array of strings called `oldNonLoadedEnvs`. This array contains the names of environment variables that\n * failed to load as extensions and are also don't have an env.jsonc file.\n * If this list is not empty, then the user might need to run another install to make sure all dependencies resolved\n * correctly\n */\n public getOldNonLoadedEnvs() {\n const nonLoadedEnvs = this.envs.getFailedToLoadEnvs();\n const envsWithoutManifest = Array.from(this.dependencyResolver.envsWithoutManifest);\n const oldNonLoadedEnvs = intersection(nonLoadedEnvs, envsWithoutManifest);\n return oldNonLoadedEnvs;\n }\n\n private async _updateRootDirs(rootDirs: string[]) {\n try {\n const bitRootCompsDir = getBitRootsDir(this.workspace.path);\n const existingDirs = await fs.readdir(bitRootCompsDir);\n await Promise.all(\n existingDirs.map(async (dirName) => {\n const dirPath = path.join(bitRootCompsDir, dirName);\n if (!rootDirs.includes(dirPath)) {\n await fs.remove(dirPath);\n }\n })\n );\n } catch (err: any) {\n if (err.code !== 'ENOENT') throw err;\n }\n await Promise.all(rootDirs.map((dirPath) => fs.mkdir(dirPath, { recursive: true })));\n }\n\n private async _getRootManifests(\n manifests: Record<string, ProjectManifest>\n ): Promise<Record<string, ProjectManifest>> {\n const nonRootManifests = Object.values(manifests).filter(({ name }) => name !== 'workspace');\n const workspaceDeps = this.dependencyResolver.getWorkspaceDepsOfBitRoots(nonRootManifests);\n const workspaceDepsMeta = Object.keys(workspaceDeps).reduce((acc, depName) => {\n acc[depName] = { injected: true };\n return acc;\n }, {});\n const envManifests = await this._getEnvManifests(workspaceDeps, workspaceDepsMeta);\n const appManifests = await this._getAppManifests(manifests, workspaceDeps, workspaceDepsMeta);\n return {\n ...envManifests,\n ...appManifests,\n };\n }\n\n private async _getEnvManifests(\n workspaceDeps: Record<string, string>,\n workspaceDepsMeta: Record<string, { injected: true }>\n ): Promise<Record<string, ProjectManifest>> {\n const envs = await this._getAllUsedEnvIds();\n return Object.fromEntries(\n await Promise.all(\n envs.map(async (envId) => {\n return [\n await this.getRootComponentDirByRootId(this.workspace.path, envId),\n {\n dependencies: {\n ...(await this._getEnvDependencies(envId)),\n ...workspaceDeps,\n ...(await this._getEnvPackage(envId)),\n },\n dependenciesMeta: workspaceDepsMeta,\n installConfig: {\n hoistingLimits: 'workspaces',\n },\n },\n ];\n })\n )\n );\n }\n\n private async _getEnvDependencies(envId: ComponentID): Promise<Record<string, string>> {\n const policy = await this.dependencyResolver.getEnvPolicyFromEnvId(envId);\n if (!policy) return {};\n return Object.fromEntries(\n policy.selfPolicy.entries\n .filter(({ force, value }) => force && value.version !== '-')\n .map(({ dependencyId, value }) => [dependencyId, value.version])\n );\n }\n\n /**\n * Return the package name of the env with its version.\n * (only if the env is not a core env and is not in the workspace)\n * @param envId\n * @returns\n */\n private async _getEnvPackage(envId: ComponentID): Promise<Record<string, string> | undefined> {\n if (this.envs.isCoreEnv(envId.toStringWithoutVersion())) return undefined;\n const inWs = await this.workspace.hasId(envId);\n if (inWs) return undefined;\n const envComponent = await this.envs.getEnvComponentByEnvId(envId.toString(), envId.toString());\n if (!envComponent) return undefined;\n const packageName = this.dependencyResolver.getPackageName(envComponent);\n const version = envId.version;\n const finalVersion = snapToSemver(version as string);\n return { [packageName]: finalVersion };\n }\n\n private async _getAppManifests(\n manifests: Record<string, ProjectManifest>,\n workspaceDeps: Record<string, string>,\n workspaceDepsMeta: Record<string, { injected: true }>\n ): Promise<Record<string, ProjectManifest>> {\n return Object.fromEntries(\n compact(\n await Promise.all(\n (\n await this.app.listAppsComponents()\n ).map(async (app) => {\n const appPkgName = this.dependencyResolver.getPackageName(app);\n const appManifest = Object.values(manifests).find(({ name }) => name === appPkgName);\n if (!appManifest) return null;\n const envId = await this.envs.calculateEnvId(app);\n return [\n await this.getRootComponentDirByRootId(this.workspace.path, app.id),\n {\n ...omit(appManifest, ['name', 'version']),\n dependencies: {\n ...(await this._getEnvDependencies(envId)),\n ...appManifest.dependencies,\n ...workspaceDeps,\n },\n dependenciesMeta: {\n ...appManifest.dependenciesMeta,\n ...workspaceDepsMeta,\n },\n installConfig: {\n hoistingLimits: 'workspaces',\n },\n },\n ];\n })\n )\n )\n );\n }\n\n private async _getAllUsedEnvIds(): Promise<ComponentID[]> {\n const envs = new Map<string, ComponentID>();\n const components = await this.workspace.list();\n await pMapSeries(components, async (component) => {\n const envId = await this.envs.calculateEnvId(component);\n envs.set(envId.toString(), envId);\n });\n return Array.from(envs.values());\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: {\n forceVersionBump?: 'major' | 'minor' | 'patch' | 'compatible';\n patterns?: string[];\n all: boolean;\n }): Promise<ComponentMap<string> | null> {\n const componentPolicies = 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 componentPolicies,\n components,\n patterns: options.patterns,\n forceVersionBump: options.forceVersionBump,\n });\n if (outdatedPkgs == null) {\n this.logger.consoleFailure('No dependencies found that match the patterns');\n return null;\n }\n let outdatedPkgsToUpdate!: MergedOutdatedPkg[];\n if (options.all) {\n outdatedPkgsToUpdate = outdatedPkgs;\n } else {\n this.logger.off();\n outdatedPkgsToUpdate = await pickOutdatedPkgs(outdatedPkgs);\n this.logger.on();\n }\n if (outdatedPkgsToUpdate.length === 0) {\n this.logger.consoleSuccess('No outdated dependencies found');\n if (options.forceVersionBump === 'compatible') {\n this.logger.console(\n \"If you want to find new versions that don't match the current version ranges, retry with the --latest flag\"\n );\n }\n return null;\n }\n const { updatedVariants, updatedComponents } = this.dependencyResolver.applyUpdates(outdatedPkgsToUpdate, {\n variantPoliciesByPatterns,\n });\n await this._updateVariantsPolicies(variantPatterns, updatedVariants);\n await this._updateComponentsConfig(updatedComponents);\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 if (component.state._consumer.removed) return;\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 = this.workspace.listIds();\n const componentPolicies = [] as Array<{ componentId: ComponentID; policy: 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];\n componentPolicies.push({ componentId, policy: depResolverConfig.config.policy });\n });\n return componentPolicies;\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 async _updateComponentsConfig(updatedComponents: UpdatedComponent[]) {\n if (updatedComponents.length === 0) return;\n await Promise.all(\n updatedComponents.map(({ componentId, config }) => {\n return this.workspace.addSpecificComponentConfig(componentId, DependencyResolverAspect.id, config, {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n });\n })\n );\n await this.workspace.bitMap.write('update (dependencies)');\n }\n\n private async _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 await this.dependencyResolver.persistConfig('update dependencies');\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('uninstall dependencies');\n return this._installModules({ dedupe: true });\n }\n\n /**\n * This function returns all the locations of the external links that should be created inside node_modules.\n * This information may then be passed to the package manager, which will create the links on its own.\n */\n async calculateLinks(\n options: WorkspaceLinkOptions = {}\n ): Promise<{ linkResults: WorkspaceLinkResults; linkedRootDeps: Record<string, string> }> {\n await pMapSeries(this.preLinkSlot.values(), (fn) => fn(options)); // import objects if not disabled in options\n const compDirMap = await this.getComponentsDirectory([]);\n const linker = this.dependencyResolver.getLinker({\n rootDir: this.workspace.path,\n linkingOptions: options,\n });\n const { linkResults: res, linkedRootDeps } = await linker.calculateLinkedDeps(\n this.workspace.path,\n compDirMap,\n options\n );\n const workspaceRes = res as WorkspaceLinkResults;\n\n const legacyResults = await this.linkCodemods(compDirMap, options);\n workspaceRes.legacyLinkResults = legacyResults.linksResults;\n workspaceRes.legacyLinkCodemodResults = legacyResults.codemodResults;\n\n if (this.dependencyResolver.hasRootComponents() && options.linkToBitRoots) {\n await this._linkAllComponentsToBitRoots(compDirMap);\n }\n return { linkResults: res, linkedRootDeps };\n }\n\n async linkCodemods(compDirMap: ComponentMap<string>, options?: { rewire?: boolean }) {\n const bitIds = compDirMap.toArray().map(([component]) => component.id);\n return linkToNodeModulesWithCodemod(this.workspace, bitIds, options?.rewire ?? false);\n }\n\n async link(options: WorkspaceLinkOptions = {}): Promise<WorkspaceLinkResults> {\n const { linkResults, linkedRootDeps } = await this.calculateLinks(options);\n await createLinks(options.linkToDir ?? this.workspace.path, linkedRootDeps, {\n avoidHardLink: true,\n skipIfSymlinkValid: true,\n });\n return linkResults;\n }\n\n private async _linkAllComponentsToBitRoots(compDirMap: ComponentMap<string>) {\n const envs = await this._getAllUsedEnvIds();\n const apps = (await this.app.listAppsComponents()).map((component) => component.id);\n await Promise.all(\n [...envs, ...apps].map(async (id) => {\n const dir = await this.getRootComponentDirByRootId(this.workspace.path, id);\n await fs.mkdirp(dir);\n })\n );\n await linkPkgsToBitRoots(\n this.workspace.path,\n compDirMap.components.map((component) => this.dependencyResolver.getPackageName(component))\n );\n }\n\n private async getRootComponentDirByRootId(workspacePath: string, rootComponentId: ComponentID): Promise<string> {\n // Root directories for local envs and apps are created without their version number.\n // This is done in order to avoid changes to the lockfile after such components are tagged.\n const id = (await this.workspace.hasId(rootComponentId))\n ? rootComponentId.toStringWithoutVersion()\n : rootComponentId.toString();\n return getRootComponentDir(workspacePath, id);\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\n ? await this.workspace.getMany(ids)\n : await this.workspace.list(undefined, { loadSeedersAsAspects: false });\n return ComponentMap.as<string>(components, (component) => this.workspace.componentDir(component.id));\n }\n\n private async onRootAspectAddedSubscriber(_aspectId: ComponentID, inWs: boolean): Promise<void> {\n if (!inWs) {\n await this.install();\n }\n }\n private async onAspectsResolveSubscriber(aspectComponents: Component[]): Promise<void> {\n let needLink = false;\n let needInstall = false;\n const promises = aspectComponents.map(async (aspectComponent) => {\n const aspectIdStr = aspectComponent.id.toString();\n if (this.visitedAspects.has(aspectIdStr)) return;\n\n this.visitedAspects.add(aspectIdStr);\n const packagePath = await this.workspace.getComponentPackagePath(aspectComponent);\n const exists = await pathExists(packagePath);\n if (!exists) {\n const inWs = await this.workspace.hasId(aspectComponent.id);\n if (inWs) {\n needLink = true;\n } else {\n needInstall = true;\n }\n }\n });\n await Promise.all(promises);\n if (needInstall) {\n await this.install();\n return;\n }\n if (needLink) {\n await this.link();\n }\n }\n\n static slots = [Slot.withType<PreLinkSlot>(), Slot.withType<PreInstallSlot>(), Slot.withType<PostInstallSlot>()];\n static dependencies = [\n DependencyResolverAspect,\n WorkspaceAspect,\n LoggerAspect,\n VariantsAspect,\n CLIAspect,\n CompilerAspect,\n IssuesAspect,\n EnvsAspect,\n ApplicationAspect,\n IpcEventsAspect,\n GeneratorAspect,\n WorkspaceConfigFilesAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [\n dependencyResolver,\n workspace,\n loggerExt,\n variants,\n cli,\n compiler,\n issues,\n envs,\n app,\n ipcEvents,\n generator,\n wsConfigFiles,\n ]: [\n DependencyResolverMain,\n Workspace,\n LoggerMain,\n VariantsMain,\n CLIMain,\n CompilerMain,\n IssuesMain,\n EnvsMain,\n ApplicationMain,\n IpcEventsMain,\n GeneratorMain,\n WorkspaceConfigFilesMain\n ],\n _,\n [preLinkSlot, preInstallSlot, postInstallSlot]: [PreLinkSlot, PreInstallSlot, PostInstallSlot]\n ) {\n const logger = loggerExt.createLogger(InstallAspect.id);\n ipcEvents.registerGotEventSlot(async (eventName) => {\n if (eventName !== 'onPostInstall') return;\n logger.debug('got onPostInstall event, clear workspace and all components cache');\n await workspace.clearCache();\n workspace.clearAllComponentsCache();\n await pMapSeries(postInstallSlot.values(), (fn) => fn());\n });\n const installExt = new InstallMain(\n dependencyResolver,\n logger,\n workspace,\n variants,\n compiler,\n envs,\n wsConfigFiles,\n app,\n generator,\n preLinkSlot,\n preInstallSlot,\n postInstallSlot,\n ipcEvents\n );\n if (issues) {\n issues.registerAddComponentsIssues(installExt.addDuplicateComponentAndPackageIssue.bind(installExt));\n }\n generator.registerOnComponentCreate(installExt.onComponentCreate.bind(installExt));\n const commands: CommandList = [\n new InstallCmd(installExt, workspace, logger),\n new UninstallCmd(installExt),\n new UpdateCmd(installExt),\n new LinkCommand(installExt, workspace, logger),\n ];\n // For now do not automate installation during aspect resolving\n // workspace.registerOnAspectsResolve(installExt.onAspectsResolveSubscriber.bind(installExt));\n if (workspace) {\n workspace.registerOnRootAspectAdded(installExt.onRootAspectAddedSubscriber.bind(installExt));\n }\n cli.register(...commands);\n return installExt;\n }\n}\n\ntype ComponentsAndManifests = {\n componentDirectoryMap: ComponentMap<string>;\n manifests: Record<string, ProjectManifest>;\n};\n\nfunction hasComponentsFromWorkspaceInMissingDeps({\n componentDirectoryMap,\n manifests,\n}: ComponentsAndManifests): boolean {\n const missingDeps = new Set<string>(\n componentDirectoryMap\n .toArray()\n .map(([{ state }]) => {\n const issue = state.issues.getIssue(IssuesClasses.MissingPackagesDependenciesOnFs);\n if (!issue) return [];\n return issue.data.map((d) => d.missingPackages).flat();\n })\n .flat()\n );\n return Object.values(manifests).some(({ name }) => name && missingDeps.has(name));\n}\n\nInstallAspect.addRuntime(InstallMain);\n\nexport default InstallMain;\n\nfunction manifestsHash(manifests: Record<string, ProjectManifest>): string {\n // We don't care if the type of the dependency changes as it doesn't change the node_modules structure\n const depsByProjectPaths = mapValues(manifests, (manifest) => ({\n ...manifest.devDependencies,\n ...manifest.dependencies,\n }));\n return hash(depsByProjectPaths);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireWildcard","require","_path","_interopRequireDefault","_workspace","_compiler","_cli","_chalk","_workspace2","_lodash","_generator","_pkgModules","_application","_variants","_component","_dependenciesFs","_pMapSeries","_harmony","_workspaceModules","_envs","_ipcEvents","_componentIssues","_dependencyResolver","_workspaceConfigFiles","_logger","_issues","_componentPackageVersion","_objectHash","_exceptions","_install","_pickOutdatedPkgs","_link","_install2","_uninstall","_update","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","InstallMain","constructor","dependencyResolver","logger","workspace","variants","compiler","envs","wsConfigFiles","app","generator","preLinkSlot","preInstallSlot","postInstallSlot","ipcEvents","Set","install","packages","options","inInstallContext","_addPackages","addMissingPeers","compDirMap","getComponentsDirectory","mergedRootPolicy","getWorkspacePolicy","depsFilterFn","generateFilterFnForDepsFromLocalRemote","pmInstallOptions","dedupe","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","dependencyFilterFn","overrides","config","hoistPatterns","packageImportMethod","missingPeers","getMissingPeerDependencies","path","missingPeerPackages","entries","map","peerName","range","console","pMapSeries","values","fn","res","_installModules","publishIpcEvent","registerPreLink","register","registerPreInstall","registerPostInstall","onComponentCreate","generateResults","runInstall","installMissing","ids","generateResult","dependencies","concat","installMissingDependencies","isApp","isEnv","id","nonLoadedEnvs","clearComponentCache","component","envId","calculateEnvId","toString","isLoaded","isEnvRegistered","addMissingDeps","skipIfExisting","writeConfigFiles","skipPrune","lifecycleType","DependencyTypeNotSupportedInPolicy","debug","join","resolver","getVersionResolver","resolvedPackagesP","packageName","resolveRemoteVersion","rootDir","resolvedPackages","Promise","all","newWorkspacePolicyEntries","resolvedPackage","version","versionWithPrefix","getVersionWithSavePrefix","overridePrefix","savePrefix","wantedRange","dependencyId","addToRootPolicy","updateExisting","persistConfig","pm","getPackageManager","name","chalk","cyan","getPackageManagerName","hasRootComponents","installer","getInstaller","calcManifestsOpts","nodeLinker","linkOpts","linkTeambitBit","linkCoreAspects","linkDepsResolvedFromEnv","linkNestedDepsInNM","isLegacy","linkedRootDeps","calculateLinks","componentsAndManifests","current","_getComponentsManifestsAndRootPolicy","autoInstallPeers","includeOptionalDeps","neverBuiltDependencies","hoistInjectedDependencies","rootComponents","updateAll","optimizeReportForNonTerminal","lockfileOnly","prevManifests","linkedDependencies","installCycle","hasMissingLocalComponents","forceTeambitHarmonyLink","hasHarmonyInRootPolicy","hasComponentsFromWorkspaceInMissingDeps","dependenciesChanged","installComponents","manifests","componentDirectoryMap","installTeambitBit","cacheCleared","linkCodemods","shouldClearCacheOnInstall","compile","compileStartTime","process","hrtime","compileOutputMessage","setStatusLine","clearCache","skipClearFailedToLoadEnvs","compileOnWorkspace","initiator","CompilationInitiator","Install","consoleSuccess","tryWriteConfigFiles","recurringInstall","oldNonLoadedEnvs","getOldNonLoadedEnvs","add","manifestsHash","_getComponentsManifests","pruneModules","getFailedToLoadEnvs","addConfiguredAspectsToWorkspacePolicy","addConfiguredGeneratorEnvsToWorkspacePolicy","rootDeps","devDependencies","omit","manifest","addedNewPkgs","_addMissingPackagesToRootPolicy","mergedRootPolicyWithMissingDeps","shouldWrite","isWorkspaceConfigWriteEnabled","err","clean","silent","throw","consoleFailure","message","rootPolicy","aspectsPackages","getConfiguredUserAspectsPackages","externalsOnly","aspectsPackage","configuredEnvs","getConfiguredEnvs","resolvedEnvs","compact","envIdStr","isCoreEnv","undefined","parsedId","resolveComponentId","inWs","hasId","comps","importAndGetMany","idWithVersion","resolveEnvIdWithPotentialVersionForConfig","split","getPackageName","env","_getMissingPackagesWithoutRootDeps","_getAllMissingPackages","pkg","list","uniq","comp","state","issues","getIssue","IssuesClasses","MissingPackagesDependenciesOnFs","d","missingPackages","flat","dependencyInstaller","installOptions","getComponentManifests","referenceLocalPackages","rootManifests","_getRootManifests","_updateRootDirs","envsWithoutManifest","Array","from","intersection","rootDirs","existingDirs","fs","readdir","rootComponentsPath","dirName","dirPath","includes","remove","code","mkdir","recursive","nonRootManifests","workspaceDeps","getWorkspaceDepsOfBitRoots","workspaceDepsMeta","reduce","acc","depName","injected","envManifests","_getEnvManifests","appManifests","_getAppManifests","_getAllUsedEnvIds","fromEntries","getRootComponentDirByRootId","_getEnvDependencies","_getEnvPackage","dependenciesMeta","installConfig","hoistingLimits","policy","getEnvPolicyFromEnvId","selfPolicy","force","toStringWithoutVersion","envComponent","getEnvComponentByEnvId","finalVersion","snapToSemver","listAppsComponents","appPkgName","appManifest","find","Map","components","updateDependencies","componentPolicies","_getComponentsWithDependencyPolicies","variantPatterns","raw","variantPoliciesByPatterns","_variantPatternsToDepPolicesDict","outdatedPkgs","getOutdatedPkgsFromPolicies","patterns","forceVersionBump","outdatedPkgsToUpdate","off","pickOutdatedPkgs","on","updatedVariants","updatedComponents","applyUpdates","_updateVariantsPolicies","_updateComponentsConfig","_reloadConsumer","addDuplicateComponentAndPackageIssue","workspacePolicy","_consumer","removed","pkgName","componentIdToPackageName","found","getOrCreate","DuplicateComponentAndPackage","allComponentIds","listIds","componentId","componentConfigFile","index","depResolverConfig","aspects","DependencyResolverAspect","variantPattern","extensions","addSpecificComponentConfig","shouldMergeWithExisting","shouldMergeWithPrevious","bitMap","write","updateVariantPolicies","setExtension","overrideExisting","uninstallDependencies","removeFromRootPolicy","linker","getLinker","linkingOptions","linkResults","calculateLinkedDeps","workspaceRes","legacyResults","legacyLinkResults","linksResults","legacyLinkCodemodResults","codemodResults","linkToBitRoots","_linkAllComponentsToBitRoots","bitIds","toArray","linkToNodeModulesWithCodemod","rewire","link","createLinks","linkToDir","avoidHardLink","skipIfSymlinkValid","apps","dir","mkdirp","linkPkgsToRootComponents","workspacePath","rootComponentId","getRootComponentDir","remotes","scope","_legacyRemotes","reg","getRegistries","packageScopes","scopes","dependencyList","filtered","dep","ComponentDependency","isHub","some","startsWith","getMany","loadSeedersAsAspects","ComponentMap","as","componentDir","onRootAspectAddedSubscriber","_aspectId","onAspectsResolveSubscriber","aspectComponents","needLink","needInstall","promises","aspectComponent","aspectIdStr","visitedAspects","packagePath","getComponentPackagePath","exists","pathExists","provider","loggerExt","cli","_","createLogger","InstallAspect","registerGotEventSlot","eventName","clearAllComponentsCache","installExt","registerAddComponentsIssues","bind","registerOnComponentCreate","commands","InstallCmd","UninstallCmd","UpdateCmd","LinkCommand","registerOnRootAspectAdded","exports","Slot","withType","WorkspaceAspect","LoggerAspect","VariantsAspect","CLIAspect","CompilerAspect","IssuesAspect","EnvsAspect","ApplicationAspect","IpcEventsAspect","GeneratorAspect","WorkspaceConfigFilesAspect","MainRuntime","missingDeps","issue","addRuntime","_default","depsByProjectPaths","mapValues","hash"],"sources":["install.main.runtime.ts"],"sourcesContent":["import fs, { pathExists } from 'fs-extra';\nimport path from 'path';\nimport { getRootComponentDir, linkPkgsToRootComponents } from '@teambit/workspace.root-components';\nimport { CompilerMain, CompilerAspect, CompilationInitiator } from '@teambit/compiler';\nimport { CLIMain, CommandList, CLIAspect, MainRuntime } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { WorkspaceAspect, Workspace, ComponentConfigFile } from '@teambit/workspace';\nimport { compact, mapValues, omit, uniq, intersection } from 'lodash';\nimport { ProjectManifest } from '@pnpm/types';\nimport { GenerateResult, GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { componentIdToPackageName } from '@teambit/pkg.modules.component-package-name';\nimport { ApplicationMain, ApplicationAspect } from '@teambit/application';\nimport { VariantsMain, Patterns, VariantsAspect } from '@teambit/variants';\nimport { Component, ComponentID, ComponentMap } from '@teambit/component';\nimport { createLinks } from '@teambit/dependencies.fs.linked-dependencies';\nimport pMapSeries from 'p-map-series';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport {\n CodemodResult,\n linkToNodeModulesWithCodemod,\n NodeModulesLinksResult,\n} from '@teambit/workspace.modules.node-modules-linker';\nimport { EnvsMain, EnvsAspect } from '@teambit/envs';\nimport { IpcEventsAspect, IpcEventsMain } from '@teambit/ipc-events';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport {\n GetComponentManifestsOptions,\n WorkspaceDependencyLifecycleType,\n DependencyResolverMain,\n DependencyInstaller,\n DependencyResolverAspect,\n PackageManagerInstallOptions,\n ComponentDependency,\n VariantPolicyConfigObject,\n WorkspacePolicyEntry,\n LinkingOptions,\n LinkResults,\n DependencyList,\n MergedOutdatedPkg,\n WorkspacePolicy,\n UpdatedComponent,\n} from '@teambit/dependency-resolver';\nimport { WorkspaceConfigFilesAspect, WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport hash from 'object-hash';\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 rootPolicy?: WorkspacePolicy;\n linkToBitRoots?: boolean;\n includePeers?: boolean;\n};\n\nexport type WorkspaceLinkResults = {\n legacyLinkResults?: NodeModulesLinksResult[];\n legacyLinkCodemodResults?: CodemodResult[];\n} & LinkResults;\n\nexport type WorkspaceInstallOptions = {\n addMissingDeps?: boolean;\n addMissingPeers?: boolean;\n lifecycleType?: WorkspaceDependencyLifecycleType;\n dedupe?: boolean;\n import?: boolean;\n copyPeerToRuntimeOnRoot?: boolean;\n copyPeerToRuntimeOnComponents?: boolean;\n updateExisting?: boolean;\n skipIfExisting?: boolean;\n savePrefix?: string;\n compile?: boolean;\n includeOptionalDeps?: boolean;\n updateAll?: boolean;\n recurringInstall?: boolean;\n optimizeReportForNonTerminal?: boolean;\n lockfileOnly?: boolean;\n writeConfigFiles?: boolean;\n skipPrune?: boolean;\n};\n\nexport type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;\n\ntype PreLink = (linkOpts?: WorkspaceLinkOptions) => Promise<void>;\ntype PreInstall = (installOpts?: WorkspaceInstallOptions) => Promise<void>;\ntype PostInstall = () => Promise<void>;\n\ntype PreLinkSlot = SlotRegistry<PreLink>;\ntype PreInstallSlot = SlotRegistry<PreInstall>;\ntype PostInstallSlot = SlotRegistry<PostInstall>;\n\ntype GetComponentsAndManifestsOptions = Omit<\n GetComponentManifestsOptions,\n 'componentDirectoryMap' | 'rootPolicy' | 'rootDir'\n> &\n Pick<PackageManagerInstallOptions, 'nodeLinker'>;\n\nexport class InstallMain {\n private visitedAspects: Set<string> = new Set();\n\n constructor(\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private workspace: Workspace,\n\n private variants: VariantsMain,\n\n private compiler: CompilerMain,\n\n private envs: EnvsMain,\n\n private wsConfigFiles: WorkspaceConfigFilesMain,\n\n private app: ApplicationMain,\n\n private generator: GeneratorMain,\n\n private preLinkSlot: PreLinkSlot,\n\n private preInstallSlot: PreInstallSlot,\n\n private postInstallSlot: PostInstallSlot,\n\n private ipcEvents: IpcEventsMain\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 // set workspace in install context\n this.workspace.inInstallContext = true;\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 hoistPatterns: this.dependencyResolver.config.hoistPatterns,\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 await pMapSeries(this.preInstallSlot.values(), (fn) => fn(options)); // import objects if not disabled in options\n const res = await this._installModules(options);\n this.workspace.inInstallContext = false;\n\n await this.ipcEvents.publishIpcEvent('onPostInstall');\n\n return res;\n }\n\n registerPreLink(fn: PreLink) {\n this.preLinkSlot.register(fn);\n }\n\n registerPreInstall(fn: PreInstall) {\n this.preInstallSlot.register(fn);\n }\n\n registerPostInstall(fn: PostInstall) {\n this.postInstallSlot.register(fn);\n }\n\n async onComponentCreate(generateResults: GenerateResult[]) {\n this.workspace.inInstallContext = true;\n let runInstall = false;\n let packages: string[] = [];\n let installMissing = false;\n\n const ids = generateResults.map((generateResult) => {\n if (generateResult.dependencies && generateResult.dependencies.length) {\n packages = packages.concat(generateResult.dependencies);\n runInstall = true;\n }\n if (generateResult.installMissingDependencies) {\n installMissing = true;\n runInstall = true;\n }\n if (generateResult.isApp || generateResult.isEnv) {\n runInstall = true;\n }\n return generateResult.id;\n });\n const nonLoadedEnvs: string[] = [];\n\n ids.map((id) => this.workspace.clearComponentCache(id));\n await pMapSeries(ids, async (id) => {\n const component = await this.workspace.get(id);\n // const envId = await this.envs.getEnvId(component);\n const envId = (await this.envs.calculateEnvId(component)).toString();\n const isLoaded = this.envs.isEnvRegistered(envId);\n if (!isLoaded) {\n nonLoadedEnvs.push(envId);\n }\n return component;\n });\n if (nonLoadedEnvs.length) {\n runInstall = true;\n }\n if (!runInstall) {\n this.workspace.inInstallContext = false;\n return;\n }\n // this.logger.console(\n // `the following environments are not installed yet: ${nonLoadedEnvs.join(', ')}. installing them now...`\n // );\n await this.install(packages, {\n addMissingDeps: installMissing,\n skipIfExisting: true,\n writeConfigFiles: false,\n skipPrune: true,\n });\n }\n\n private async _addPackages(packages: string[], options?: WorkspaceInstallOptions) {\n if ((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 version: resolvedPackage.version,\n overridePrefix: options?.savePrefix,\n wantedRange: resolvedPackage.wantedRange,\n });\n newWorkspacePolicyEntries.push({\n dependencyId: resolvedPackage.packageName,\n value: {\n version: versionWithPrefix,\n },\n lifecycleType: options?.lifecycleType || 'runtime',\n });\n }\n });\n this.dependencyResolver.addToRootPolicy(newWorkspacePolicyEntries, {\n updateExisting: options?.updateExisting ?? false,\n skipIfExisting: options?.skipIfExisting ?? false,\n });\n await this.dependencyResolver.persistConfig('install');\n }\n\n private async _installModules(options?: ModulesInstallOptions): Promise<ComponentMap<string>> {\n const pm = this.dependencyResolver.getPackageManager();\n this.logger.console(\n `installing dependencies in workspace using ${pm?.name} (${chalk.cyan(\n this.dependencyResolver.getPackageManagerName()\n )})`\n );\n this.logger.debug(`installing dependencies in workspace with options`, options);\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n const hasRootComponents = this.dependencyResolver.hasRootComponents();\n // TODO: pass get install options\n const installer = this.dependencyResolver.getInstaller({});\n const calcManifestsOpts: GetComponentsAndManifestsOptions = {\n copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,\n copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,\n dedupe: !hasRootComponents && options?.dedupe,\n dependencyFilterFn: depsFilterFn,\n nodeLinker: this.dependencyResolver.nodeLinker(),\n };\n const linkOpts = {\n linkTeambitBit: true,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: !this.workspace.isLegacy && !hasRootComponents,\n };\n const { linkedRootDeps } = await this.calculateLinks(linkOpts);\n // eslint-disable-next-line prefer-const\n let { mergedRootPolicy, componentsAndManifests: current } = await this._getComponentsManifestsAndRootPolicy(\n installer,\n {\n ...calcManifestsOpts,\n addMissingDeps: options?.addMissingDeps,\n linkedRootDeps,\n }\n );\n\n const pmInstallOptions: PackageManagerInstallOptions = {\n ...calcManifestsOpts,\n autoInstallPeers: this.dependencyResolver.config.autoInstallPeers,\n includeOptionalDeps: options?.includeOptionalDeps,\n neverBuiltDependencies: this.dependencyResolver.config.neverBuiltDependencies,\n overrides: this.dependencyResolver.config.overrides,\n hoistPatterns: this.dependencyResolver.config.hoistPatterns,\n hoistInjectedDependencies: this.dependencyResolver.config.hoistInjectedDependencies,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n rootComponents: hasRootComponents,\n updateAll: options?.updateAll,\n optimizeReportForNonTerminal: options?.optimizeReportForNonTerminal,\n lockfileOnly: options?.lockfileOnly,\n };\n const prevManifests = new Set<string>();\n // TODO: this make duplicate\n // this.logger.consoleSuccess();\n const linkedDependencies = {\n [this.workspace.path]: linkedRootDeps,\n };\n const compDirMap = await this.getComponentsDirectory([]);\n let installCycle = 0;\n let hasMissingLocalComponents = true;\n const forceTeambitHarmonyLink = !this.dependencyResolver.hasHarmonyInRootPolicy();\n /* eslint-disable no-await-in-loop */\n do {\n // In case there are missing local components,\n // we'll need to make another round of installation as on the first round the missing local components\n // are not added to the manifests.\n // This is an issue when installation is done using root components.\n hasMissingLocalComponents = hasRootComponents && hasComponentsFromWorkspaceInMissingDeps(current);\n const { dependenciesChanged } = await installer.installComponents(\n this.workspace.path,\n current.manifests,\n mergedRootPolicy,\n current.componentDirectoryMap,\n {\n linkedDependencies,\n installTeambitBit: false,\n forceTeambitHarmonyLink,\n },\n pmInstallOptions\n );\n let cacheCleared = false;\n await this.linkCodemods(compDirMap);\n const shouldClearCacheOnInstall = this.shouldClearCacheOnInstall();\n if (options?.compile ?? true) {\n const compileStartTime = process.hrtime();\n const compileOutputMessage = `compiling components`;\n this.logger.setStatusLine(compileOutputMessage);\n if (shouldClearCacheOnInstall) {\n // We need to clear cache before compiling the components or it might compile them with the default env\n // incorrectly in case the env was not loaded correctly before the installation.\n // We don't want to clear the failed to load envs because we want to show the warning at the end\n await this.workspace.clearCache({ skipClearFailedToLoadEnvs: true });\n cacheCleared = true;\n }\n await this.compiler.compileOnWorkspace([], { initiator: CompilationInitiator.Install });\n // Right now we don't need to load extensions/execute load slot at this point\n // await this.compiler.compileOnWorkspace([], { initiator: CompilationInitiator.Install }, undefined, {\n // executeLoadSlot: true,\n // loadExtensions: true,\n // });\n this.logger.consoleSuccess(compileOutputMessage, compileStartTime);\n }\n if (options?.writeConfigFiles ?? true) {\n await this.tryWriteConfigFiles(!cacheCleared && shouldClearCacheOnInstall);\n }\n if (!dependenciesChanged) break;\n if (!options?.recurringInstall) break;\n const oldNonLoadedEnvs = this.getOldNonLoadedEnvs();\n if (!oldNonLoadedEnvs.length) break;\n prevManifests.add(manifestsHash(current.manifests));\n // If we run compile we do the clear cache before the compilation so no need to clean it again (it's an expensive\n // operation)\n if (!cacheCleared && shouldClearCacheOnInstall) {\n // We need to clear cache before creating the new component manifests.\n // this.workspace.consumer.componentLoader.clearComponentsCache();\n // We don't want to clear the failed to load envs because we want to show the warning at the end\n await this.workspace.clearCache({ skipClearFailedToLoadEnvs: true });\n }\n current = await this._getComponentsManifests(installer, mergedRootPolicy, calcManifestsOpts);\n installCycle += 1;\n } while ((!prevManifests.has(manifestsHash(current.manifests)) || hasMissingLocalComponents) && installCycle < 5);\n if (!options?.lockfileOnly && !options?.skipPrune) {\n // We clean node_modules only after the last install.\n // Otherwise, we might load an env from a location that we later remove.\n await installer.pruneModules(this.workspace.path);\n }\n // this is now commented out because we assume we don't need it anymore.\n // even when the env was not loaded before and it is loaded now, it should be fine because the dependencies-data\n // is only about the auto-detect-deps. there are two more steps: version-resolution and apply-overrides that\n // disregard the dependencies-cache.\n // await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n /* eslint-enable no-await-in-loop */\n return current.componentDirectoryMap;\n }\n\n private shouldClearCacheOnInstall(): boolean {\n const nonLoadedEnvs = this.envs.getFailedToLoadEnvs();\n return nonLoadedEnvs.length > 0;\n }\n\n private async _getComponentsManifestsAndRootPolicy(\n installer: DependencyInstaller,\n options: GetComponentsAndManifestsOptions & {\n addMissingDeps?: boolean;\n linkedRootDeps: Record<string, string>;\n }\n ): Promise<{ componentsAndManifests: ComponentsAndManifests; mergedRootPolicy: WorkspacePolicy }> {\n const mergedRootPolicy = await this.addConfiguredAspectsToWorkspacePolicy();\n await this.addConfiguredGeneratorEnvsToWorkspacePolicy(mergedRootPolicy);\n const componentsAndManifests = await this._getComponentsManifests(installer, mergedRootPolicy, options);\n if (!options?.addMissingDeps) {\n return { componentsAndManifests, mergedRootPolicy };\n }\n const rootDeps = new Set(\n Object.keys({\n ...componentsAndManifests.manifests[this.workspace.path].devDependencies,\n ...componentsAndManifests.manifests[this.workspace.path].dependencies,\n ...options.linkedRootDeps,\n })\n );\n Object.values(omit(componentsAndManifests.manifests, [this.workspace.path])).forEach((manifest) => {\n if ((manifest as ProjectManifest).name) {\n rootDeps.add((manifest as ProjectManifest).name!); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n }\n });\n const addedNewPkgs = await this._addMissingPackagesToRootPolicy(rootDeps);\n if (!addedNewPkgs) {\n return { componentsAndManifests, mergedRootPolicy };\n }\n const mergedRootPolicyWithMissingDeps = await this.addConfiguredAspectsToWorkspacePolicy();\n await this.addConfiguredGeneratorEnvsToWorkspacePolicy(mergedRootPolicyWithMissingDeps);\n return {\n mergedRootPolicy: mergedRootPolicyWithMissingDeps,\n componentsAndManifests: await this._getComponentsManifests(installer, mergedRootPolicyWithMissingDeps, options),\n };\n }\n\n /**\n * The function `tryWriteConfigFiles` attempts to write workspace config files, and if it fails, it logs an error\n * message.\n * @returns If the condition `!shouldWrite` is true, then nothing is being returned. Otherwise, if the `writeConfigFiles`\n * function is successfully executed, nothing is being returned. If an error occurs during the execution of\n * `writeConfigFiles`, an error message is being returned.\n */\n private async tryWriteConfigFiles(clearCache: boolean) {\n const shouldWrite = this.wsConfigFiles.isWorkspaceConfigWriteEnabled();\n if (!shouldWrite) return;\n if (clearCache) {\n await this.workspace.clearCache({ skipClearFailedToLoadEnvs: true });\n }\n const { err } = await this.wsConfigFiles.writeConfigFiles({\n clean: true,\n silent: true,\n dedupe: true,\n throw: false,\n });\n if (err) {\n this.logger.consoleFailure(\n `failed generating workspace config files, please run \"bit ws-config write\" manually. error: ${err.message}`\n );\n }\n }\n\n private async addConfiguredAspectsToWorkspacePolicy(): Promise<WorkspacePolicy> {\n const rootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const aspectsPackages = await this.workspace.getConfiguredUserAspectsPackages({ externalsOnly: true });\n aspectsPackages.forEach((aspectsPackage) => {\n rootPolicy.add(\n {\n dependencyId: aspectsPackage.packageName,\n value: {\n version: aspectsPackage.version,\n },\n lifecycleType: 'runtime',\n },\n // If it's already exist from the root, take the version from the root policy\n { skipIfExisting: true }\n );\n });\n return rootPolicy;\n }\n\n private async addConfiguredGeneratorEnvsToWorkspacePolicy(rootPolicy: WorkspacePolicy): Promise<void> {\n const configuredEnvs = this.generator.getConfiguredEnvs();\n const resolvedEnvs = compact(\n await Promise.all(\n configuredEnvs.map(async (envIdStr) => {\n if (this.envs.isCoreEnv(envIdStr)) {\n return undefined;\n }\n const parsedId = await this.workspace.resolveComponentId(envIdStr);\n // If we have the env in the workspace, we don't want to install it\n const inWs = await this.workspace.hasId(parsedId);\n if (inWs) {\n return undefined;\n }\n const comps = await this.workspace.importAndGetMany(\n [parsedId],\n `to get the env ${parsedId.toString()} for installation`\n );\n const idWithVersion = await this.workspace.resolveEnvIdWithPotentialVersionForConfig(parsedId);\n const version = idWithVersion.split('@')[1] || '*';\n const packageName = this.dependencyResolver.getPackageName(comps[0]);\n return {\n packageName,\n version,\n };\n })\n )\n );\n\n resolvedEnvs.forEach((env) => {\n rootPolicy.add(\n {\n dependencyId: env.packageName,\n value: {\n version: env.version,\n },\n lifecycleType: 'runtime',\n },\n // If it's already exist from the root, take the version from the root policy\n { skipIfExisting: true }\n );\n });\n }\n\n private async _addMissingPackagesToRootPolicy(\n rootDeps: Set<string>,\n options?: WorkspaceInstallOptions\n ): Promise<boolean> {\n const packages = await this._getMissingPackagesWithoutRootDeps(rootDeps);\n if (packages && packages.length) {\n await this._addPackages(packages, options);\n }\n return packages.length > 0;\n }\n\n private async _getMissingPackagesWithoutRootDeps(rootDeps: Set<string>) {\n const packages = await this._getAllMissingPackages();\n return packages.filter((pkg) => !rootDeps.has(pkg));\n }\n\n private async _getAllMissingPackages(): Promise<string[]> {\n const comps = await this.workspace.list();\n return uniq(\n comps\n .map((comp) => {\n const data = comp.state.issues.getIssue(IssuesClasses.MissingPackagesDependenciesOnFs)?.data || [];\n return data.map((d) => d.missingPackages).flat();\n })\n .flat()\n );\n }\n\n private async _getComponentsManifests(\n dependencyInstaller: DependencyInstaller,\n rootPolicy: WorkspacePolicy,\n installOptions: GetComponentsAndManifestsOptions\n ): Promise<ComponentsAndManifests> {\n const componentDirectoryMap = await this.getComponentsDirectory([]);\n let manifests = await dependencyInstaller.getComponentManifests({\n ...installOptions,\n componentDirectoryMap,\n rootPolicy,\n rootDir: this.workspace.path,\n referenceLocalPackages: this.dependencyResolver.hasRootComponents() && installOptions.nodeLinker === 'isolated',\n });\n\n if (this.dependencyResolver.hasRootComponents()) {\n const rootManifests = await this._getRootManifests(manifests);\n await this._updateRootDirs(Object.keys(rootManifests));\n manifests = {\n ...manifests,\n ...rootManifests,\n };\n }\n return {\n componentDirectoryMap,\n manifests,\n };\n }\n\n /**\n * This function returns a list of old non-loaded environments names.\n * @returns an array of strings called `oldNonLoadedEnvs`. This array contains the names of environment variables that\n * failed to load as extensions and are also don't have an env.jsonc file.\n * If this list is not empty, then the user might need to run another install to make sure all dependencies resolved\n * correctly\n */\n public getOldNonLoadedEnvs() {\n const nonLoadedEnvs = this.envs.getFailedToLoadEnvs();\n const envsWithoutManifest = Array.from(this.dependencyResolver.envsWithoutManifest);\n const oldNonLoadedEnvs = intersection(nonLoadedEnvs, envsWithoutManifest);\n return oldNonLoadedEnvs;\n }\n\n private async _updateRootDirs(rootDirs: string[]) {\n try {\n const existingDirs = await fs.readdir(this.workspace.rootComponentsPath);\n await Promise.all(\n existingDirs.map(async (dirName) => {\n const dirPath = path.join(this.workspace.rootComponentsPath, dirName);\n if (!rootDirs.includes(dirPath)) {\n await fs.remove(dirPath);\n }\n })\n );\n } catch (err: any) {\n if (err.code !== 'ENOENT') throw err;\n }\n await Promise.all(rootDirs.map((dirPath) => fs.mkdir(dirPath, { recursive: true })));\n }\n\n private async _getRootManifests(\n manifests: Record<string, ProjectManifest>\n ): Promise<Record<string, ProjectManifest>> {\n const nonRootManifests = Object.values(manifests).filter(({ name }) => name !== 'workspace');\n const workspaceDeps = this.dependencyResolver.getWorkspaceDepsOfBitRoots(nonRootManifests);\n const workspaceDepsMeta = Object.keys(workspaceDeps).reduce((acc, depName) => {\n acc[depName] = { injected: true };\n return acc;\n }, {});\n const envManifests = await this._getEnvManifests(workspaceDeps, workspaceDepsMeta);\n const appManifests = await this._getAppManifests(manifests, workspaceDeps, workspaceDepsMeta);\n return {\n ...envManifests,\n ...appManifests,\n };\n }\n\n private async _getEnvManifests(\n workspaceDeps: Record<string, string>,\n workspaceDepsMeta: Record<string, { injected: true }>\n ): Promise<Record<string, ProjectManifest>> {\n const envs = await this._getAllUsedEnvIds();\n return Object.fromEntries(\n await Promise.all(\n envs.map(async (envId) => {\n return [\n await this.getRootComponentDirByRootId(this.workspace.rootComponentsPath, envId),\n {\n dependencies: {\n ...(await this._getEnvDependencies(envId)),\n ...workspaceDeps,\n ...(await this._getEnvPackage(envId)),\n },\n dependenciesMeta: workspaceDepsMeta,\n installConfig: {\n hoistingLimits: 'workspaces',\n },\n },\n ];\n })\n )\n );\n }\n\n private async _getEnvDependencies(envId: ComponentID): Promise<Record<string, string>> {\n const policy = await this.dependencyResolver.getEnvPolicyFromEnvId(envId);\n if (!policy) return {};\n return Object.fromEntries(\n policy.selfPolicy.entries\n .filter(({ force, value }) => force && value.version !== '-')\n .map(({ dependencyId, value }) => [dependencyId, value.version])\n );\n }\n\n /**\n * Return the package name of the env with its version.\n * (only if the env is not a core env and is not in the workspace)\n * @param envId\n * @returns\n */\n private async _getEnvPackage(envId: ComponentID): Promise<Record<string, string> | undefined> {\n if (this.envs.isCoreEnv(envId.toStringWithoutVersion())) return undefined;\n const inWs = await this.workspace.hasId(envId);\n if (inWs) return undefined;\n const envComponent = await this.envs.getEnvComponentByEnvId(envId.toString(), envId.toString());\n if (!envComponent) return undefined;\n const packageName = this.dependencyResolver.getPackageName(envComponent);\n const version = envId.version;\n const finalVersion = snapToSemver(version as string);\n return { [packageName]: finalVersion };\n }\n\n private async _getAppManifests(\n manifests: Record<string, ProjectManifest>,\n workspaceDeps: Record<string, string>,\n workspaceDepsMeta: Record<string, { injected: true }>\n ): Promise<Record<string, ProjectManifest>> {\n return Object.fromEntries(\n compact(\n await Promise.all(\n (\n await this.app.listAppsComponents()\n ).map(async (app) => {\n const appPkgName = this.dependencyResolver.getPackageName(app);\n const appManifest = Object.values(manifests).find(({ name }) => name === appPkgName);\n if (!appManifest) return null;\n const envId = await this.envs.calculateEnvId(app);\n return [\n await this.getRootComponentDirByRootId(this.workspace.rootComponentsPath, app.id),\n {\n ...omit(appManifest, ['name', 'version']),\n dependencies: {\n ...(await this._getEnvDependencies(envId)),\n ...appManifest.dependencies,\n ...workspaceDeps,\n },\n dependenciesMeta: {\n ...appManifest.dependenciesMeta,\n ...workspaceDepsMeta,\n },\n installConfig: {\n hoistingLimits: 'workspaces',\n },\n },\n ];\n })\n )\n )\n );\n }\n\n private async _getAllUsedEnvIds(): Promise<ComponentID[]> {\n const envs = new Map<string, ComponentID>();\n const components = await this.workspace.list();\n await pMapSeries(components, async (component) => {\n const envId = await this.envs.calculateEnvId(component);\n envs.set(envId.toString(), envId);\n });\n return Array.from(envs.values());\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: {\n forceVersionBump?: 'major' | 'minor' | 'patch' | 'compatible';\n patterns?: string[];\n all: boolean;\n }): Promise<ComponentMap<string> | null> {\n const componentPolicies = 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 componentPolicies,\n components,\n patterns: options.patterns,\n forceVersionBump: options.forceVersionBump,\n });\n if (outdatedPkgs == null) {\n this.logger.consoleFailure('No dependencies found that match the patterns');\n return null;\n }\n let outdatedPkgsToUpdate!: MergedOutdatedPkg[];\n if (options.all) {\n outdatedPkgsToUpdate = outdatedPkgs;\n } else {\n this.logger.off();\n outdatedPkgsToUpdate = await pickOutdatedPkgs(outdatedPkgs);\n this.logger.on();\n }\n if (outdatedPkgsToUpdate.length === 0) {\n this.logger.consoleSuccess('No outdated dependencies found');\n if (options.forceVersionBump === 'compatible') {\n this.logger.console(\n \"If you want to find new versions that don't match the current version ranges, retry with the --latest flag\"\n );\n }\n return null;\n }\n const { updatedVariants, updatedComponents } = this.dependencyResolver.applyUpdates(outdatedPkgsToUpdate, {\n variantPoliciesByPatterns,\n });\n await this._updateVariantsPolicies(variantPatterns, updatedVariants);\n await this._updateComponentsConfig(updatedComponents);\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 if (component.state._consumer.removed) return;\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 = this.workspace.listIds();\n const componentPolicies = [] as Array<{ componentId: ComponentID; policy: 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];\n componentPolicies.push({ componentId, policy: depResolverConfig.config.policy });\n });\n return componentPolicies;\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 async _updateComponentsConfig(updatedComponents: UpdatedComponent[]) {\n if (updatedComponents.length === 0) return;\n await Promise.all(\n updatedComponents.map(({ componentId, config }) => {\n return this.workspace.addSpecificComponentConfig(componentId, DependencyResolverAspect.id, config, {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n });\n })\n );\n await this.workspace.bitMap.write('update (dependencies)');\n }\n\n private async _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 await this.dependencyResolver.persistConfig('update dependencies');\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('uninstall dependencies');\n return this._installModules({ dedupe: true });\n }\n\n /**\n * This function returns all the locations of the external links that should be created inside node_modules.\n * This information may then be passed to the package manager, which will create the links on its own.\n */\n async calculateLinks(\n options: WorkspaceLinkOptions = {}\n ): Promise<{ linkResults: WorkspaceLinkResults; linkedRootDeps: Record<string, string> }> {\n await pMapSeries(this.preLinkSlot.values(), (fn) => fn(options)); // import objects if not disabled in options\n const compDirMap = await this.getComponentsDirectory([]);\n const linker = this.dependencyResolver.getLinker({\n rootDir: this.workspace.path,\n linkingOptions: options,\n });\n const { linkResults: res, linkedRootDeps } = await linker.calculateLinkedDeps(\n this.workspace.path,\n compDirMap,\n options\n );\n const workspaceRes = res as WorkspaceLinkResults;\n\n const legacyResults = await this.linkCodemods(compDirMap, options);\n workspaceRes.legacyLinkResults = legacyResults.linksResults;\n workspaceRes.legacyLinkCodemodResults = legacyResults.codemodResults;\n\n if (this.dependencyResolver.hasRootComponents() && options.linkToBitRoots) {\n await this._linkAllComponentsToBitRoots(compDirMap);\n }\n return { linkResults: res, linkedRootDeps };\n }\n\n async linkCodemods(compDirMap: ComponentMap<string>, options?: { rewire?: boolean }) {\n const bitIds = compDirMap.toArray().map(([component]) => component.id);\n return linkToNodeModulesWithCodemod(this.workspace, bitIds, options?.rewire ?? false);\n }\n\n async link(options: WorkspaceLinkOptions = {}): Promise<WorkspaceLinkResults> {\n const { linkResults, linkedRootDeps } = await this.calculateLinks(options);\n await createLinks(options.linkToDir ?? this.workspace.path, linkedRootDeps, {\n avoidHardLink: true,\n skipIfSymlinkValid: true,\n });\n return linkResults;\n }\n\n private async _linkAllComponentsToBitRoots(compDirMap: ComponentMap<string>) {\n const envs = await this._getAllUsedEnvIds();\n const apps = (await this.app.listAppsComponents()).map((component) => component.id);\n await Promise.all(\n [...envs, ...apps].map(async (id) => {\n const dir = await this.getRootComponentDirByRootId(this.workspace.rootComponentsPath, id);\n await fs.mkdirp(dir);\n })\n );\n await linkPkgsToRootComponents(\n {\n rootComponentsPath: this.workspace.rootComponentsPath,\n workspacePath: this.workspace.path,\n },\n compDirMap.components.map((component) => this.dependencyResolver.getPackageName(component))\n );\n }\n\n private async getRootComponentDirByRootId(rootComponentsPath: string, rootComponentId: ComponentID): Promise<string> {\n // Root directories for local envs and apps are created without their version number.\n // This is done in order to avoid changes to the lockfile after such components are tagged.\n const id = this.workspace.hasId(rootComponentId)\n ? rootComponentId.toStringWithoutVersion()\n : rootComponentId.toString();\n return getRootComponentDir(rootComponentsPath, id);\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\n ? await this.workspace.getMany(ids)\n : await this.workspace.list(undefined, { loadSeedersAsAspects: false });\n return ComponentMap.as<string>(components, (component) => this.workspace.componentDir(component.id));\n }\n\n private async onRootAspectAddedSubscriber(_aspectId: ComponentID, inWs: boolean): Promise<void> {\n if (!inWs) {\n await this.install();\n }\n }\n private async onAspectsResolveSubscriber(aspectComponents: Component[]): Promise<void> {\n let needLink = false;\n let needInstall = false;\n const promises = aspectComponents.map(async (aspectComponent) => {\n const aspectIdStr = aspectComponent.id.toString();\n if (this.visitedAspects.has(aspectIdStr)) return;\n\n this.visitedAspects.add(aspectIdStr);\n const packagePath = await this.workspace.getComponentPackagePath(aspectComponent);\n const exists = await pathExists(packagePath);\n if (!exists) {\n const inWs = await this.workspace.hasId(aspectComponent.id);\n if (inWs) {\n needLink = true;\n } else {\n needInstall = true;\n }\n }\n });\n await Promise.all(promises);\n if (needInstall) {\n await this.install();\n return;\n }\n if (needLink) {\n await this.link();\n }\n }\n\n static slots = [Slot.withType<PreLinkSlot>(), Slot.withType<PreInstallSlot>(), Slot.withType<PostInstallSlot>()];\n static dependencies = [\n DependencyResolverAspect,\n WorkspaceAspect,\n LoggerAspect,\n VariantsAspect,\n CLIAspect,\n CompilerAspect,\n IssuesAspect,\n EnvsAspect,\n ApplicationAspect,\n IpcEventsAspect,\n GeneratorAspect,\n WorkspaceConfigFilesAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [\n dependencyResolver,\n workspace,\n loggerExt,\n variants,\n cli,\n compiler,\n issues,\n envs,\n app,\n ipcEvents,\n generator,\n wsConfigFiles,\n ]: [\n DependencyResolverMain,\n Workspace,\n LoggerMain,\n VariantsMain,\n CLIMain,\n CompilerMain,\n IssuesMain,\n EnvsMain,\n ApplicationMain,\n IpcEventsMain,\n GeneratorMain,\n WorkspaceConfigFilesMain\n ],\n _,\n [preLinkSlot, preInstallSlot, postInstallSlot]: [PreLinkSlot, PreInstallSlot, PostInstallSlot]\n ) {\n const logger = loggerExt.createLogger(InstallAspect.id);\n ipcEvents.registerGotEventSlot(async (eventName) => {\n if (eventName !== 'onPostInstall') return;\n logger.debug('got onPostInstall event, clear workspace and all components cache');\n await workspace.clearCache();\n workspace.clearAllComponentsCache();\n await pMapSeries(postInstallSlot.values(), (fn) => fn());\n });\n const installExt = new InstallMain(\n dependencyResolver,\n logger,\n workspace,\n variants,\n compiler,\n envs,\n wsConfigFiles,\n app,\n generator,\n preLinkSlot,\n preInstallSlot,\n postInstallSlot,\n ipcEvents\n );\n if (issues) {\n issues.registerAddComponentsIssues(installExt.addDuplicateComponentAndPackageIssue.bind(installExt));\n }\n generator.registerOnComponentCreate(installExt.onComponentCreate.bind(installExt));\n const commands: CommandList = [\n new InstallCmd(installExt, workspace, logger),\n new UninstallCmd(installExt),\n new UpdateCmd(installExt),\n new LinkCommand(installExt, workspace, logger),\n ];\n // For now do not automate installation during aspect resolving\n // workspace.registerOnAspectsResolve(installExt.onAspectsResolveSubscriber.bind(installExt));\n if (workspace) {\n workspace.registerOnRootAspectAdded(installExt.onRootAspectAddedSubscriber.bind(installExt));\n }\n cli.register(...commands);\n return installExt;\n }\n}\n\ntype ComponentsAndManifests = {\n componentDirectoryMap: ComponentMap<string>;\n manifests: Record<string, ProjectManifest>;\n};\n\nfunction hasComponentsFromWorkspaceInMissingDeps({\n componentDirectoryMap,\n manifests,\n}: ComponentsAndManifests): boolean {\n const missingDeps = new Set<string>(\n componentDirectoryMap\n .toArray()\n .map(([{ state }]) => {\n const issue = state.issues.getIssue(IssuesClasses.MissingPackagesDependenciesOnFs);\n if (!issue) return [];\n return issue.data.map((d) => d.missingPackages).flat();\n })\n .flat()\n );\n return Object.values(manifests).some(({ name }) => name && missingDeps.has(name));\n}\n\nInstallAspect.addRuntime(InstallMain);\n\nexport default InstallMain;\n\nfunction manifestsHash(manifests: Record<string, ProjectManifest>): string {\n // We don't care if the type of the dependency changes as it doesn't change the node_modules structure\n const depsByProjectPaths = mapValues(manifests, (manifest) => ({\n ...manifest.devDependencies,\n ...manifest.dependencies,\n }));\n return hash(depsByProjectPaths);\n}\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAH,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,MAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,UAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,SAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,KAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,IAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,OAAA;EAAA,MAAAR,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAM,MAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,YAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,WAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,QAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,OAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAW,WAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,UAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,YAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,WAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,aAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,YAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,UAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,SAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,WAAA;EAAA,MAAAf,IAAA,GAAAE,OAAA;EAAAa,UAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,gBAAA;EAAA,MAAAhB,IAAA,GAAAE,OAAA;EAAAc,eAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,YAAA;EAAA,MAAAjB,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAe,WAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,SAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,QAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,kBAAA;EAAA,MAAAnB,IAAA,GAAAE,OAAA;EAAAiB,iBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAoB,MAAA;EAAA,MAAApB,IAAA,GAAAE,OAAA;EAAAkB,KAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,WAAA;EAAA,MAAArB,IAAA,GAAAE,OAAA;EAAAmB,UAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,iBAAA;EAAA,MAAAtB,IAAA,GAAAE,OAAA;EAAAoB,gBAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,oBAAA;EAAA,MAAAvB,IAAA,GAAAE,OAAA;EAAAqB,mBAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAiBA,SAAAwB,sBAAA;EAAA,MAAAxB,IAAA,GAAAE,OAAA;EAAAsB,qBAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,QAAA;EAAA,MAAAzB,IAAA,GAAAE,OAAA;EAAAuB,OAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,QAAA;EAAA,MAAA1B,IAAA,GAAAE,OAAA;EAAAwB,OAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,yBAAA;EAAA,MAAA3B,IAAA,GAAAE,OAAA;EAAAyB,wBAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA4B,YAAA;EAAA,MAAA5B,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAA0B,WAAA,YAAAA,CAAA;IAAA,OAAA5B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA6B,YAAA;EAAA,MAAA7B,IAAA,GAAAE,OAAA;EAAA2B,WAAA,YAAAA,CAAA;IAAA,OAAA7B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA8B,SAAA;EAAA,MAAA9B,IAAA,GAAAE,OAAA;EAAA4B,QAAA,YAAAA,CAAA;IAAA,OAAA9B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+B,kBAAA;EAAA,MAAA/B,IAAA,GAAAE,OAAA;EAAA6B,iBAAA,YAAAA,CAAA;IAAA,OAAA/B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgC,MAAA;EAAA,MAAAhC,IAAA,GAAAE,OAAA;EAAA8B,KAAA,YAAAA,CAAA;IAAA,OAAAhC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiC,UAAA;EAAA,MAAAjC,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAA+B,SAAA,YAAAA,CAAA;IAAA,OAAAjC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkC,WAAA;EAAA,MAAAlC,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAgC,UAAA,YAAAA,CAAA;IAAA,OAAAlC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmC,QAAA;EAAA,MAAAnC,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAiC,OAAA,YAAAA,CAAA;IAAA,OAAAnC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAqC,SAAAI,uBAAAgC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAnC,wBAAAmC,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAApB,CAAA,EAAAK,CAAA,QAAAC,CAAA,GAAAM,MAAA,CAAAS,IAAA,CAAArB,CAAA,OAAAY,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAAtB,CAAA,GAAAK,CAAA,KAAAkB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAnB,CAAA,WAAAO,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAK,CAAA,EAAAoB,UAAA,OAAAnB,CAAA,CAAAoB,IAAA,CAAAC,KAAA,CAAArB,CAAA,EAAAiB,CAAA,YAAAjB,CAAA;AAAA,SAAAsB,cAAA5B,CAAA,aAAAK,CAAA,MAAAA,CAAA,GAAAwB,SAAA,CAAAC,MAAA,EAAAzB,CAAA,UAAAC,CAAA,WAAAuB,SAAA,CAAAxB,CAAA,IAAAwB,SAAA,CAAAxB,CAAA,QAAAA,CAAA,OAAAe,OAAA,CAAAR,MAAA,CAAAN,CAAA,OAAAyB,OAAA,WAAA1B,CAAA,IAAA2B,eAAA,CAAAhC,CAAA,EAAAK,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAO,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAlC,CAAA,EAAAY,MAAA,CAAAqB,yBAAA,CAAA3B,CAAA,KAAAc,OAAA,CAAAR,MAAA,CAAAN,CAAA,GAAAyB,OAAA,WAAA1B,CAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,EAAAO,MAAA,CAAAE,wBAAA,CAAAR,CAAA,EAAAD,CAAA,iBAAAL,CAAA;AAAA,SAAAgC,gBAAAhC,CAAA,EAAAK,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAA8B,cAAA,CAAA9B,CAAA,MAAAL,CAAA,GAAAY,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,IAAA+B,KAAA,EAAA9B,CAAA,EAAAmB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAAtC,CAAA,CAAAK,CAAA,IAAAC,CAAA,EAAAN,CAAA;AAAA,SAAAmC,eAAA7B,CAAA,QAAAY,CAAA,GAAAqB,YAAA,CAAAjC,CAAA,uCAAAY,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAqB,aAAAjC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAN,CAAA,GAAAM,CAAA,CAAAkC,MAAA,CAAAC,WAAA,kBAAAzC,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAX,CAAA,EAAAD,CAAA,uCAAAa,CAAA,SAAAA,CAAA,YAAAwB,SAAA,yEAAArC,CAAA,GAAAsC,MAAA,GAAAC,MAAA,EAAAtC,CAAA;AAkD9B,MAAMuC,WAAW,CAAC;EAGvBC,WAAWA,CACDC,kBAA0C,EAE1CC,MAAc,EAEdC,SAAoB,EAEpBC,QAAsB,EAEtBC,QAAsB,EAEtBC,IAAc,EAEdC,aAAuC,EAEvCC,GAAoB,EAEpBC,SAAwB,EAExBC,WAAwB,EAExBC,cAA8B,EAE9BC,eAAgC,EAEhCC,SAAwB,EAChC;IAAA,KAzBQZ,kBAA0C,GAA1CA,kBAA0C;IAAA,KAE1CC,MAAc,GAAdA,MAAc;IAAA,KAEdC,SAAoB,GAApBA,SAAoB;IAAA,KAEpBC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,IAAc,GAAdA,IAAc;IAAA,KAEdC,aAAuC,GAAvCA,aAAuC;IAAA,KAEvCC,GAAoB,GAApBA,GAAoB;IAAA,KAEpBC,SAAwB,GAAxBA,SAAwB;IAAA,KAExBC,WAAwB,GAAxBA,WAAwB;IAAA,KAExBC,cAA8B,GAA9BA,cAA8B;IAAA,KAE9BC,eAAgC,GAAhCA,eAAgC;IAAA,KAEhCC,SAAwB,GAAxBA,SAAwB;IAAA3B,eAAA,yBA3BI,IAAI4B,GAAG,CAAC,CAAC;EA4B5C;EACH;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,OAAOA,CAACC,QAAmB,EAAEC,OAAiC,EAAiC;IACnG;IACA,IAAI,CAACd,SAAS,CAACe,gBAAgB,GAAG,IAAI;IACtC,IAAIF,QAAQ,IAAIA,QAAQ,CAAChC,MAAM,EAAE;MAC/B,MAAM,IAAI,CAACmC,YAAY,CAACH,QAAQ,EAAEC,OAAO,CAAC;IAC5C;IACA,IAAIA,OAAO,EAAEG,eAAe,EAAE;MAC5B,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACC,sBAAsB,CAAC,EAAE,CAAC;MACxD,MAAMC,gBAAgB,GAAG,IAAI,CAACtB,kBAAkB,CAACuB,kBAAkB,CAAC,CAAC;MACrE,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACC,sCAAsC,CAAC,CAAC;MACxE,MAAMC,gBAA8C,GAAG;QACrDC,MAAM,EAAEX,OAAO,EAAEW,MAAM;QACvBC,uBAAuB,EAAEZ,OAAO,EAAEY,uBAAuB,IAAI,IAAI;QACjEC,6BAA6B,EAAEb,OAAO,EAAEa,6BAA6B,IAAI,KAAK;QAC9EC,kBAAkB,EAAEN,YAAY;QAChCO,SAAS,EAAE,IAAI,CAAC/B,kBAAkB,CAACgC,MAAM,CAACD,SAAS;QACnDE,aAAa,EAAE,IAAI,CAACjC,kBAAkB,CAACgC,MAAM,CAACC,aAAa;QAC3DC,mBAAmB,EAAE,IAAI,CAAClC,kBAAkB,CAACgC,MAAM,CAACE;MACtD,CAAC;MACD,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACnC,kBAAkB,CAACoC,0BAA0B,CAC3E,IAAI,CAAClC,SAAS,CAACmC,IAAI,EACnBf,gBAAgB,EAChBF,UAAU,EACVM,gBACF,CAAC;MACD,IAAIS,YAAY,EAAE;QAChB,MAAMG,mBAAmB,GAAGzE,MAAM,CAAC0E,OAAO,CAACJ,YAAY,CAAC,CAACK,GAAG,CAAC,CAAC,CAACC,QAAQ,EAAEC,KAAK,CAAC,KAAK,GAAGD,QAAQ,IAAIC,KAAK,EAAE,CAAC;QAC3G,MAAM,IAAI,CAACxB,YAAY,CAACoB,mBAAmB,EAAEtB,OAAO,CAAC;MACvD,CAAC,MAAM;QACL,IAAI,CAACf,MAAM,CAAC0C,OAAO,CAAC,qCAAqC,CAAC;MAC5D;IACF;IACA,MAAM,IAAAC,qBAAU,EAAC,IAAI,CAAClC,cAAc,CAACmC,MAAM,CAAC,CAAC,EAAGC,EAAE,IAAKA,EAAE,CAAC9B,OAAO,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM+B,GAAG,GAAG,MAAM,IAAI,CAACC,eAAe,CAAChC,OAAO,CAAC;IAC/C,IAAI,CAACd,SAAS,CAACe,gBAAgB,GAAG,KAAK;IAEvC,MAAM,IAAI,CAACL,SAAS,CAACqC,eAAe,CAAC,eAAe,CAAC;IAErD,OAAOF,GAAG;EACZ;EAEAG,eAAeA,CAACJ,EAAW,EAAE;IAC3B,IAAI,CAACrC,WAAW,CAAC0C,QAAQ,CAACL,EAAE,CAAC;EAC/B;EAEAM,kBAAkBA,CAACN,EAAc,EAAE;IACjC,IAAI,CAACpC,cAAc,CAACyC,QAAQ,CAACL,EAAE,CAAC;EAClC;EAEAO,mBAAmBA,CAACP,EAAe,EAAE;IACnC,IAAI,CAACnC,eAAe,CAACwC,QAAQ,CAACL,EAAE,CAAC;EACnC;EAEA,MAAMQ,iBAAiBA,CAACC,eAAiC,EAAE;IACzD,IAAI,CAACrD,SAAS,CAACe,gBAAgB,GAAG,IAAI;IACtC,IAAIuC,UAAU,GAAG,KAAK;IACtB,IAAIzC,QAAkB,GAAG,EAAE;IAC3B,IAAI0C,cAAc,GAAG,KAAK;IAE1B,MAAMC,GAAG,GAAGH,eAAe,CAACf,GAAG,CAAEmB,cAAc,IAAK;MAClD,IAAIA,cAAc,CAACC,YAAY,IAAID,cAAc,CAACC,YAAY,CAAC7E,MAAM,EAAE;QACrEgC,QAAQ,GAAGA,QAAQ,CAAC8C,MAAM,CAACF,cAAc,CAACC,YAAY,CAAC;QACvDJ,UAAU,GAAG,IAAI;MACnB;MACA,IAAIG,cAAc,CAACG,0BAA0B,EAAE;QAC7CL,cAAc,GAAG,IAAI;QACrBD,UAAU,GAAG,IAAI;MACnB;MACA,IAAIG,cAAc,CAACI,KAAK,IAAIJ,cAAc,CAACK,KAAK,EAAE;QAChDR,UAAU,GAAG,IAAI;MACnB;MACA,OAAOG,cAAc,CAACM,EAAE;IAC1B,CAAC,CAAC;IACF,MAAMC,aAAuB,GAAG,EAAE;IAElCR,GAAG,CAAClB,GAAG,CAAEyB,EAAE,IAAK,IAAI,CAAC/D,SAAS,CAACiE,mBAAmB,CAACF,EAAE,CAAC,CAAC;IACvD,MAAM,IAAArB,qBAAU,EAACc,GAAG,EAAE,MAAOO,EAAE,IAAK;MAClC,MAAMG,SAAS,GAAG,MAAM,IAAI,CAAClE,SAAS,CAACzC,GAAG,CAACwG,EAAE,CAAC;MAC9C;MACA,MAAMI,KAAK,GAAG,CAAC,MAAM,IAAI,CAAChE,IAAI,CAACiE,cAAc,CAACF,SAAS,CAAC,EAAEG,QAAQ,CAAC,CAAC;MACpE,MAAMC,QAAQ,GAAG,IAAI,CAACnE,IAAI,CAACoE,eAAe,CAACJ,KAAK,CAAC;MACjD,IAAI,CAACG,QAAQ,EAAE;QACbN,aAAa,CAACvF,IAAI,CAAC0F,KAAK,CAAC;MAC3B;MACA,OAAOD,SAAS;IAClB,CAAC,CAAC;IACF,IAAIF,aAAa,CAACnF,MAAM,EAAE;MACxByE,UAAU,GAAG,IAAI;IACnB;IACA,IAAI,CAACA,UAAU,EAAE;MACf,IAAI,CAACtD,SAAS,CAACe,gBAAgB,GAAG,KAAK;MACvC;IACF;IACA;IACA;IACA;IACA,MAAM,IAAI,CAACH,OAAO,CAACC,QAAQ,EAAE;MAC3B2D,cAAc,EAAEjB,cAAc;MAC9BkB,cAAc,EAAE,IAAI;MACpBC,gBAAgB,EAAE,KAAK;MACvBC,SAAS,EAAE;IACb,CAAC,CAAC;EACJ;EAEA,MAAc3D,YAAYA,CAACH,QAAkB,EAAEC,OAAiC,EAAE;IAChF,IAAKA,OAAO,EAAE8D,aAAa,KAAgB,KAAK,EAAE;MAChD,MAAM,KAAIC,gDAAkC,EAAC/D,OAAO,EAAE8D,aAAuB,CAAC;IAChF;IACA,IAAI,CAAC7E,MAAM,CAAC+E,KAAK,CAAC,sCAAsCjE,QAAQ,CAACkE,IAAI,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAAClF,kBAAkB,CAACmF,kBAAkB,CAAC,CAAC;IACnE,MAAMC,iBAAiB,GAAGrE,QAAQ,CAACyB,GAAG,CAAE6C,WAAW,IACjDH,QAAQ,CAACI,oBAAoB,CAACD,WAAW,EAAE;MACzCE,OAAO,EAAE,IAAI,CAACrF,SAAS,CAACmC;IAC1B,CAAC,CACH,CAAC;IACD,MAAMmD,gBAAgB,GAAG,MAAMC,OAAO,CAACC,GAAG,CAACN,iBAAiB,CAAC;IAC7D,MAAMO,yBAAiD,GAAG,EAAE;IAC5DH,gBAAgB,CAACxG,OAAO,CAAE4G,eAAe,IAAK;MAC5C,IAAIA,eAAe,CAACC,OAAO,EAAE;QAC3B,MAAMC,iBAAiB,GAAG,IAAI,CAAC9F,kBAAkB,CAAC+F,wBAAwB,CAAC;UACzEF,OAAO,EAAED,eAAe,CAACC,OAAO;UAChCG,cAAc,EAAEhF,OAAO,EAAEiF,UAAU;UACnCC,WAAW,EAAEN,eAAe,CAACM;QAC/B,CAAC,CAAC;QACFP,yBAAyB,CAAChH,IAAI,CAAC;UAC7BwH,YAAY,EAAEP,eAAe,CAACP,WAAW;UACzChG,KAAK,EAAE;YACLwG,OAAO,EAAEC;UACX,CAAC;UACDhB,aAAa,EAAE9D,OAAO,EAAE8D,aAAa,IAAI;QAC3C,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IACF,IAAI,CAAC9E,kBAAkB,CAACoG,eAAe,CAACT,yBAAyB,EAAE;MACjEU,cAAc,EAAErF,OAAO,EAAEqF,cAAc,IAAI,KAAK;MAChD1B,cAAc,EAAE3D,OAAO,EAAE2D,cAAc,IAAI;IAC7C,CAAC,CAAC;IACF,MAAM,IAAI,CAAC3E,kBAAkB,CAACsG,aAAa,CAAC,SAAS,CAAC;EACxD;EAEA,MAActD,eAAeA,CAAChC,OAA+B,EAAiC;IAC5F,MAAMuF,EAAE,GAAG,IAAI,CAACvG,kBAAkB,CAACwG,iBAAiB,CAAC,CAAC;IACtD,IAAI,CAACvG,MAAM,CAAC0C,OAAO,CACjB,8CAA8C4D,EAAE,EAAEE,IAAI,KAAKC,gBAAK,CAACC,IAAI,CACnE,IAAI,CAAC3G,kBAAkB,CAAC4G,qBAAqB,CAAC,CAChD,CAAC,GACH,CAAC;IACD,IAAI,CAAC3G,MAAM,CAAC+E,KAAK,CAAC,mDAAmD,EAAEhE,OAAO,CAAC;IAC/E,MAAMQ,YAAY,GAAG,MAAM,IAAI,CAACC,sCAAsC,CAAC,CAAC;IACxE,MAAMoF,iBAAiB,GAAG,IAAI,CAAC7G,kBAAkB,CAAC6G,iBAAiB,CAAC,CAAC;IACrE;IACA,MAAMC,SAAS,GAAG,IAAI,CAAC9G,kBAAkB,CAAC+G,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAMC,iBAAmD,GAAG;MAC1DnF,6BAA6B,EAAEb,OAAO,EAAEa,6BAA6B,IAAI,KAAK;MAC9ED,uBAAuB,EAAEZ,OAAO,EAAEY,uBAAuB,IAAI,IAAI;MACjED,MAAM,EAAE,CAACkF,iBAAiB,IAAI7F,OAAO,EAAEW,MAAM;MAC7CG,kBAAkB,EAAEN,YAAY;MAChCyF,UAAU,EAAE,IAAI,CAACjH,kBAAkB,CAACiH,UAAU,CAAC;IACjD,CAAC;IACD,MAAMC,QAAQ,GAAG;MACfC,cAAc,EAAE,IAAI;MACpBC,eAAe,EAAE,IAAI,CAACpH,kBAAkB,CAACoH,eAAe,CAAC,CAAC;MAC1DC,uBAAuB,EAAE,CAACR,iBAAiB;MAC3CS,kBAAkB,EAAE,CAAC,IAAI,CAACpH,SAAS,CAACqH,QAAQ,IAAI,CAACV;IACnD,CAAC;IACD,MAAM;MAAEW;IAAe,CAAC,GAAG,MAAM,IAAI,CAACC,cAAc,CAACP,QAAQ,CAAC;IAC9D;IACA,IAAI;MAAE5F,gBAAgB;MAAEoG,sBAAsB,EAAEC;IAAQ,CAAC,GAAG,MAAM,IAAI,CAACC,oCAAoC,CACzGd,SAAS,EAAAjI,aAAA,CAAAA,aAAA,KAEJmI,iBAAiB;MACpBtC,cAAc,EAAE1D,OAAO,EAAE0D,cAAc;MACvC8C;IAAc,EAElB,CAAC;IAED,MAAM9F,gBAA8C,GAAA7C,aAAA,CAAAA,aAAA,KAC/CmI,iBAAiB;MACpBa,gBAAgB,EAAE,IAAI,CAAC7H,kBAAkB,CAACgC,MAAM,CAAC6F,gBAAgB;MACjEC,mBAAmB,EAAE9G,OAAO,EAAE8G,mBAAmB;MACjDC,sBAAsB,EAAE,IAAI,CAAC/H,kBAAkB,CAACgC,MAAM,CAAC+F,sBAAsB;MAC7EhG,SAAS,EAAE,IAAI,CAAC/B,kBAAkB,CAACgC,MAAM,CAACD,SAAS;MACnDE,aAAa,EAAE,IAAI,CAACjC,kBAAkB,CAACgC,MAAM,CAACC,aAAa;MAC3D+F,yBAAyB,EAAE,IAAI,CAAChI,kBAAkB,CAACgC,MAAM,CAACgG,yBAAyB;MACnF9F,mBAAmB,EAAE,IAAI,CAAClC,kBAAkB,CAACgC,MAAM,CAACE,mBAAmB;MACvE+F,cAAc,EAAEpB,iBAAiB;MACjCqB,SAAS,EAAElH,OAAO,EAAEkH,SAAS;MAC7BC,4BAA4B,EAAEnH,OAAO,EAAEmH,4BAA4B;MACnEC,YAAY,EAAEpH,OAAO,EAAEoH;IAAY,EACpC;IACD,MAAMC,aAAa,GAAG,IAAIxH,GAAG,CAAS,CAAC;IACvC;IACA;IACA,MAAMyH,kBAAkB,GAAG;MACzB,CAAC,IAAI,CAACpI,SAAS,CAACmC,IAAI,GAAGmF;IACzB,CAAC;IACD,MAAMpG,UAAU,GAAG,MAAM,IAAI,CAACC,sBAAsB,CAAC,EAAE,CAAC;IACxD,IAAIkH,YAAY,GAAG,CAAC;IACpB,IAAIC,yBAAyB,GAAG,IAAI;IACpC,MAAMC,uBAAuB,GAAG,CAAC,IAAI,CAACzI,kBAAkB,CAAC0I,sBAAsB,CAAC,CAAC;IACjF;IACA,GAAG;MACD;MACA;MACA;MACA;MACAF,yBAAyB,GAAG3B,iBAAiB,IAAI8B,uCAAuC,CAAChB,OAAO,CAAC;MACjG,MAAM;QAAEiB;MAAoB,CAAC,GAAG,MAAM9B,SAAS,CAAC+B,iBAAiB,CAC/D,IAAI,CAAC3I,SAAS,CAACmC,IAAI,EACnBsF,OAAO,CAACmB,SAAS,EACjBxH,gBAAgB,EAChBqG,OAAO,CAACoB,qBAAqB,EAC7B;QACET,kBAAkB;QAClBU,iBAAiB,EAAE,KAAK;QACxBP;MACF,CAAC,EACD/G,gBACF,CAAC;MACD,IAAIuH,YAAY,GAAG,KAAK;MACxB,MAAM,IAAI,CAACC,YAAY,CAAC9H,UAAU,CAAC;MACnC,MAAM+H,yBAAyB,GAAG,IAAI,CAACA,yBAAyB,CAAC,CAAC;MAClE,IAAInI,OAAO,EAAEoI,OAAO,IAAI,IAAI,EAAE;QAC5B,MAAMC,gBAAgB,GAAGC,OAAO,CAACC,MAAM,CAAC,CAAC;QACzC,MAAMC,oBAAoB,GAAG,sBAAsB;QACnD,IAAI,CAACvJ,MAAM,CAACwJ,aAAa,CAACD,oBAAoB,CAAC;QAC/C,IAAIL,yBAAyB,EAAE;UAC7B;UACA;UACA;UACA,MAAM,IAAI,CAACjJ,SAAS,CAACwJ,UAAU,CAAC;YAAEC,yBAAyB,EAAE;UAAK,CAAC,CAAC;UACpEV,YAAY,GAAG,IAAI;QACrB;QACA,MAAM,IAAI,CAAC7I,QAAQ,CAACwJ,kBAAkB,CAAC,EAAE,EAAE;UAAEC,SAAS,EAAEC,gCAAoB,CAACC;QAAQ,CAAC,CAAC;QACvF;QACA;QACA;QACA;QACA;QACA,IAAI,CAAC9J,MAAM,CAAC+J,cAAc,CAACR,oBAAoB,EAAEH,gBAAgB,CAAC;MACpE;MACA,IAAIrI,OAAO,EAAE4D,gBAAgB,IAAI,IAAI,EAAE;QACrC,MAAM,IAAI,CAACqF,mBAAmB,CAAC,CAAChB,YAAY,IAAIE,yBAAyB,CAAC;MAC5E;MACA,IAAI,CAACP,mBAAmB,EAAE;MAC1B,IAAI,CAAC5H,OAAO,EAAEkJ,gBAAgB,EAAE;MAChC,MAAMC,gBAAgB,GAAG,IAAI,CAACC,mBAAmB,CAAC,CAAC;MACnD,IAAI,CAACD,gBAAgB,CAACpL,MAAM,EAAE;MAC9BsJ,aAAa,CAACgC,GAAG,CAACC,aAAa,CAAC3C,OAAO,CAACmB,SAAS,CAAC,CAAC;MACnD;MACA;MACA,IAAI,CAACG,YAAY,IAAIE,yBAAyB,EAAE;QAC9C;QACA;QACA;QACA,MAAM,IAAI,CAACjJ,SAAS,CAACwJ,UAAU,CAAC;UAAEC,yBAAyB,EAAE;QAAK,CAAC,CAAC;MACtE;MACAhC,OAAO,GAAG,MAAM,IAAI,CAAC4C,uBAAuB,CAACzD,SAAS,EAAExF,gBAAgB,EAAE0F,iBAAiB,CAAC;MAC5FuB,YAAY,IAAI,CAAC;IACnB,CAAC,QAAQ,CAAC,CAACF,aAAa,CAAC7K,GAAG,CAAC8M,aAAa,CAAC3C,OAAO,CAACmB,SAAS,CAAC,CAAC,IAAIN,yBAAyB,KAAKD,YAAY,GAAG,CAAC;IAChH,IAAI,CAACvH,OAAO,EAAEoH,YAAY,IAAI,CAACpH,OAAO,EAAE6D,SAAS,EAAE;MACjD;MACA;MACA,MAAMiC,SAAS,CAAC0D,YAAY,CAAC,IAAI,CAACtK,SAAS,CAACmC,IAAI,CAAC;IACnD;IACA;IACA;IACA;IACA;IACA;IACA;IACA,OAAOsF,OAAO,CAACoB,qBAAqB;EACtC;EAEQI,yBAAyBA,CAAA,EAAY;IAC3C,MAAMjF,aAAa,GAAG,IAAI,CAAC7D,IAAI,CAACoK,mBAAmB,CAAC,CAAC;IACrD,OAAOvG,aAAa,CAACnF,MAAM,GAAG,CAAC;EACjC;EAEA,MAAc6I,oCAAoCA,CAChDd,SAA8B,EAC9B9F,OAGC,EAC+F;IAChG,MAAMM,gBAAgB,GAAG,MAAM,IAAI,CAACoJ,qCAAqC,CAAC,CAAC;IAC3E,MAAM,IAAI,CAACC,2CAA2C,CAACrJ,gBAAgB,CAAC;IACxE,MAAMoG,sBAAsB,GAAG,MAAM,IAAI,CAAC6C,uBAAuB,CAACzD,SAAS,EAAExF,gBAAgB,EAAEN,OAAO,CAAC;IACvG,IAAI,CAACA,OAAO,EAAE0D,cAAc,EAAE;MAC5B,OAAO;QAAEgD,sBAAsB;QAAEpG;MAAiB,CAAC;IACrD;IACA,MAAMsJ,QAAQ,GAAG,IAAI/J,GAAG,CACtBhD,MAAM,CAACS,IAAI,CAAAO,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACN6I,sBAAsB,CAACoB,SAAS,CAAC,IAAI,CAAC5I,SAAS,CAACmC,IAAI,CAAC,CAACwI,eAAe,GACrEnD,sBAAsB,CAACoB,SAAS,CAAC,IAAI,CAAC5I,SAAS,CAACmC,IAAI,CAAC,CAACuB,YAAY,GAClE5C,OAAO,CAACwG,cAAc,CAC1B,CACH,CAAC;IACD3J,MAAM,CAACgF,MAAM,CAAC,IAAAiI,cAAI,EAACpD,sBAAsB,CAACoB,SAAS,EAAE,CAAC,IAAI,CAAC5I,SAAS,CAACmC,IAAI,CAAC,CAAC,CAAC,CAACrD,OAAO,CAAE+L,QAAQ,IAAK;MACjG,IAAKA,QAAQ,CAAqBtE,IAAI,EAAE;QACtCmE,QAAQ,CAACP,GAAG,CAAEU,QAAQ,CAAqBtE,IAAK,CAAC,CAAC,CAAC;MACrD;IACF,CAAC,CAAC;IACF,MAAMuE,YAAY,GAAG,MAAM,IAAI,CAACC,+BAA+B,CAACL,QAAQ,CAAC;IACzE,IAAI,CAACI,YAAY,EAAE;MACjB,OAAO;QAAEtD,sBAAsB;QAAEpG;MAAiB,CAAC;IACrD;IACA,MAAM4J,+BAA+B,GAAG,MAAM,IAAI,CAACR,qCAAqC,CAAC,CAAC;IAC1F,MAAM,IAAI,CAACC,2CAA2C,CAACO,+BAA+B,CAAC;IACvF,OAAO;MACL5J,gBAAgB,EAAE4J,+BAA+B;MACjDxD,sBAAsB,EAAE,MAAM,IAAI,CAAC6C,uBAAuB,CAACzD,SAAS,EAAEoE,+BAA+B,EAAElK,OAAO;IAChH,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAciJ,mBAAmBA,CAACP,UAAmB,EAAE;IACrD,MAAMyB,WAAW,GAAG,IAAI,CAAC7K,aAAa,CAAC8K,6BAA6B,CAAC,CAAC;IACtE,IAAI,CAACD,WAAW,EAAE;IAClB,IAAIzB,UAAU,EAAE;MACd,MAAM,IAAI,CAACxJ,SAAS,CAACwJ,UAAU,CAAC;QAAEC,yBAAyB,EAAE;MAAK,CAAC,CAAC;IACtE;IACA,MAAM;MAAE0B;IAAI,CAAC,GAAG,MAAM,IAAI,CAAC/K,aAAa,CAACsE,gBAAgB,CAAC;MACxD0G,KAAK,EAAE,IAAI;MACXC,MAAM,EAAE,IAAI;MACZ5J,MAAM,EAAE,IAAI;MACZ6J,KAAK,EAAE;IACT,CAAC,CAAC;IACF,IAAIH,GAAG,EAAE;MACP,IAAI,CAACpL,MAAM,CAACwL,cAAc,CACxB,+FAA+FJ,GAAG,CAACK,OAAO,EAC5G,CAAC;IACH;EACF;EAEA,MAAchB,qCAAqCA,CAAA,EAA6B;IAC9E,MAAMiB,UAAU,GAAG,IAAI,CAAC3L,kBAAkB,CAACuB,kBAAkB,CAAC,CAAC;IAC/D,MAAMqK,eAAe,GAAG,MAAM,IAAI,CAAC1L,SAAS,CAAC2L,gCAAgC,CAAC;MAAEC,aAAa,EAAE;IAAK,CAAC,CAAC;IACtGF,eAAe,CAAC5M,OAAO,CAAE+M,cAAc,IAAK;MAC1CJ,UAAU,CAACtB,GAAG,CACZ;QACElE,YAAY,EAAE4F,cAAc,CAAC1G,WAAW;QACxChG,KAAK,EAAE;UACLwG,OAAO,EAAEkG,cAAc,CAAClG;QAC1B,CAAC;QACDf,aAAa,EAAE;MACjB,CAAC;MACD;MACA;QAAEH,cAAc,EAAE;MAAK,CACzB,CAAC;IACH,CAAC,CAAC;IACF,OAAOgH,UAAU;EACnB;EAEA,MAAchB,2CAA2CA,CAACgB,UAA2B,EAAiB;IACpG,MAAMK,cAAc,GAAG,IAAI,CAACxL,SAAS,CAACyL,iBAAiB,CAAC,CAAC;IACzD,MAAMC,YAAY,GAAG,IAAAC,iBAAO,EAC1B,MAAM1G,OAAO,CAACC,GAAG,CACfsG,cAAc,CAACxJ,GAAG,CAAC,MAAO4J,QAAQ,IAAK;MACrC,IAAI,IAAI,CAAC/L,IAAI,CAACgM,SAAS,CAACD,QAAQ,CAAC,EAAE;QACjC,OAAOE,SAAS;MAClB;MACA,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACrM,SAAS,CAACsM,kBAAkB,CAACJ,QAAQ,CAAC;MAClE;MACA,MAAMK,IAAI,GAAG,MAAM,IAAI,CAACvM,SAAS,CAACwM,KAAK,CAACH,QAAQ,CAAC;MACjD,IAAIE,IAAI,EAAE;QACR,OAAOH,SAAS;MAClB;MACA,MAAMK,KAAK,GAAG,MAAM,IAAI,CAACzM,SAAS,CAAC0M,gBAAgB,CACjD,CAACL,QAAQ,CAAC,EACV,kBAAkBA,QAAQ,CAAChI,QAAQ,CAAC,CAAC,mBACvC,CAAC;MACD,MAAMsI,aAAa,GAAG,MAAM,IAAI,CAAC3M,SAAS,CAAC4M,yCAAyC,CAACP,QAAQ,CAAC;MAC9F,MAAM1G,OAAO,GAAGgH,aAAa,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;MAClD,MAAM1H,WAAW,GAAG,IAAI,CAACrF,kBAAkB,CAACgN,cAAc,CAACL,KAAK,CAAC,CAAC,CAAC,CAAC;MACpE,OAAO;QACLtH,WAAW;QACXQ;MACF,CAAC;IACH,CAAC,CACH,CACF,CAAC;IAEDqG,YAAY,CAAClN,OAAO,CAAEiO,GAAG,IAAK;MAC5BtB,UAAU,CAACtB,GAAG,CACZ;QACElE,YAAY,EAAE8G,GAAG,CAAC5H,WAAW;QAC7BhG,KAAK,EAAE;UACLwG,OAAO,EAAEoH,GAAG,CAACpH;QACf,CAAC;QACDf,aAAa,EAAE;MACjB,CAAC;MACD;MACA;QAAEH,cAAc,EAAE;MAAK,CACzB,CAAC;IACH,CAAC,CAAC;EACJ;EAEA,MAAcsG,+BAA+BA,CAC3CL,QAAqB,EACrB5J,OAAiC,EACf;IAClB,MAAMD,QAAQ,GAAG,MAAM,IAAI,CAACmM,kCAAkC,CAACtC,QAAQ,CAAC;IACxE,IAAI7J,QAAQ,IAAIA,QAAQ,CAAChC,MAAM,EAAE;MAC/B,MAAM,IAAI,CAACmC,YAAY,CAACH,QAAQ,EAAEC,OAAO,CAAC;IAC5C;IACA,OAAOD,QAAQ,CAAChC,MAAM,GAAG,CAAC;EAC5B;EAEA,MAAcmO,kCAAkCA,CAACtC,QAAqB,EAAE;IACtE,MAAM7J,QAAQ,GAAG,MAAM,IAAI,CAACoM,sBAAsB,CAAC,CAAC;IACpD,OAAOpM,QAAQ,CAACtC,MAAM,CAAE2O,GAAG,IAAK,CAACxC,QAAQ,CAACpN,GAAG,CAAC4P,GAAG,CAAC,CAAC;EACrD;EAEA,MAAcD,sBAAsBA,CAAA,EAAsB;IACxD,MAAMR,KAAK,GAAG,MAAM,IAAI,CAACzM,SAAS,CAACmN,IAAI,CAAC,CAAC;IACzC,OAAO,IAAAC,cAAI,EACTX,KAAK,CACFnK,GAAG,CAAE+K,IAAI,IAAK;MACb,MAAM1S,IAAI,GAAG0S,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,QAAQ,CAACC,gCAAa,CAACC,+BAA+B,CAAC,EAAE/S,IAAI,IAAI,EAAE;MAClG,OAAOA,IAAI,CAAC2H,GAAG,CAAEqL,CAAC,IAAKA,CAAC,CAACC,eAAe,CAAC,CAACC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CACDA,IAAI,CAAC,CACV,CAAC;EACH;EAEA,MAAcxD,uBAAuBA,CACnCyD,mBAAwC,EACxCrC,UAA2B,EAC3BsC,cAAgD,EACf;IACjC,MAAMlF,qBAAqB,GAAG,MAAM,IAAI,CAAC1H,sBAAsB,CAAC,EAAE,CAAC;IACnE,IAAIyH,SAAS,GAAG,MAAMkF,mBAAmB,CAACE,qBAAqB,CAAArP,aAAA,CAAAA,aAAA,KAC1DoP,cAAc;MACjBlF,qBAAqB;MACrB4C,UAAU;MACVpG,OAAO,EAAE,IAAI,CAACrF,SAAS,CAACmC,IAAI;MAC5B8L,sBAAsB,EAAE,IAAI,CAACnO,kBAAkB,CAAC6G,iBAAiB,CAAC,CAAC,IAAIoH,cAAc,CAAChH,UAAU,KAAK;IAAU,EAChH,CAAC;IAEF,IAAI,IAAI,CAACjH,kBAAkB,CAAC6G,iBAAiB,CAAC,CAAC,EAAE;MAC/C,MAAMuH,aAAa,GAAG,MAAM,IAAI,CAACC,iBAAiB,CAACvF,SAAS,CAAC;MAC7D,MAAM,IAAI,CAACwF,eAAe,CAACzQ,MAAM,CAACS,IAAI,CAAC8P,aAAa,CAAC,CAAC;MACtDtF,SAAS,GAAAjK,aAAA,CAAAA,aAAA,KACJiK,SAAS,GACTsF,aAAa,CACjB;IACH;IACA,OAAO;MACLrF,qBAAqB;MACrBD;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACSsB,mBAAmBA,CAAA,EAAG;IAC3B,MAAMlG,aAAa,GAAG,IAAI,CAAC7D,IAAI,CAACoK,mBAAmB,CAAC,CAAC;IACrD,MAAM8D,mBAAmB,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACzO,kBAAkB,CAACuO,mBAAmB,CAAC;IACnF,MAAMpE,gBAAgB,GAAG,IAAAuE,sBAAY,EAACxK,aAAa,EAAEqK,mBAAmB,CAAC;IACzE,OAAOpE,gBAAgB;EACzB;EAEA,MAAcmE,eAAeA,CAACK,QAAkB,EAAE;IAChD,IAAI;MACF,MAAMC,YAAY,GAAG,MAAMC,kBAAE,CAACC,OAAO,CAAC,IAAI,CAAC5O,SAAS,CAAC6O,kBAAkB,CAAC;MACxE,MAAMtJ,OAAO,CAACC,GAAG,CACfkJ,YAAY,CAACpM,GAAG,CAAC,MAAOwM,OAAO,IAAK;QAClC,MAAMC,OAAO,GAAG5M,eAAI,CAAC4C,IAAI,CAAC,IAAI,CAAC/E,SAAS,CAAC6O,kBAAkB,EAAEC,OAAO,CAAC;QACrE,IAAI,CAACL,QAAQ,CAACO,QAAQ,CAACD,OAAO,CAAC,EAAE;UAC/B,MAAMJ,kBAAE,CAACM,MAAM,CAACF,OAAO,CAAC;QAC1B;MACF,CAAC,CACH,CAAC;IACH,CAAC,CAAC,OAAO5D,GAAQ,EAAE;MACjB,IAAIA,GAAG,CAAC+D,IAAI,KAAK,QAAQ,EAAE,MAAM/D,GAAG;IACtC;IACA,MAAM5F,OAAO,CAACC,GAAG,CAACiJ,QAAQ,CAACnM,GAAG,CAAEyM,OAAO,IAAKJ,kBAAE,CAACQ,KAAK,CAACJ,OAAO,EAAE;MAAEK,SAAS,EAAE;IAAK,CAAC,CAAC,CAAC,CAAC;EACtF;EAEA,MAAcjB,iBAAiBA,CAC7BvF,SAA0C,EACA;IAC1C,MAAMyG,gBAAgB,GAAG1R,MAAM,CAACgF,MAAM,CAACiG,SAAS,CAAC,CAACrK,MAAM,CAAC,CAAC;MAAEgI;IAAK,CAAC,KAAKA,IAAI,KAAK,WAAW,CAAC;IAC5F,MAAM+I,aAAa,GAAG,IAAI,CAACxP,kBAAkB,CAACyP,0BAA0B,CAACF,gBAAgB,CAAC;IAC1F,MAAMG,iBAAiB,GAAG7R,MAAM,CAACS,IAAI,CAACkR,aAAa,CAAC,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,OAAO,KAAK;MAC5ED,GAAG,CAACC,OAAO,CAAC,GAAG;QAAEC,QAAQ,EAAE;MAAK,CAAC;MACjC,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,MAAMG,YAAY,GAAG,MAAM,IAAI,CAACC,gBAAgB,CAACR,aAAa,EAAEE,iBAAiB,CAAC;IAClF,MAAMO,YAAY,GAAG,MAAM,IAAI,CAACC,gBAAgB,CAACpH,SAAS,EAAE0G,aAAa,EAAEE,iBAAiB,CAAC;IAC7F,OAAA7Q,aAAA,CAAAA,aAAA,KACKkR,YAAY,GACZE,YAAY;EAEnB;EAEA,MAAcD,gBAAgBA,CAC5BR,aAAqC,EACrCE,iBAAqD,EACX;IAC1C,MAAMrP,IAAI,GAAG,MAAM,IAAI,CAAC8P,iBAAiB,CAAC,CAAC;IAC3C,OAAOtS,MAAM,CAACuS,WAAW,CACvB,MAAM3K,OAAO,CAACC,GAAG,CACfrF,IAAI,CAACmC,GAAG,CAAC,MAAO6B,KAAK,IAAK;MACxB,OAAO,CACL,MAAM,IAAI,CAACgM,2BAA2B,CAAC,IAAI,CAACnQ,SAAS,CAAC6O,kBAAkB,EAAE1K,KAAK,CAAC,EAChF;QACET,YAAY,EAAA/E,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACN,MAAM,IAAI,CAACyR,mBAAmB,CAACjM,KAAK,CAAC,GACtCmL,aAAa,GACZ,MAAM,IAAI,CAACe,cAAc,CAAClM,KAAK,CAAC,CACrC;QACDmM,gBAAgB,EAAEd,iBAAiB;QACnCe,aAAa,EAAE;UACbC,cAAc,EAAE;QAClB;MACF,CAAC,CACF;IACH,CAAC,CACH,CACF,CAAC;EACH;EAEA,MAAcJ,mBAAmBA,CAACjM,KAAkB,EAAmC;IACrF,MAAMsM,MAAM,GAAG,MAAM,IAAI,CAAC3Q,kBAAkB,CAAC4Q,qBAAqB,CAACvM,KAAK,CAAC;IACzE,IAAI,CAACsM,MAAM,EAAE,OAAO,CAAC,CAAC;IACtB,OAAO9S,MAAM,CAACuS,WAAW,CACvBO,MAAM,CAACE,UAAU,CAACtO,OAAO,CACtB9D,MAAM,CAAC,CAAC;MAAEqS,KAAK;MAAEzR;IAAM,CAAC,KAAKyR,KAAK,IAAIzR,KAAK,CAACwG,OAAO,KAAK,GAAG,CAAC,CAC5DrD,GAAG,CAAC,CAAC;MAAE2D,YAAY;MAAE9G;IAAM,CAAC,KAAK,CAAC8G,YAAY,EAAE9G,KAAK,CAACwG,OAAO,CAAC,CACnE,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAc0K,cAAcA,CAAClM,KAAkB,EAA+C;IAC5F,IAAI,IAAI,CAAChE,IAAI,CAACgM,SAAS,CAAChI,KAAK,CAAC0M,sBAAsB,CAAC,CAAC,CAAC,EAAE,OAAOzE,SAAS;IACzE,MAAMG,IAAI,GAAG,MAAM,IAAI,CAACvM,SAAS,CAACwM,KAAK,CAACrI,KAAK,CAAC;IAC9C,IAAIoI,IAAI,EAAE,OAAOH,SAAS;IAC1B,MAAM0E,YAAY,GAAG,MAAM,IAAI,CAAC3Q,IAAI,CAAC4Q,sBAAsB,CAAC5M,KAAK,CAACE,QAAQ,CAAC,CAAC,EAAEF,KAAK,CAACE,QAAQ,CAAC,CAAC,CAAC;IAC/F,IAAI,CAACyM,YAAY,EAAE,OAAO1E,SAAS;IACnC,MAAMjH,WAAW,GAAG,IAAI,CAACrF,kBAAkB,CAACgN,cAAc,CAACgE,YAAY,CAAC;IACxE,MAAMnL,OAAO,GAAGxB,KAAK,CAACwB,OAAO;IAC7B,MAAMqL,YAAY,GAAG,IAAAC,uCAAY,EAACtL,OAAiB,CAAC;IACpD,OAAO;MAAE,CAACR,WAAW,GAAG6L;IAAa,CAAC;EACxC;EAEA,MAAchB,gBAAgBA,CAC5BpH,SAA0C,EAC1C0G,aAAqC,EACrCE,iBAAqD,EACX;IAC1C,OAAO7R,MAAM,CAACuS,WAAW,CACvB,IAAAjE,iBAAO,EACL,MAAM1G,OAAO,CAACC,GAAG,CACf,CACE,MAAM,IAAI,CAACnF,GAAG,CAAC6Q,kBAAkB,CAAC,CAAC,EACnC5O,GAAG,CAAC,MAAOjC,GAAG,IAAK;MACnB,MAAM8Q,UAAU,GAAG,IAAI,CAACrR,kBAAkB,CAACgN,cAAc,CAACzM,GAAG,CAAC;MAC9D,MAAM+Q,WAAW,GAAGzT,MAAM,CAACgF,MAAM,CAACiG,SAAS,CAAC,CAACyI,IAAI,CAAC,CAAC;QAAE9K;MAAK,CAAC,KAAKA,IAAI,KAAK4K,UAAU,CAAC;MACpF,IAAI,CAACC,WAAW,EAAE,OAAO,IAAI;MAC7B,MAAMjN,KAAK,GAAG,MAAM,IAAI,CAAChE,IAAI,CAACiE,cAAc,CAAC/D,GAAG,CAAC;MACjD,OAAO,CACL,MAAM,IAAI,CAAC8P,2BAA2B,CAAC,IAAI,CAACnQ,SAAS,CAAC6O,kBAAkB,EAAExO,GAAG,CAAC0D,EAAE,CAAC,EAAApF,aAAA,CAAAA,aAAA,KAE5E,IAAAiM,cAAI,EAACwG,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC1N,YAAY,EAAA/E,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACN,MAAM,IAAI,CAACyR,mBAAmB,CAACjM,KAAK,CAAC,GACtCiN,WAAW,CAAC1N,YAAY,GACxB4L,aAAa,CACjB;QACDgB,gBAAgB,EAAA3R,aAAA,CAAAA,aAAA,KACXyS,WAAW,CAACd,gBAAgB,GAC5Bd,iBAAiB,CACrB;QACDe,aAAa,EAAE;UACbC,cAAc,EAAE;QAClB;MAAC,GAEJ;IACH,CAAC,CACH,CACF,CACF,CAAC;EACH;EAEA,MAAcP,iBAAiBA,CAAA,EAA2B;IACxD,MAAM9P,IAAI,GAAG,IAAImR,GAAG,CAAsB,CAAC;IAC3C,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACvR,SAAS,CAACmN,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAAzK,qBAAU,EAAC6O,UAAU,EAAE,MAAOrN,SAAS,IAAK;MAChD,MAAMC,KAAK,GAAG,MAAM,IAAI,CAAChE,IAAI,CAACiE,cAAc,CAACF,SAAS,CAAC;MACvD/D,IAAI,CAACjC,GAAG,CAACiG,KAAK,CAACE,QAAQ,CAAC,CAAC,EAAEF,KAAK,CAAC;IACnC,CAAC,CAAC;IACF,OAAOmK,KAAK,CAACC,IAAI,CAACpO,IAAI,CAACwC,MAAM,CAAC,CAAC,CAAC;EAClC;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAM6O,kBAAkBA,CAAC1Q,OAIxB,EAAwC;IACvC,MAAM2Q,iBAAiB,GAAG,MAAM,IAAI,CAACC,oCAAoC,CAAC,CAAC;IAC3E,MAAMC,eAAe,GAAG,IAAI,CAAC1R,QAAQ,CAAC2R,GAAG,CAAC,CAAC;IAC3C,MAAMC,yBAAyB,GAAG,IAAI,CAACC,gCAAgC,CAACH,eAAe,CAAC;IACxF,MAAMJ,UAAU,GAAG,MAAM,IAAI,CAACvR,SAAS,CAACmN,IAAI,CAAC,CAAC;IAC9C,MAAM4E,YAAY,GAAG,MAAM,IAAI,CAACjS,kBAAkB,CAACkS,2BAA2B,CAAC;MAC7E3M,OAAO,EAAE,IAAI,CAACrF,SAAS,CAACmC,IAAI;MAC5B0P,yBAAyB;MACzBJ,iBAAiB;MACjBF,UAAU;MACVU,QAAQ,EAAEnR,OAAO,CAACmR,QAAQ;MAC1BC,gBAAgB,EAAEpR,OAAO,CAACoR;IAC5B,CAAC,CAAC;IACF,IAAIH,YAAY,IAAI,IAAI,EAAE;MACxB,IAAI,CAAChS,MAAM,CAACwL,cAAc,CAAC,+CAA+C,CAAC;MAC3E,OAAO,IAAI;IACb;IACA,IAAI4G,oBAA0C;IAC9C,IAAIrR,OAAO,CAAC0E,GAAG,EAAE;MACf2M,oBAAoB,GAAGJ,YAAY;IACrC,CAAC,MAAM;MACL,IAAI,CAAChS,MAAM,CAACqS,GAAG,CAAC,CAAC;MACjBD,oBAAoB,GAAG,MAAM,IAAAE,oCAAgB,EAACN,YAAY,CAAC;MAC3D,IAAI,CAAChS,MAAM,CAACuS,EAAE,CAAC,CAAC;IAClB;IACA,IAAIH,oBAAoB,CAACtT,MAAM,KAAK,CAAC,EAAE;MACrC,IAAI,CAACkB,MAAM,CAAC+J,cAAc,CAAC,gCAAgC,CAAC;MAC5D,IAAIhJ,OAAO,CAACoR,gBAAgB,KAAK,YAAY,EAAE;QAC7C,IAAI,CAACnS,MAAM,CAAC0C,OAAO,CACjB,4GACF,CAAC;MACH;MACA,OAAO,IAAI;IACb;IACA,MAAM;MAAE8P,eAAe;MAAEC;IAAkB,CAAC,GAAG,IAAI,CAAC1S,kBAAkB,CAAC2S,YAAY,CAACN,oBAAoB,EAAE;MACxGN;IACF,CAAC,CAAC;IACF,MAAM,IAAI,CAACa,uBAAuB,CAACf,eAAe,EAAEY,eAAe,CAAC;IACpE,MAAM,IAAI,CAACI,uBAAuB,CAACH,iBAAiB,CAAC;IACrD,MAAM,IAAI,CAACxS,SAAS,CAAC4S,eAAe,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC9P,eAAe,CAAC;MAAErB,MAAM,EAAE;IAAK,CAAC,CAAC;EAC/C;EAEA,MAAMoR,oCAAoCA,CAACtB,UAAuB,EAAE;IAClE,MAAMuB,eAAe,GAAG,IAAI,CAAChT,kBAAkB,CAACuB,kBAAkB,CAAC,CAAC;IACpEkQ,UAAU,CAACzS,OAAO,CAAEoF,SAAS,IAAK;MAChC,IAAIA,SAAS,CAACoJ,KAAK,CAACyF,SAAS,CAACC,OAAO,EAAE;MACvC,MAAMC,OAAO,GAAG,IAAAC,sCAAwB,EAAChP,SAAS,CAACoJ,KAAK,CAACyF,SAAS,CAAC;MACnE,MAAMI,KAAK,GAAGL,eAAe,CAACzB,IAAI,CAAC4B,OAAO,CAAC;MAC3C,IAAIE,KAAK,EAAE;QACTjP,SAAS,CAACoJ,KAAK,CAACC,MAAM,CAAC6F,WAAW,CAAC3F,gCAAa,CAAC4F,4BAA4B,CAAC,CAAC1Y,IAAI,GAAGwY,KAAK,CAAClN,YAAY;MAC1G;IACF,CAAC,CAAC;EACJ;EAEA,MAAcyL,oCAAoCA,CAAA,EAAG;IACnD,MAAM4B,eAAe,GAAG,IAAI,CAACtT,SAAS,CAACuT,OAAO,CAAC,CAAC;IAChD,MAAM9B,iBAAiB,GAAG,EAAsD;IAChF,CACE,MAAMlM,OAAO,CAACC,GAAG,CACf8N,eAAe,CAAChR,GAAG,CAAEkR,WAAW,IAAK,IAAI,CAACxT,SAAS,CAACyT,mBAAmB,CAACD,WAAW,CAAC,CACtF,CAAC,EACD1U,OAAO,CAAC,CAAC2U,mBAAmB,EAAEC,KAAK,KAAK;MACxC,IAAI,CAACD,mBAAmB,EAAE;MAC1B,MAAME,iBAAiB,GAAGF,mBAAmB,CAACG,OAAO,CAACrW,GAAG,CAACsW,8CAAwB,CAAC9P,EAAE,CAAC;MACtF,IAAI,CAAC4P,iBAAiB,EAAE;MACxB,MAAMH,WAAW,GAAGF,eAAe,CAACI,KAAK,CAAC;MAC1CjC,iBAAiB,CAAChT,IAAI,CAAC;QAAE+U,WAAW;QAAE/C,MAAM,EAAEkD,iBAAiB,CAAC7R,MAAM,CAAC2O;MAAO,CAAC,CAAC;IAClF,CAAC,CAAC;IACF,OAAOgB,iBAAiB;EAC1B;EAEQK,gCAAgCA,CAACH,eAAyB,EAA6C;IAC7G,MAAME,yBAAoE,GAAG,CAAC,CAAC;IAC/E,KAAK,MAAM,CAACiC,cAAc,EAAEC,UAAU,CAAC,IAAIpW,MAAM,CAAC0E,OAAO,CAACsP,eAAe,CAAC,EAAE;MAC1E,IAAIoC,UAAU,CAACF,8CAAwB,CAAC9P,EAAE,CAAC,EAAE0M,MAAM,EAAE;QACnDoB,yBAAyB,CAACiC,cAAc,CAAC,GAAGC,UAAU,CAACF,8CAAwB,CAAC9P,EAAE,CAAC,EAAE0M,MAAM;MAC7F;IACF;IACA,OAAOoB,yBAAyB;EAClC;EAEA,MAAcc,uBAAuBA,CAACH,iBAAqC,EAAE;IAC3E,IAAIA,iBAAiB,CAAC3T,MAAM,KAAK,CAAC,EAAE;IACpC,MAAM0G,OAAO,CAACC,GAAG,CACfgN,iBAAiB,CAAClQ,GAAG,CAAC,CAAC;MAAEkR,WAAW;MAAE1R;IAAO,CAAC,KAAK;MACjD,OAAO,IAAI,CAAC9B,SAAS,CAACgU,0BAA0B,CAACR,WAAW,EAAEK,8CAAwB,CAAC9P,EAAE,EAAEjC,MAAM,EAAE;QACjGmS,uBAAuB,EAAE,IAAI;QAC7BC,uBAAuB,EAAE;MAC3B,CAAC,CAAC;IACJ,CAAC,CACH,CAAC;IACD,MAAM,IAAI,CAAClU,SAAS,CAACmU,MAAM,CAACC,KAAK,CAAC,uBAAuB,CAAC;EAC5D;EAEA,MAAc1B,uBAAuBA,CAACf,eAAoC,EAAE0C,qBAA+B,EAAE;IAC3G,KAAK,MAAMP,cAAc,IAAIO,qBAAqB,EAAE;MAClD,IAAI,CAACpU,QAAQ,CAACqU,YAAY,CACxBR,cAAc,EACdD,8CAAwB,CAAC9P,EAAE,EAC3B4N,eAAe,CAACmC,cAAc,CAAC,CAACD,8CAAwB,CAAC9P,EAAE,CAAC,EAC5D;QAAEwQ,gBAAgB,EAAE;MAAK,CAC3B,CAAC;IACH;IACA,MAAM,IAAI,CAACzU,kBAAkB,CAACsG,aAAa,CAAC,qBAAqB,CAAC;EACpE;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMoO,qBAAqBA,CAAC3T,QAAkB,EAAE;IAC9C,IAAI,CAACf,kBAAkB,CAAC2U,oBAAoB,CAAC5T,QAAQ,CAAC;IACtD,MAAM,IAAI,CAACf,kBAAkB,CAACsG,aAAa,CAAC,wBAAwB,CAAC;IACrE,OAAO,IAAI,CAACtD,eAAe,CAAC;MAAErB,MAAM,EAAE;IAAK,CAAC,CAAC;EAC/C;;EAEA;AACF;AACA;AACA;EACE,MAAM8F,cAAcA,CAClBzG,OAA6B,GAAG,CAAC,CAAC,EACsD;IACxF,MAAM,IAAA4B,qBAAU,EAAC,IAAI,CAACnC,WAAW,CAACoC,MAAM,CAAC,CAAC,EAAGC,EAAE,IAAKA,EAAE,CAAC9B,OAAO,CAAC,CAAC,CAAC,CAAC;IAClE,MAAMI,UAAU,GAAG,MAAM,IAAI,CAACC,sBAAsB,CAAC,EAAE,CAAC;IACxD,MAAMuT,MAAM,GAAG,IAAI,CAAC5U,kBAAkB,CAAC6U,SAAS,CAAC;MAC/CtP,OAAO,EAAE,IAAI,CAACrF,SAAS,CAACmC,IAAI;MAC5ByS,cAAc,EAAE9T;IAClB,CAAC,CAAC;IACF,MAAM;MAAE+T,WAAW,EAAEhS,GAAG;MAAEyE;IAAe,CAAC,GAAG,MAAMoN,MAAM,CAACI,mBAAmB,CAC3E,IAAI,CAAC9U,SAAS,CAACmC,IAAI,EACnBjB,UAAU,EACVJ,OACF,CAAC;IACD,MAAMiU,YAAY,GAAGlS,GAA2B;IAEhD,MAAMmS,aAAa,GAAG,MAAM,IAAI,CAAChM,YAAY,CAAC9H,UAAU,EAAEJ,OAAO,CAAC;IAClEiU,YAAY,CAACE,iBAAiB,GAAGD,aAAa,CAACE,YAAY;IAC3DH,YAAY,CAACI,wBAAwB,GAAGH,aAAa,CAACI,cAAc;IAEpE,IAAI,IAAI,CAACtV,kBAAkB,CAAC6G,iBAAiB,CAAC,CAAC,IAAI7F,OAAO,CAACuU,cAAc,EAAE;MACzE,MAAM,IAAI,CAACC,4BAA4B,CAACpU,UAAU,CAAC;IACrD;IACA,OAAO;MAAE2T,WAAW,EAAEhS,GAAG;MAAEyE;IAAe,CAAC;EAC7C;EAEA,MAAM0B,YAAYA,CAAC9H,UAAgC,EAAEJ,OAA8B,EAAE;IACnF,MAAMyU,MAAM,GAAGrU,UAAU,CAACsU,OAAO,CAAC,CAAC,CAAClT,GAAG,CAAC,CAAC,CAAC4B,SAAS,CAAC,KAAKA,SAAS,CAACH,EAAE,CAAC;IACtE,OAAO,IAAA0R,gDAA4B,EAAC,IAAI,CAACzV,SAAS,EAAEuV,MAAM,EAAEzU,OAAO,EAAE4U,MAAM,IAAI,KAAK,CAAC;EACvF;EAEA,MAAMC,IAAIA,CAAC7U,OAA6B,GAAG,CAAC,CAAC,EAAiC;IAC5E,MAAM;MAAE+T,WAAW;MAAEvN;IAAe,CAAC,GAAG,MAAM,IAAI,CAACC,cAAc,CAACzG,OAAO,CAAC;IAC1E,MAAM,IAAA8U,6BAAW,EAAC9U,OAAO,CAAC+U,SAAS,IAAI,IAAI,CAAC7V,SAAS,CAACmC,IAAI,EAAEmF,cAAc,EAAE;MAC1EwO,aAAa,EAAE,IAAI;MACnBC,kBAAkB,EAAE;IACtB,CAAC,CAAC;IACF,OAAOlB,WAAW;EACpB;EAEA,MAAcS,4BAA4BA,CAACpU,UAAgC,EAAE;IAC3E,MAAMf,IAAI,GAAG,MAAM,IAAI,CAAC8P,iBAAiB,CAAC,CAAC;IAC3C,MAAM+F,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC3V,GAAG,CAAC6Q,kBAAkB,CAAC,CAAC,EAAE5O,GAAG,CAAE4B,SAAS,IAAKA,SAAS,CAACH,EAAE,CAAC;IACnF,MAAMwB,OAAO,CAACC,GAAG,CACf,CAAC,GAAGrF,IAAI,EAAE,GAAG6V,IAAI,CAAC,CAAC1T,GAAG,CAAC,MAAOyB,EAAE,IAAK;MACnC,MAAMkS,GAAG,GAAG,MAAM,IAAI,CAAC9F,2BAA2B,CAAC,IAAI,CAACnQ,SAAS,CAAC6O,kBAAkB,EAAE9K,EAAE,CAAC;MACzF,MAAM4K,kBAAE,CAACuH,MAAM,CAACD,GAAG,CAAC;IACtB,CAAC,CACH,CAAC;IACD,MAAM,IAAAE,qCAAwB,EAC5B;MACEtH,kBAAkB,EAAE,IAAI,CAAC7O,SAAS,CAAC6O,kBAAkB;MACrDuH,aAAa,EAAE,IAAI,CAACpW,SAAS,CAACmC;IAChC,CAAC,EACDjB,UAAU,CAACqQ,UAAU,CAACjP,GAAG,CAAE4B,SAAS,IAAK,IAAI,CAACpE,kBAAkB,CAACgN,cAAc,CAAC5I,SAAS,CAAC,CAC5F,CAAC;EACH;EAEA,MAAciM,2BAA2BA,CAACtB,kBAA0B,EAAEwH,eAA4B,EAAmB;IACnH;IACA;IACA,MAAMtS,EAAE,GAAG,IAAI,CAAC/D,SAAS,CAACwM,KAAK,CAAC6J,eAAe,CAAC,GAC5CA,eAAe,CAACxF,sBAAsB,CAAC,CAAC,GACxCwF,eAAe,CAAChS,QAAQ,CAAC,CAAC;IAC9B,OAAO,IAAAiS,gCAAmB,EAACzH,kBAAkB,EAAE9K,EAAE,CAAC;EACpD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAcxC,sCAAsCA,CAAA,EAAG;IACrD;IACA,MAAMgV,OAAO,GAAG,MAAM,IAAI,CAACvW,SAAS,CAACwW,KAAK,CAACC,cAAc,CAAC,CAAC;IAC3D,MAAMC,GAAG,GAAG,MAAM,IAAI,CAAC5W,kBAAkB,CAAC6W,aAAa,CAAC,CAAC;IACzD,MAAMC,aAAa,GAAGjZ,MAAM,CAACS,IAAI,CAACsY,GAAG,CAACG,MAAM,CAAC;IAC7C,OAAQC,cAA8B,IAAqB;MACzD,MAAMC,QAAQ,GAAGD,cAAc,CAACvY,MAAM,CAAEyY,GAAG,IAAK;QAC9C,IAAI,EAAEA,GAAG,YAAYC,yCAAmB,CAAC,EAAE;UACzC,OAAO,IAAI;QACb;QACA,IAAIV,OAAO,CAACW,KAAK,CAACF,GAAG,CAACxD,WAAW,CAACgD,KAAK,CAAC,EAAE;UACxC,OAAO,IAAI;QACb;QACA,IAAII,aAAa,CAACO,IAAI,CAAEX,KAAK,IAAKQ,GAAG,CAAC7R,WAAW,CAACiS,UAAU,CAAC,IAAIZ,KAAK,GAAG,CAAC,CAAC,EAAE;UAC3E,OAAO,IAAI;QACb;QACA,OAAO,KAAK;MACd,CAAC,CAAC;MACF,OAAOO,QAAQ;IACjB,CAAC;EACH;EAEA,MAAc5V,sBAAsBA,CAACqC,GAAkB,EAAiC;IACtF,MAAM+N,UAAU,GAAG/N,GAAG,CAAC3E,MAAM,GACzB,MAAM,IAAI,CAACmB,SAAS,CAACqX,OAAO,CAAC7T,GAAG,CAAC,GACjC,MAAM,IAAI,CAACxD,SAAS,CAACmN,IAAI,CAACf,SAAS,EAAE;MAAEkL,oBAAoB,EAAE;IAAM,CAAC,CAAC;IACzE,OAAOC,yBAAY,CAACC,EAAE,CAASjG,UAAU,EAAGrN,SAAS,IAAK,IAAI,CAAClE,SAAS,CAACyX,YAAY,CAACvT,SAAS,CAACH,EAAE,CAAC,CAAC;EACtG;EAEA,MAAc2T,2BAA2BA,CAACC,SAAsB,EAAEpL,IAAa,EAAiB;IAC9F,IAAI,CAACA,IAAI,EAAE;MACT,MAAM,IAAI,CAAC3L,OAAO,CAAC,CAAC;IACtB;EACF;EACA,MAAcgX,0BAA0BA,CAACC,gBAA6B,EAAiB;IACrF,IAAIC,QAAQ,GAAG,KAAK;IACpB,IAAIC,WAAW,GAAG,KAAK;IACvB,MAAMC,QAAQ,GAAGH,gBAAgB,CAACvV,GAAG,CAAC,MAAO2V,eAAe,IAAK;MAC/D,MAAMC,WAAW,GAAGD,eAAe,CAAClU,EAAE,CAACM,QAAQ,CAAC,CAAC;MACjD,IAAI,IAAI,CAAC8T,cAAc,CAAC7a,GAAG,CAAC4a,WAAW,CAAC,EAAE;MAE1C,IAAI,CAACC,cAAc,CAAChO,GAAG,CAAC+N,WAAW,CAAC;MACpC,MAAME,WAAW,GAAG,MAAM,IAAI,CAACpY,SAAS,CAACqY,uBAAuB,CAACJ,eAAe,CAAC;MACjF,MAAMK,MAAM,GAAG,MAAM,IAAAC,qBAAU,EAACH,WAAW,CAAC;MAC5C,IAAI,CAACE,MAAM,EAAE;QACX,MAAM/L,IAAI,GAAG,MAAM,IAAI,CAACvM,SAAS,CAACwM,KAAK,CAACyL,eAAe,CAAClU,EAAE,CAAC;QAC3D,IAAIwI,IAAI,EAAE;UACRuL,QAAQ,GAAG,IAAI;QACjB,CAAC,MAAM;UACLC,WAAW,GAAG,IAAI;QACpB;MACF;IACF,CAAC,CAAC;IACF,MAAMxS,OAAO,CAACC,GAAG,CAACwS,QAAQ,CAAC;IAC3B,IAAID,WAAW,EAAE;MACf,MAAM,IAAI,CAACnX,OAAO,CAAC,CAAC;MACpB;IACF;IACA,IAAIkX,QAAQ,EAAE;MACZ,MAAM,IAAI,CAACnC,IAAI,CAAC,CAAC;IACnB;EACF;EAoBA,aAAa6C,QAAQA,CACnB,CACE1Y,kBAAkB,EAClBE,SAAS,EACTyY,SAAS,EACTxY,QAAQ,EACRyY,GAAG,EACHxY,QAAQ,EACRqN,MAAM,EACNpN,IAAI,EACJE,GAAG,EACHK,SAAS,EACTJ,SAAS,EACTF,aAAa,CAcd,EACDuY,CAAC,EACD,CAACpY,WAAW,EAAEC,cAAc,EAAEC,eAAe,CAAiD,EAC9F;IACA,MAAMV,MAAM,GAAG0Y,SAAS,CAACG,YAAY,CAACC,wBAAa,CAAC9U,EAAE,CAAC;IACvDrD,SAAS,CAACoY,oBAAoB,CAAC,MAAOC,SAAS,IAAK;MAClD,IAAIA,SAAS,KAAK,eAAe,EAAE;MACnChZ,MAAM,CAAC+E,KAAK,CAAC,mEAAmE,CAAC;MACjF,MAAM9E,SAAS,CAACwJ,UAAU,CAAC,CAAC;MAC5BxJ,SAAS,CAACgZ,uBAAuB,CAAC,CAAC;MACnC,MAAM,IAAAtW,qBAAU,EAACjC,eAAe,CAACkC,MAAM,CAAC,CAAC,EAAGC,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAMqW,UAAU,GAAG,IAAIrZ,WAAW,CAChCE,kBAAkB,EAClBC,MAAM,EACNC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,IAAI,EACJC,aAAa,EACbC,GAAG,EACHC,SAAS,EACTC,WAAW,EACXC,cAAc,EACdC,eAAe,EACfC,SACF,CAAC;IACD,IAAI6M,MAAM,EAAE;MACVA,MAAM,CAAC2L,2BAA2B,CAACD,UAAU,CAACpG,oCAAoC,CAACsG,IAAI,CAACF,UAAU,CAAC,CAAC;IACtG;IACA3Y,SAAS,CAAC8Y,yBAAyB,CAACH,UAAU,CAAC7V,iBAAiB,CAAC+V,IAAI,CAACF,UAAU,CAAC,CAAC;IAClF,MAAMI,QAAqB,GAAG,CAC5B,KAAIC,mBAAU,EAACL,UAAU,EAAEjZ,SAAS,EAAED,MAAM,CAAC,EAC7C,KAAIwZ,oBAAY,EAACN,UAAU,CAAC,EAC5B,KAAIO,iBAAS,EAACP,UAAU,CAAC,EACzB,KAAIQ,mBAAW,EAACR,UAAU,EAAEjZ,SAAS,EAAED,MAAM,CAAC,CAC/C;IACD;IACA;IACA,IAAIC,SAAS,EAAE;MACbA,SAAS,CAAC0Z,yBAAyB,CAACT,UAAU,CAACvB,2BAA2B,CAACyB,IAAI,CAACF,UAAU,CAAC,CAAC;IAC9F;IACAP,GAAG,CAACzV,QAAQ,CAAC,GAAGoW,QAAQ,CAAC;IACzB,OAAOJ,UAAU;EACnB;AACF;AAACU,OAAA,CAAA/Z,WAAA,GAAAA,WAAA;AAAAb,eAAA,CA9+BYa,WAAW,WAo5BP,CAACga,eAAI,CAACC,QAAQ,CAAc,CAAC,EAAED,eAAI,CAACC,QAAQ,CAAiB,CAAC,EAAED,eAAI,CAACC,QAAQ,CAAkB,CAAC,CAAC;AAAA9a,eAAA,CAp5BrGa,WAAW,kBAq5BA,CACpBiU,8CAAwB,EACxBiG,6BAAe,EACfC,sBAAY,EACZC,0BAAc,EACdC,gBAAS,EACTC,0BAAc,EACdC,sBAAY,EACZC,kBAAU,EACVC,gCAAiB,EACjBC,4BAAe,EACfC,4BAAe,EACfC,kDAA0B,CAC3B;AAAAzb,eAAA,CAl6BUa,WAAW,aAo6BL6a,kBAAW;AAiF9B,SAAShS,uCAAuCA,CAAC;EAC/CI,qBAAqB;EACrBD;AACsB,CAAC,EAAW;EAClC,MAAM8R,WAAW,GAAG,IAAI/Z,GAAG,CACzBkI,qBAAqB,CAClB2M,OAAO,CAAC,CAAC,CACTlT,GAAG,CAAC,CAAC,CAAC;IAAEgL;EAAM,CAAC,CAAC,KAAK;IACpB,MAAMqN,KAAK,GAAGrN,KAAK,CAACC,MAAM,CAACC,QAAQ,CAACC,gCAAa,CAACC,+BAA+B,CAAC;IAClF,IAAI,CAACiN,KAAK,EAAE,OAAO,EAAE;IACrB,OAAOA,KAAK,CAAChgB,IAAI,CAAC2H,GAAG,CAAEqL,CAAC,IAAKA,CAAC,CAACC,eAAe,CAAC,CAACC,IAAI,CAAC,CAAC;EACxD,CAAC,CAAC,CACDA,IAAI,CAAC,CACV,CAAC;EACD,OAAOlQ,MAAM,CAACgF,MAAM,CAACiG,SAAS,CAAC,CAACuO,IAAI,CAAC,CAAC;IAAE5Q;EAAK,CAAC,KAAKA,IAAI,IAAImU,WAAW,CAACpd,GAAG,CAACiJ,IAAI,CAAC,CAAC;AACnF;AAEAsS,wBAAa,CAAC+B,UAAU,CAAChb,WAAW,CAAC;AAAC,IAAAib,QAAA,GAAAlB,OAAA,CAAA1c,OAAA,GAEvB2C,WAAW;AAE1B,SAASwK,aAAaA,CAACxB,SAA0C,EAAU;EACzE;EACA,MAAMkS,kBAAkB,GAAG,IAAAC,mBAAS,EAACnS,SAAS,EAAGiC,QAAQ,IAAAlM,aAAA,CAAAA,aAAA,KACpDkM,QAAQ,CAACF,eAAe,GACxBE,QAAQ,CAACnH,YAAY,CACxB,CAAC;EACH,OAAO,IAAAsX,qBAAI,EAACF,kBAAkB,CAAC;AACjC","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/install",
3
- "version": "1.0.337",
3
+ "version": "1.0.339",
4
4
  "homepage": "https://bit.cloud/teambit/workspace/install",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.workspace",
8
8
  "name": "install",
9
- "version": "1.0.337"
9
+ "version": "1.0.339"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -20,26 +20,26 @@
20
20
  "enquirer": "2.3.6",
21
21
  "table": "5.4.6",
22
22
  "@teambit/harmony": "0.4.6",
23
- "@teambit/bit-roots": "0.0.133",
23
+ "@teambit/workspace.root-components": "1.0.0",
24
24
  "@teambit/bit-error": "0.0.404",
25
- "@teambit/cli": "0.0.914",
26
- "@teambit/dependency-resolver": "1.0.337",
27
- "@teambit/logger": "0.0.1007",
28
- "@teambit/workspace": "1.0.337",
29
- "@teambit/application": "1.0.337",
30
- "@teambit/compiler": "1.0.337",
25
+ "@teambit/cli": "0.0.916",
26
+ "@teambit/dependency-resolver": "1.0.339",
27
+ "@teambit/logger": "0.0.1009",
28
+ "@teambit/workspace": "1.0.339",
29
+ "@teambit/application": "1.0.339",
30
+ "@teambit/compiler": "1.0.339",
31
31
  "@teambit/component-issues": "0.0.150",
32
- "@teambit/component-package-version": "0.0.433",
33
- "@teambit/component": "1.0.337",
32
+ "@teambit/component-package-version": "0.0.434",
33
+ "@teambit/component": "1.0.339",
34
34
  "@teambit/dependencies.fs.linked-dependencies": "0.0.9",
35
- "@teambit/envs": "1.0.337",
36
- "@teambit/generator": "1.0.338",
37
- "@teambit/ipc-events": "1.0.337",
38
- "@teambit/issues": "1.0.337",
35
+ "@teambit/envs": "1.0.339",
36
+ "@teambit/generator": "1.0.340",
37
+ "@teambit/ipc-events": "1.0.339",
38
+ "@teambit/issues": "1.0.339",
39
39
  "@teambit/pkg.modules.component-package-name": "0.0.3",
40
- "@teambit/variants": "0.0.1181",
41
- "@teambit/workspace-config-files": "1.0.337",
42
- "@teambit/workspace.modules.node-modules-linker": "0.0.179",
40
+ "@teambit/variants": "0.0.1183",
41
+ "@teambit/workspace-config-files": "1.0.339",
42
+ "@teambit/workspace.modules.node-modules-linker": "0.0.181",
43
43
  "@teambit/toolbox.time.time-format": "0.0.496"
44
44
  },
45
45
  "devDependencies": {