@teambit/install 0.0.205 → 0.0.207

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.
File without changes
@@ -1 +1 @@
1
- {"version":3,"names":["DependencyTypeNotSupportedInPolicy","BitError","constructor","type"],"sources":["dependency-type-not-supported-in-policy.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class DependencyTypeNotSupportedInPolicy extends BitError {\n constructor(type: string) {\n super(`the workspace policy does not support ${type} dependencies`);\n }\n}\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,kCAAkC,SAASC,oBAAQ,CAAC;EAC/DC,WAAW,CAACC,IAAY,EAAE;IACxB,KAAK,CAAE,yCAAwCA,IAAK,eAAc,CAAC;EACrE;AACF;AAAC"}
1
+ {"version":3,"names":["_bitError","data","require","DependencyTypeNotSupportedInPolicy","BitError","constructor","type","exports"],"sources":["dependency-type-not-supported-in-policy.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class DependencyTypeNotSupportedInPolicy extends BitError {\n constructor(type: string) {\n super(`the workspace policy does not support ${type} dependencies`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,kCAAkC,SAASC,oBAAQ,CAAC;EAC/DC,WAAWA,CAACC,IAAY,EAAE;IACxB,KAAK,CAAE,yCAAwCA,IAAK,eAAc,CAAC;EACrE;AACF;AAACC,OAAA,CAAAJ,kCAAA,GAAAA,kCAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { DependencyTypeNotSupportedInPolicy } from './dependency-type-not-supported-in-policy';\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_dependencyTypeNotSupportedInPolicy","data","require"],"sources":["index.ts"],"sourcesContent":["export { DependencyTypeNotSupportedInPolicy } from './dependency-type-not-supported-in-policy';\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,oCAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,mCAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["InstallAspect"],"sources":["index.ts"],"sourcesContent":["import { InstallAspect } from './install.aspect';\n\nexport type { InstallMain } from './install.main.runtime';\nexport default InstallAspect;\nexport { InstallAspect };\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAiD,eAGlCA,wBAAa;AAAA"}
1
+ {"version":3,"names":["_install","data","require","_default","InstallAspect","exports","default"],"sources":["index.ts"],"sourcesContent":["import { InstallAspect } from './install.aspect';\n\nexport type { InstallMain } from './install.main.runtime';\nexport default InstallAspect;\nexport { InstallAspect };\n"],"mappings":";;;;;;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiD,IAAAE,QAAA,GAGlCC,wBAAa;AAAAC,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["InstallAspect","Aspect","create","id"],"sources":["install.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const InstallAspect = Aspect.create({\n id: 'teambit.bit/install',\n});\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,aAAa,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACzCC,EAAE,EAAE;AACN,CAAC,CAAC;AAAC"}
1
+ {"version":3,"names":["_harmony","data","require","InstallAspect","Aspect","create","id","exports"],"sources":["install.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const InstallAspect = Aspect.create({\n id: 'teambit.bit/install',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,aAAa,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACzCC,EAAE,EAAE;AACN,CAAC,CAAC;AAACC,OAAA,CAAAJ,aAAA,GAAAA,aAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["recurringInstallFlagName","InstallCmd","constructor","install","workspace","logger","name","description","report","packages","options","startTime","Date","now","OutsideWorkspaceError","length","addMissingDeps","BitError","updateExisting","consoleWarning","console","chalk","cyan","installOpts","lifecycleType","addMissingPeers","type","dedupe","skipDedupe","import","skipImport","savePrefix","compile","skipCompile","includeOptionalDeps","noOptional","updateAll","update","recurringInstall","components","endTime","oldNonLoadedEnvs","getOldNonLoadedEnvs","formatOutput","numOfComps","toArray","toString","calculateTime","diff","executionTime","summary","green","anotherInstallRequiredOutput","getAnotherInstallRequiredOutput","oldNonLoadedEnvsStr","join","firstPart","flag","suggestRecurringInstall","envsStr","docsLink","msg","yellow"],"sources":["install.cmd.tsx"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { WorkspaceDependencyLifecycleType } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport chalk from 'chalk';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { InstallMain, WorkspaceInstallOptions } from './install.main.runtime';\n\ntype InstallCmdOptions = {\n type: WorkspaceDependencyLifecycleType;\n skipDedupe: boolean;\n skipImport: boolean;\n skipCompile: boolean;\n update: boolean;\n updateExisting: boolean;\n savePrefix: string;\n addMissingDeps: boolean;\n addMissingPeers: boolean;\n noOptional: boolean;\n recurringInstall: boolean;\n};\n\ntype FormatOutputArgs = {\n numOfComps: string;\n startTime: number;\n endTime: number;\n oldNonLoadedEnvs: string[];\n recurringInstall: boolean;\n};\n\nconst recurringInstallFlagName = 'recurring-install';\n\nexport default class InstallCmd implements Command {\n name = 'install [packages...]';\n description = 'installs workspace dependencies';\n extendedDescription =\n 'when no package is specified, all workspace dependencies are installed and all workspace components are imported.';\n helpUrl = 'docs/dependencies/dependency-installation';\n arguments = [{ name: 'packages...', description: 'a list of packages to install (separated by spaces)' }];\n alias = 'in';\n group = 'development';\n options = [\n ['t', 'type [lifecycleType]', '\"runtime\" (default) or \"peer\" (dev is not a valid option)'],\n ['u', 'update', 'update all dependencies'],\n [\n '',\n 'update-existing [updateExisting]',\n 'DEPRECATED (not needed anymore, it is the default now). update existing dependencies version and types',\n ],\n ['', 'save-prefix [savePrefix]', 'set the prefix to use when adding dependency to workspace.jsonc'],\n ['', 'skip-dedupe [skipDedupe]', 'do not dedupe dependencies on installation'],\n ['', 'skip-import [skipImport]', 'do not import bit objects post installation'],\n ['', 'skip-compile [skipCompile]', 'do not compile components'],\n ['', 'add-missing-deps [addMissingDeps]', 'install all missing dependencies'],\n ['', 'add-missing-peers [addMissingPeers]', 'install all missing peer dependencies'],\n [\n '',\n recurringInstallFlagName,\n 'automatically run install again if there are non loaded old envs in your workspace',\n ],\n ['', 'no-optional [noOptional]', 'do not install optional dependencies (works with pnpm only)'],\n ] as CommandOptions;\n\n constructor(\n private install: InstallMain,\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * logger extension.\n */\n private logger: Logger\n ) {}\n\n async report([packages = []]: [string[]], options: InstallCmdOptions) {\n const startTime = Date.now();\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (packages.length && options.addMissingDeps) {\n throw new BitError('You can not use --add-missing-deps with a list of packages');\n }\n if (options.updateExisting) {\n this.logger.consoleWarning(\n `--update-existing is deprecated, please omit it. \"bit install\" will update existing dependency by default`\n );\n }\n this.logger.console(`Resolving component dependencies for workspace: '${chalk.cyan(this.workspace.name)}'`);\n const installOpts: WorkspaceInstallOptions = {\n lifecycleType: options.addMissingPeers ? 'peer' : options.type,\n dedupe: !options.skipDedupe,\n import: !options.skipImport,\n updateExisting: true,\n savePrefix: options.savePrefix,\n addMissingDeps: options.addMissingDeps,\n addMissingPeers: options.addMissingPeers,\n compile: !options.skipCompile,\n includeOptionalDeps: !options.noOptional,\n updateAll: options.update,\n recurringInstall: options.recurringInstall,\n };\n const components = await this.install.install(packages, installOpts);\n const endTime = Date.now();\n const oldNonLoadedEnvs = this.install.getOldNonLoadedEnvs();\n return formatOutput({\n startTime,\n endTime,\n numOfComps: components.toArray().length.toString(),\n recurringInstall: options[recurringInstallFlagName],\n oldNonLoadedEnvs,\n });\n }\n}\n\nfunction calculateTime(startTime: number, endTime: number) {\n const diff = endTime - startTime;\n return diff / 1000;\n}\n\nfunction formatOutput({\n numOfComps,\n endTime,\n startTime,\n recurringInstall,\n oldNonLoadedEnvs,\n}: FormatOutputArgs): string {\n const executionTime = calculateTime(startTime, endTime);\n const summary = chalk.green(\n `Successfully installed dependencies and compiled ${chalk.cyan(numOfComps)} component(s) in ${chalk.cyan(\n executionTime.toString()\n )} seconds`\n );\n const anotherInstallRequiredOutput = getAnotherInstallRequiredOutput(recurringInstall, oldNonLoadedEnvs);\n return anotherInstallRequiredOutput ? `\\n${anotherInstallRequiredOutput}\\n\\n${summary}` : `\\n${summary}`;\n}\n\nexport function getAnotherInstallRequiredOutput(recurringInstall = false, oldNonLoadedEnvs: string[] = []): string {\n if (!oldNonLoadedEnvs.length) return '';\n const oldNonLoadedEnvsStr = oldNonLoadedEnvs.join(', ');\n const firstPart = `Bit is unable to install all dependencies. Please run \"${chalk.cyan('bit install')}\" again `;\n const flag = chalk.cyan(`--${recurringInstallFlagName}`);\n const suggestRecurringInstall = recurringInstall ? '' : `(or use the \"${flag}\" option next time).`;\n const envsStr = `The following environments need to add support for \"dependency policy\" to fix the warning: ${chalk.cyan(\n oldNonLoadedEnvsStr\n )}`;\n const docsLink = `Read more about how to fix this issue in: https://bit.dev/blog/using-a-static-dependency-policy-in-a-legacy-env-lihfbt9b`;\n\n const msg = `${firstPart}${suggestRecurringInstall}\\n${envsStr}\\n${docsLink}`;\n return chalk.yellow(msg);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_bitError","data","require","_chalk","_interopRequireDefault","_workspace","recurringInstallFlagName","InstallCmd","constructor","install","workspace","logger","_defineProperty2","default","name","description","report","packages","options","startTime","Date","now","OutsideWorkspaceError","length","addMissingDeps","BitError","updateExisting","consoleWarning","console","chalk","cyan","installOpts","lifecycleType","addMissingPeers","type","dedupe","skipDedupe","import","skipImport","savePrefix","compile","skipCompile","includeOptionalDeps","noOptional","updateAll","update","recurringInstall","components","endTime","oldNonLoadedEnvs","getOldNonLoadedEnvs","formatOutput","numOfComps","toArray","toString","exports","calculateTime","diff","executionTime","summary","green","anotherInstallRequiredOutput","getAnotherInstallRequiredOutput","oldNonLoadedEnvsStr","join","firstPart","flag","suggestRecurringInstall","envsStr","docsLink","msg","yellow"],"sources":["install.cmd.tsx"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { WorkspaceDependencyLifecycleType } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport chalk from 'chalk';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { InstallMain, WorkspaceInstallOptions } from './install.main.runtime';\n\ntype InstallCmdOptions = {\n type: WorkspaceDependencyLifecycleType;\n skipDedupe: boolean;\n skipImport: boolean;\n skipCompile: boolean;\n update: boolean;\n updateExisting: boolean;\n savePrefix: string;\n addMissingDeps: boolean;\n addMissingPeers: boolean;\n noOptional: boolean;\n recurringInstall: boolean;\n};\n\ntype FormatOutputArgs = {\n numOfComps: string;\n startTime: number;\n endTime: number;\n oldNonLoadedEnvs: string[];\n recurringInstall: boolean;\n};\n\nconst recurringInstallFlagName = 'recurring-install';\n\nexport default class InstallCmd implements Command {\n name = 'install [packages...]';\n description = 'installs workspace dependencies';\n extendedDescription =\n 'when no package is specified, all workspace dependencies are installed and all workspace components are imported.';\n helpUrl = 'docs/dependencies/dependency-installation';\n arguments = [{ name: 'packages...', description: 'a list of packages to install (separated by spaces)' }];\n alias = 'in';\n group = 'development';\n options = [\n ['t', 'type [lifecycleType]', '\"runtime\" (default) or \"peer\" (dev is not a valid option)'],\n ['u', 'update', 'update all dependencies'],\n [\n '',\n 'update-existing [updateExisting]',\n 'DEPRECATED (not needed anymore, it is the default now). update existing dependencies version and types',\n ],\n ['', 'save-prefix [savePrefix]', 'set the prefix to use when adding dependency to workspace.jsonc'],\n ['', 'skip-dedupe [skipDedupe]', 'do not dedupe dependencies on installation'],\n ['', 'skip-import [skipImport]', 'do not import bit objects post installation'],\n ['', 'skip-compile [skipCompile]', 'do not compile components'],\n ['', 'add-missing-deps [addMissingDeps]', 'install all missing dependencies'],\n ['', 'add-missing-peers [addMissingPeers]', 'install all missing peer dependencies'],\n [\n '',\n recurringInstallFlagName,\n 'automatically run install again if there are non loaded old envs in your workspace',\n ],\n ['', 'no-optional [noOptional]', 'do not install optional dependencies (works with pnpm only)'],\n ] as CommandOptions;\n\n constructor(\n private install: InstallMain,\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * logger extension.\n */\n private logger: Logger\n ) {}\n\n async report([packages = []]: [string[]], options: InstallCmdOptions) {\n const startTime = Date.now();\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (packages.length && options.addMissingDeps) {\n throw new BitError('You can not use --add-missing-deps with a list of packages');\n }\n if (options.updateExisting) {\n this.logger.consoleWarning(\n `--update-existing is deprecated, please omit it. \"bit install\" will update existing dependency by default`\n );\n }\n this.logger.console(`Resolving component dependencies for workspace: '${chalk.cyan(this.workspace.name)}'`);\n const installOpts: WorkspaceInstallOptions = {\n lifecycleType: options.addMissingPeers ? 'peer' : options.type,\n dedupe: !options.skipDedupe,\n import: !options.skipImport,\n updateExisting: true,\n savePrefix: options.savePrefix,\n addMissingDeps: options.addMissingDeps,\n addMissingPeers: options.addMissingPeers,\n compile: !options.skipCompile,\n includeOptionalDeps: !options.noOptional,\n updateAll: options.update,\n recurringInstall: options.recurringInstall,\n };\n const components = await this.install.install(packages, installOpts);\n const endTime = Date.now();\n const oldNonLoadedEnvs = this.install.getOldNonLoadedEnvs();\n return formatOutput({\n startTime,\n endTime,\n numOfComps: components.toArray().length.toString(),\n recurringInstall: options[recurringInstallFlagName],\n oldNonLoadedEnvs,\n });\n }\n}\n\nfunction calculateTime(startTime: number, endTime: number) {\n const diff = endTime - startTime;\n return diff / 1000;\n}\n\nfunction formatOutput({\n numOfComps,\n endTime,\n startTime,\n recurringInstall,\n oldNonLoadedEnvs,\n}: FormatOutputArgs): string {\n const executionTime = calculateTime(startTime, endTime);\n const summary = chalk.green(\n `Successfully installed dependencies and compiled ${chalk.cyan(numOfComps)} component(s) in ${chalk.cyan(\n executionTime.toString()\n )} seconds`\n );\n const anotherInstallRequiredOutput = getAnotherInstallRequiredOutput(recurringInstall, oldNonLoadedEnvs);\n return anotherInstallRequiredOutput ? `\\n${anotherInstallRequiredOutput}\\n\\n${summary}` : `\\n${summary}`;\n}\n\nexport function getAnotherInstallRequiredOutput(recurringInstall = false, oldNonLoadedEnvs: string[] = []): string {\n if (!oldNonLoadedEnvs.length) return '';\n const oldNonLoadedEnvsStr = oldNonLoadedEnvs.join(', ');\n const firstPart = `Bit is unable to install all dependencies. Please run \"${chalk.cyan('bit install')}\" again `;\n const flag = chalk.cyan(`--${recurringInstallFlagName}`);\n const suggestRecurringInstall = recurringInstall ? '' : `(or use the \"${flag}\" option next time).`;\n const envsStr = `The following environments need to add support for \"dependency policy\" to fix the warning: ${chalk.cyan(\n oldNonLoadedEnvsStr\n )}`;\n const docsLink = `Read more about how to fix this issue in: https://bit.dev/blog/using-a-static-dependency-policy-in-a-legacy-env-lihfbt9b`;\n\n const msg = `${firstPart}${suggestRecurringInstall}\\n${envsStr}\\n${docsLink}`;\n return chalk.yellow(msg);\n}\n"],"mappings":"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"}
@@ -418,7 +418,7 @@ class InstallMain {
418
418
  // We need to clear cache before creating the new component manifests.
419
419
  this.workspace.consumer.componentLoader.clearComponentsCache();
420
420
  // We don't want to clear the failed to load envs because we want to show the warning at the end
421
- this.workspace.clearCache({
421
+ await this.workspace.clearCache({
422
422
  skipClearFailedToLoadEnvs: true
423
423
  });
424
424
  current = await this._getComponentsManifests(installer, mergedRootPolicy, calcManifestsOpts);
@@ -1 +1 @@
1
- {"version":3,"names":["InstallMain","constructor","dependencyResolver","logger","workspace","variants","compiler","envs","app","preLinkSlot","preInstallSlot","postInstallSlot","ipcEvents","Set","install","packages","options","inInstallContext","length","_addPackages","addMissingPeers","compDirMap","getComponentsDirectory","mergedRootPolicy","getWorkspacePolicy","depsFilterFn","generateFilterFnForDepsFromLocalRemote","pmInstallOptions","dedupe","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","dependencyFilterFn","overrides","config","packageImportMethod","missingPeers","getMissingPeerDependencies","path","missingPeerPackages","Object","entries","map","peerName","range","console","pMapSeries","values","fn","res","_installModules","publishIpcEvent","registerPreLink","register","registerPreInstall","registerPostInstall","lifecycleType","DependencyTypeNotSupportedInPolicy","debug","join","resolver","getVersionResolver","resolvedPackagesP","packageName","resolveRemoteVersion","rootDir","resolvedPackages","Promise","all","newWorkspacePolicyEntries","forEach","resolvedPackage","version","versionWithPrefix","getVersionWithSavePrefix","overridePrefix","savePrefix","wantedRange","push","dependencyId","value","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","addMissingDeps","includeOptionalDeps","neverBuiltDependencies","rootComponents","updateAll","optimizeReportForNonTerminal","prevManifests","linkedDependencies","installCycle","hasMissingLocalComponents","forceTeambitHarmonyLink","hasHarmonyInRootPolicy","hasComponentsFromWorkspaceInMissingDeps","dependenciesChanged","installComponents","manifests","componentDirectoryMap","installTeambitBit","compile","compileStartTime","process","hrtime","compileOutputMessage","setStatusLine","compileOnWorkspace","initiator","CompilationInitiator","Install","consoleSuccess","linkCodemods","recurringInstall","oldNonLoadedEnvs","getOldNonLoadedEnvs","add","manifestsHash","consumer","componentLoader","clearComponentsCache","clearCache","skipClearFailedToLoadEnvs","_getComponentsManifests","has","pruneModules","componentFsCache","deleteAllDependenciesDataCache","addConfiguredAspectsToWorkspacePolicy","rootDeps","keys","devDependencies","dependencies","omit","manifest","addedNewPkgs","_addMissingPackagesToRootPolicy","mergedRootPolicyWithMissingDeps","rootPolicy","aspectsPackages","getConfiguredUserAspectsPackages","externalsOnly","aspectsPackage","_getMissingPackagesWithoutRootDeps","_getAllMissingPackages","filter","pkg","comps","list","uniq","comp","data","state","issues","getIssue","IssuesClasses","MissingPackagesDependenciesOnFs","flat","dependencyInstaller","installOptions","getComponentManifests","referenceLocalPackages","rootManifests","_getRootManifests","_updateRootDirs","nonLoadedEnvs","getFailedToLoadEnvs","envsWithoutManifest","Array","from","intersection","rootDirs","bitRootCompsDir","getBitRootsDir","existingDirs","fs","readdir","dirName","dirPath","includes","remove","err","code","mkdir","recursive","nonRootManifests","workspaceDeps","getWorkspaceDepsOfBitRoots","workspaceDepsMeta","reduce","acc","depName","injected","envManifests","_getEnvManifests","appManifests","_getAppManifests","_getAllUsedEnvIds","fromEntries","envId","getRootComponentDir","toString","_getEnvDependencies","_getEnvPackage","dependenciesMeta","installConfig","hoistingLimits","policy","getEnvPolicyFromEnvId","selfPolicy","force","isCoreEnv","toStringWithoutVersion","undefined","inWs","hasId","envComponent","getEnvComponentByEnvId","getPackageName","finalVersion","snapToSemver","compact","listAppsComponents","appPkgName","appManifest","find","calculateEnvId","id","components","component","updateDependencies","componentConfigFiles","componentPoliciesById","_getComponentsWithDependencyPolicies","variantPatterns","raw","variantPoliciesByPatterns","_variantPatternsToDepPolicesDict","outdatedPkgs","getOutdatedPkgsFromPolicies","outdatedPkgsToUpdate","off","pickOutdatedPkgs","on","updatedVariants","updatedComponents","applyUpdates","_updateVariantsPolicies","updatedComponentConfigFiles","pick","_saveManyComponentConfigFiles","_reloadConsumer","addDuplicateComponentAndPackageIssue","workspacePolicy","_consumer","removed","pkgName","componentIdToPackageName","found","getOrCreate","DuplicateComponentAndPackage","allComponentIds","listIds","componentId","componentConfigFile","index","depResolverConfig","aspects","get","DependencyResolverAspect","variantPattern","extensions","updateVariantPolicies","setExtension","overrideExisting","write","override","uninstallDependencies","removeFromRootPolicy","linker","getLinker","linkingOptions","linkResults","calculateLinkedDeps","workspaceRes","legacyResults","legacyLinkResults","linksResults","legacyLinkCodemodResults","codemodResults","linkToBitRoots","_linkAllComponentsToBitRoots","bitIds","toArray","_legacy","linkToNodeModulesWithCodemod","rewire","link","createLinks","linkToDir","apps","mkdirp","linkPkgsToBitRoots","remotes","scope","_legacyRemotes","reg","getRegistries","packageScopes","scopes","dependencyList","filtered","dep","ComponentDependency","isHub","some","startsWith","ids","getMany","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","commands","InstallCmd","UninstallCmd","UpdateCmd","LinkCommand","registerOnRootAspectAdded","Slot","withType","WorkspaceAspect","LoggerAspect","VariantsAspect","CLIAspect","CompilerAspect","IssuesAspect","EnvsAspect","ApplicationAspect","IpcEventsAspect","MainRuntime","missingDeps","issue","addRuntime","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, pick, intersection } from 'lodash';\nimport { ProjectManifest } from '@pnpm/types';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-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 { linkToNodeModulesWithCodemod, NodeModulesLinksResult } 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 OutdatedPkg,\n WorkspacePolicy,\n} from '@teambit/dependency-resolver';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport { CodemodResult } from '@teambit/legacy/dist/consumer/component-ops/codemod-components';\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};\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 savePrefix?: string;\n compile?: boolean;\n includeOptionalDeps?: boolean;\n updateAll?: boolean;\n recurringInstall?: boolean;\n optimizeReportForNonTerminal?: 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 app: ApplicationMain,\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 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 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 });\n await this.dependencyResolver.persistConfig(this.workspace.path);\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 includeOptionalDeps: options?.includeOptionalDeps,\n neverBuiltDependencies: this.dependencyResolver.config.neverBuiltDependencies,\n overrides: this.dependencyResolver.config.overrides,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n rootComponents: hasRootComponents,\n updateAll: options?.updateAll,\n optimizeReportForNonTerminal: options?.optimizeReportForNonTerminal,\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 if (options?.compile) {\n const compileStartTime = process.hrtime();\n const compileOutputMessage = `compiling components`;\n this.logger.setStatusLine(compileOutputMessage);\n await this.compiler.compileOnWorkspace([], { initiator: CompilationInitiator.Install });\n this.logger.consoleSuccess(compileOutputMessage, compileStartTime);\n }\n await this.linkCodemods(compDirMap);\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 // 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 this.workspace.clearCache({ skipClearFailedToLoadEnvs: true });\n current = await this._getComponentsManifests(installer, mergedRootPolicy, calcManifestsOpts);\n installCycle += 1;\n } while ((!prevManifests.has(manifestsHash(current.manifests)) || hasMissingLocalComponents) && installCycle < 5);\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 await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n /* eslint-enable no-await-in-loop */\n return current.componentDirectoryMap;\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 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 return {\n mergedRootPolicy: mergedRootPolicyWithMissingDeps,\n componentsAndManifests: await this._getComponentsManifests(installer, mergedRootPolicyWithMissingDeps, options),\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 dependencyId: aspectsPackage.packageName,\n value: {\n version: aspectsPackage.version,\n },\n lifecycleType: 'runtime',\n });\n });\n return rootPolicy;\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 Object.values(data).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 getRootComponentDir(this.workspace.path, envId.toString()),\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);\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 getRootComponentDir(this.workspace.path, app.id.toString()),\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 Set<ComponentID>();\n const components = await this.workspace.list();\n await pMapSeries(components, async (component) => {\n const envId = await this.envs.calculateEnvId(component);\n envs.add(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: { all: boolean }): Promise<ComponentMap<string> | null> {\n const { componentConfigFiles, componentPoliciesById } = await this._getComponentsWithDependencyPolicies();\n const variantPatterns = this.variants.raw();\n const variantPoliciesByPatterns = this._variantPatternsToDepPolicesDict(variantPatterns);\n const components = await this.workspace.list();\n const outdatedPkgs = await this.dependencyResolver.getOutdatedPkgsFromPolicies({\n rootDir: this.workspace.path,\n variantPoliciesByPatterns,\n componentPoliciesById,\n components,\n });\n let outdatedPkgsToUpdate!: OutdatedPkg[];\n if (options.all) {\n outdatedPkgsToUpdate = outdatedPkgs;\n } else {\n this.logger.off();\n outdatedPkgsToUpdate = await pickOutdatedPkgs(outdatedPkgs);\n this.logger.on();\n }\n if (outdatedPkgsToUpdate.length === 0) {\n this.logger.consoleSuccess('No outdated dependencies found');\n return null;\n }\n const { updatedVariants, updatedComponents } = this.dependencyResolver.applyUpdates(outdatedPkgsToUpdate, {\n variantPoliciesByPatterns,\n componentPoliciesById,\n });\n await this._updateVariantsPolicies(variantPatterns, updatedVariants);\n const updatedComponentConfigFiles = Object.values(pick(componentConfigFiles, updatedComponents));\n await this._saveManyComponentConfigFiles(updatedComponentConfigFiles);\n await this.workspace._reloadConsumer();\n return this._installModules({ dedupe: true });\n }\n\n async addDuplicateComponentAndPackageIssue(components: Component[]) {\n const workspacePolicy = this.dependencyResolver.getWorkspacePolicy();\n components.forEach((component) => {\n 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 = await this.workspace.listIds();\n const componentConfigFiles: Record<string, ComponentConfigFile> = {};\n const componentPoliciesById: Record<string, any> = {};\n (\n await Promise.all<ComponentConfigFile | undefined>(\n allComponentIds.map((componentId) => this.workspace.componentConfigFile(componentId))\n )\n ).forEach((componentConfigFile, index) => {\n if (!componentConfigFile) return;\n const depResolverConfig = componentConfigFile.aspects.get(DependencyResolverAspect.id);\n if (!depResolverConfig) return;\n const componentId = allComponentIds[index].toString();\n componentConfigFiles[componentId] = componentConfigFile;\n componentPoliciesById[componentId] = depResolverConfig.config.policy;\n });\n return {\n componentConfigFiles,\n componentPoliciesById,\n };\n }\n\n private _variantPatternsToDepPolicesDict(variantPatterns: Patterns): Record<string, VariantPolicyConfigObject> {\n const variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject> = {};\n for (const [variantPattern, extensions] of Object.entries(variantPatterns)) {\n if (extensions[DependencyResolverAspect.id]?.policy) {\n variantPoliciesByPatterns[variantPattern] = extensions[DependencyResolverAspect.id]?.policy;\n }\n }\n return variantPoliciesByPatterns;\n }\n\n private _updateVariantsPolicies(variantPatterns: Record<string, any>, updateVariantPolicies: string[]) {\n for (const variantPattern of updateVariantPolicies) {\n this.variants.setExtension(\n variantPattern,\n DependencyResolverAspect.id,\n variantPatterns[variantPattern][DependencyResolverAspect.id],\n { overrideExisting: true }\n );\n }\n return this.dependencyResolver.persistConfig(this.workspace.path);\n }\n\n private async _saveManyComponentConfigFiles(componentConfigFiles: ComponentConfigFile[]) {\n await Promise.all(\n Array.from(componentConfigFiles).map(async (componentConfigFile) => {\n await componentConfigFile.write({ override: true });\n })\n );\n }\n\n /**\n * Uninstall the specified packages from dependencies.\n *\n * @param {string[]} the list of packages that should be removed from dependencies.\n */\n async uninstallDependencies(packages: string[]) {\n this.dependencyResolver.removeFromRootPolicy(packages);\n await this.dependencyResolver.persistConfig(this.workspace.path);\n return this._installModules({ dedupe: true });\n }\n\n /**\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._legacy);\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 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.toString());\n await Promise.all(\n [...envs, ...apps].map(async (id) => {\n await fs.mkdirp(getRootComponentDir(this.workspace.path, id.toString()));\n })\n );\n await linkPkgsToBitRoots(\n this.workspace.path,\n compDirMap.components.map((component) => this.dependencyResolver.getPackageName(component))\n );\n }\n\n /**\n * Generate a filter to pass to the installer\n * This will filter deps which are come from remotes which defined in scope.json\n * those components comes from local remotes, usually doesn't have a package in a registry\n * so no reason to try to install them (it will fail)\n */\n private async generateFilterFnForDepsFromLocalRemote() {\n // TODO: once scope create a new API for this, replace it with the new one\n const remotes = await this.workspace.scope._legacyRemotes();\n const reg = await this.dependencyResolver.getRegistries();\n const packageScopes = Object.keys(reg.scopes);\n return (dependencyList: DependencyList): DependencyList => {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n return true;\n }\n if (remotes.isHub(dep.componentId.scope)) {\n return true;\n }\n if (packageScopes.some((scope) => dep.packageName.startsWith(`@${scope}/`))) {\n return true;\n }\n return false;\n });\n return filtered;\n };\n }\n\n private async getComponentsDirectory(ids: ComponentID[]): Promise<ComponentMap<string>> {\n const components = ids.length ? await this.workspace.getMany(ids) : await this.workspace.list();\n return ComponentMap.as<string>(components, (component) => this.workspace.componentDir(component.id));\n }\n\n 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 = 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 ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [dependencyResolver, workspace, loggerExt, variants, cli, compiler, issues, envs, app, ipcEvents]: [\n DependencyResolverMain,\n Workspace,\n LoggerMain,\n VariantsMain,\n CLIMain,\n CompilerMain,\n IssuesMain,\n EnvsMain,\n ApplicationMain,\n IpcEventsMain\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 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 app,\n preLinkSlot,\n preInstallSlot,\n postInstallSlot,\n ipcEvents\n );\n if (issues) {\n issues.registerAddComponentsIssues(installExt.addDuplicateComponentAndPackageIssue.bind(installExt));\n }\n const commands: CommandList = [\n new InstallCmd(installExt, workspace, logger),\n new UninstallCmd(installExt),\n new UpdateCmd(installExt),\n new LinkCommand(installExt, workspace, logger),\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 Object.values(issue.data).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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"}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireWildcard","require","_path","_interopRequireDefault","_bitRoots","_compiler","_cli","_chalk","_workspace","_lodash","_componentIdToPackageName","_application","_variants","_component","_dependenciesFs","_pMapSeries","_harmony","_workspaceModules","_envs","_ipcEvents","_componentIssues","_dependencyResolver","_logger","_issues","_componentPackageVersion","_objectHash","_exceptions","_install","_pickOutdatedPkgs","_link","_install2","_uninstall","_update","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","InstallMain","constructor","dependencyResolver","logger","workspace","variants","compiler","envs","app","preLinkSlot","preInstallSlot","postInstallSlot","ipcEvents","Set","install","packages","options","inInstallContext","_addPackages","addMissingPeers","_options$copyPeerToRu","_options$copyPeerToRu2","compDirMap","getComponentsDirectory","mergedRootPolicy","getWorkspacePolicy","depsFilterFn","generateFilterFnForDepsFromLocalRemote","pmInstallOptions","dedupe","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","dependencyFilterFn","overrides","config","packageImportMethod","missingPeers","getMissingPeerDependencies","path","missingPeerPackages","entries","map","peerName","range","console","pMapSeries","values","fn","res","_installModules","publishIpcEvent","registerPreLink","register","registerPreInstall","registerPostInstall","_options$updateExisti","lifecycleType","DependencyTypeNotSupportedInPolicy","debug","join","resolver","getVersionResolver","resolvedPackagesP","packageName","resolveRemoteVersion","rootDir","resolvedPackages","Promise","all","newWorkspacePolicyEntries","resolvedPackage","version","versionWithPrefix","getVersionWithSavePrefix","overridePrefix","savePrefix","wantedRange","dependencyId","value","addToRootPolicy","updateExisting","persistConfig","_options$copyPeerToRu3","_options$copyPeerToRu4","pm","getPackageManager","name","chalk","cyan","getPackageManagerName","hasRootComponents","installer","getInstaller","calcManifestsOpts","nodeLinker","linkOpts","linkTeambitBit","linkCoreAspects","linkDepsResolvedFromEnv","linkNestedDepsInNM","isLegacy","linkedRootDeps","calculateLinks","componentsAndManifests","current","_getComponentsManifestsAndRootPolicy","addMissingDeps","includeOptionalDeps","neverBuiltDependencies","rootComponents","updateAll","optimizeReportForNonTerminal","prevManifests","linkedDependencies","installCycle","hasMissingLocalComponents","forceTeambitHarmonyLink","hasHarmonyInRootPolicy","hasComponentsFromWorkspaceInMissingDeps","dependenciesChanged","installComponents","manifests","componentDirectoryMap","installTeambitBit","compile","compileStartTime","process","hrtime","compileOutputMessage","setStatusLine","compileOnWorkspace","initiator","CompilationInitiator","Install","consoleSuccess","linkCodemods","recurringInstall","oldNonLoadedEnvs","getOldNonLoadedEnvs","add","manifestsHash","consumer","componentLoader","clearComponentsCache","clearCache","skipClearFailedToLoadEnvs","_getComponentsManifests","pruneModules","componentFsCache","deleteAllDependenciesDataCache","addConfiguredAspectsToWorkspacePolicy","rootDeps","devDependencies","dependencies","omit","manifest","addedNewPkgs","_addMissingPackagesToRootPolicy","mergedRootPolicyWithMissingDeps","rootPolicy","aspectsPackages","getConfiguredUserAspectsPackages","externalsOnly","aspectsPackage","_getMissingPackagesWithoutRootDeps","_getAllMissingPackages","pkg","comps","list","uniq","comp","_comp$state$issues$ge","state","issues","getIssue","IssuesClasses","MissingPackagesDependenciesOnFs","flat","dependencyInstaller","installOptions","getComponentManifests","referenceLocalPackages","rootManifests","_getRootManifests","_updateRootDirs","nonLoadedEnvs","getFailedToLoadEnvs","envsWithoutManifest","Array","from","intersection","rootDirs","bitRootCompsDir","getBitRootsDir","existingDirs","fs","readdir","dirName","dirPath","includes","remove","err","code","mkdir","recursive","nonRootManifests","workspaceDeps","getWorkspaceDepsOfBitRoots","workspaceDepsMeta","reduce","acc","depName","injected","envManifests","_getEnvManifests","appManifests","_getAppManifests","_getAllUsedEnvIds","fromEntries","envId","getRootComponentDir","toString","_getEnvDependencies","_getEnvPackage","dependenciesMeta","installConfig","hoistingLimits","policy","getEnvPolicyFromEnvId","selfPolicy","force","isCoreEnv","toStringWithoutVersion","undefined","inWs","hasId","envComponent","getEnvComponentByEnvId","getPackageName","finalVersion","snapToSemver","compact","listAppsComponents","appPkgName","appManifest","find","calculateEnvId","id","components","component","updateDependencies","componentConfigFiles","componentPoliciesById","_getComponentsWithDependencyPolicies","variantPatterns","raw","variantPoliciesByPatterns","_variantPatternsToDepPolicesDict","outdatedPkgs","getOutdatedPkgsFromPolicies","outdatedPkgsToUpdate","off","pickOutdatedPkgs","on","updatedVariants","updatedComponents","applyUpdates","_updateVariantsPolicies","updatedComponentConfigFiles","pick","_saveManyComponentConfigFiles","_reloadConsumer","addDuplicateComponentAndPackageIssue","workspacePolicy","_consumer","removed","pkgName","componentIdToPackageName","found","getOrCreate","DuplicateComponentAndPackage","allComponentIds","listIds","componentId","componentConfigFile","index","depResolverConfig","aspects","DependencyResolverAspect","variantPattern","extensions","_extensions$Dependenc","_extensions$Dependenc2","updateVariantPolicies","setExtension","overrideExisting","write","override","uninstallDependencies","removeFromRootPolicy","linker","getLinker","linkingOptions","linkResults","calculateLinkedDeps","workspaceRes","legacyResults","legacyLinkResults","linksResults","legacyLinkCodemodResults","codemodResults","linkToBitRoots","_linkAllComponentsToBitRoots","_options$rewire","bitIds","toArray","_legacy","linkToNodeModulesWithCodemod","rewire","link","_options$linkToDir","createLinks","linkToDir","apps","mkdirp","linkPkgsToBitRoots","remotes","scope","_legacyRemotes","reg","getRegistries","packageScopes","scopes","dependencyList","filtered","dep","ComponentDependency","isHub","some","startsWith","ids","getMany","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","commands","InstallCmd","UninstallCmd","UpdateCmd","LinkCommand","registerOnRootAspectAdded","exports","Slot","withType","WorkspaceAspect","LoggerAspect","VariantsAspect","CLIAspect","CompilerAspect","IssuesAspect","EnvsAspect","ApplicationAspect","IpcEventsAspect","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, pick, intersection } from 'lodash';\nimport { ProjectManifest } from '@pnpm/types';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-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 { linkToNodeModulesWithCodemod, NodeModulesLinksResult } 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 OutdatedPkg,\n WorkspacePolicy,\n} from '@teambit/dependency-resolver';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport { CodemodResult } from '@teambit/legacy/dist/consumer/component-ops/codemod-components';\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};\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 savePrefix?: string;\n compile?: boolean;\n includeOptionalDeps?: boolean;\n updateAll?: boolean;\n recurringInstall?: boolean;\n optimizeReportForNonTerminal?: 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 app: ApplicationMain,\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 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 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 });\n await this.dependencyResolver.persistConfig(this.workspace.path);\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 includeOptionalDeps: options?.includeOptionalDeps,\n neverBuiltDependencies: this.dependencyResolver.config.neverBuiltDependencies,\n overrides: this.dependencyResolver.config.overrides,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n rootComponents: hasRootComponents,\n updateAll: options?.updateAll,\n optimizeReportForNonTerminal: options?.optimizeReportForNonTerminal,\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 if (options?.compile) {\n const compileStartTime = process.hrtime();\n const compileOutputMessage = `compiling components`;\n this.logger.setStatusLine(compileOutputMessage);\n await this.compiler.compileOnWorkspace([], { initiator: CompilationInitiator.Install });\n this.logger.consoleSuccess(compileOutputMessage, compileStartTime);\n }\n await this.linkCodemods(compDirMap);\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 // 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 current = await this._getComponentsManifests(installer, mergedRootPolicy, calcManifestsOpts);\n installCycle += 1;\n } while ((!prevManifests.has(manifestsHash(current.manifests)) || hasMissingLocalComponents) && installCycle < 5);\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 await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n /* eslint-enable no-await-in-loop */\n return current.componentDirectoryMap;\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 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 return {\n mergedRootPolicy: mergedRootPolicyWithMissingDeps,\n componentsAndManifests: await this._getComponentsManifests(installer, mergedRootPolicyWithMissingDeps, options),\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 dependencyId: aspectsPackage.packageName,\n value: {\n version: aspectsPackage.version,\n },\n lifecycleType: 'runtime',\n });\n });\n return rootPolicy;\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 Object.values(data).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 getRootComponentDir(this.workspace.path, envId.toString()),\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);\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 getRootComponentDir(this.workspace.path, app.id.toString()),\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 Set<ComponentID>();\n const components = await this.workspace.list();\n await pMapSeries(components, async (component) => {\n const envId = await this.envs.calculateEnvId(component);\n envs.add(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: { all: boolean }): Promise<ComponentMap<string> | null> {\n const { componentConfigFiles, componentPoliciesById } = await this._getComponentsWithDependencyPolicies();\n const variantPatterns = this.variants.raw();\n const variantPoliciesByPatterns = this._variantPatternsToDepPolicesDict(variantPatterns);\n const components = await this.workspace.list();\n const outdatedPkgs = await this.dependencyResolver.getOutdatedPkgsFromPolicies({\n rootDir: this.workspace.path,\n variantPoliciesByPatterns,\n componentPoliciesById,\n components,\n });\n let outdatedPkgsToUpdate!: OutdatedPkg[];\n if (options.all) {\n outdatedPkgsToUpdate = outdatedPkgs;\n } else {\n this.logger.off();\n outdatedPkgsToUpdate = await pickOutdatedPkgs(outdatedPkgs);\n this.logger.on();\n }\n if (outdatedPkgsToUpdate.length === 0) {\n this.logger.consoleSuccess('No outdated dependencies found');\n return null;\n }\n const { updatedVariants, updatedComponents } = this.dependencyResolver.applyUpdates(outdatedPkgsToUpdate, {\n variantPoliciesByPatterns,\n componentPoliciesById,\n });\n await this._updateVariantsPolicies(variantPatterns, updatedVariants);\n const updatedComponentConfigFiles = Object.values(pick(componentConfigFiles, updatedComponents));\n await this._saveManyComponentConfigFiles(updatedComponentConfigFiles);\n await this.workspace._reloadConsumer();\n return this._installModules({ dedupe: true });\n }\n\n async addDuplicateComponentAndPackageIssue(components: Component[]) {\n const workspacePolicy = this.dependencyResolver.getWorkspacePolicy();\n components.forEach((component) => {\n 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 = await this.workspace.listIds();\n const componentConfigFiles: Record<string, ComponentConfigFile> = {};\n const componentPoliciesById: Record<string, any> = {};\n (\n await Promise.all<ComponentConfigFile | undefined>(\n allComponentIds.map((componentId) => this.workspace.componentConfigFile(componentId))\n )\n ).forEach((componentConfigFile, index) => {\n if (!componentConfigFile) return;\n const depResolverConfig = componentConfigFile.aspects.get(DependencyResolverAspect.id);\n if (!depResolverConfig) return;\n const componentId = allComponentIds[index].toString();\n componentConfigFiles[componentId] = componentConfigFile;\n componentPoliciesById[componentId] = depResolverConfig.config.policy;\n });\n return {\n componentConfigFiles,\n componentPoliciesById,\n };\n }\n\n private _variantPatternsToDepPolicesDict(variantPatterns: Patterns): Record<string, VariantPolicyConfigObject> {\n const variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject> = {};\n for (const [variantPattern, extensions] of Object.entries(variantPatterns)) {\n if (extensions[DependencyResolverAspect.id]?.policy) {\n variantPoliciesByPatterns[variantPattern] = extensions[DependencyResolverAspect.id]?.policy;\n }\n }\n return variantPoliciesByPatterns;\n }\n\n private _updateVariantsPolicies(variantPatterns: Record<string, any>, updateVariantPolicies: string[]) {\n for (const variantPattern of updateVariantPolicies) {\n this.variants.setExtension(\n variantPattern,\n DependencyResolverAspect.id,\n variantPatterns[variantPattern][DependencyResolverAspect.id],\n { overrideExisting: true }\n );\n }\n return this.dependencyResolver.persistConfig(this.workspace.path);\n }\n\n private async _saveManyComponentConfigFiles(componentConfigFiles: ComponentConfigFile[]) {\n await Promise.all(\n Array.from(componentConfigFiles).map(async (componentConfigFile) => {\n await componentConfigFile.write({ override: true });\n })\n );\n }\n\n /**\n * Uninstall the specified packages from dependencies.\n *\n * @param {string[]} the list of packages that should be removed from dependencies.\n */\n async uninstallDependencies(packages: string[]) {\n this.dependencyResolver.removeFromRootPolicy(packages);\n await this.dependencyResolver.persistConfig(this.workspace.path);\n return this._installModules({ dedupe: true });\n }\n\n /**\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._legacy);\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 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.toString());\n await Promise.all(\n [...envs, ...apps].map(async (id) => {\n await fs.mkdirp(getRootComponentDir(this.workspace.path, id.toString()));\n })\n );\n await linkPkgsToBitRoots(\n this.workspace.path,\n compDirMap.components.map((component) => this.dependencyResolver.getPackageName(component))\n );\n }\n\n /**\n * Generate a filter to pass to the installer\n * This will filter deps which are come from remotes which defined in scope.json\n * those components comes from local remotes, usually doesn't have a package in a registry\n * so no reason to try to install them (it will fail)\n */\n private async generateFilterFnForDepsFromLocalRemote() {\n // TODO: once scope create a new API for this, replace it with the new one\n const remotes = await this.workspace.scope._legacyRemotes();\n const reg = await this.dependencyResolver.getRegistries();\n const packageScopes = Object.keys(reg.scopes);\n return (dependencyList: DependencyList): DependencyList => {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n return true;\n }\n if (remotes.isHub(dep.componentId.scope)) {\n return true;\n }\n if (packageScopes.some((scope) => dep.packageName.startsWith(`@${scope}/`))) {\n return true;\n }\n return false;\n });\n return filtered;\n };\n }\n\n private async getComponentsDirectory(ids: ComponentID[]): Promise<ComponentMap<string>> {\n const components = ids.length ? await this.workspace.getMany(ids) : await this.workspace.list();\n return ComponentMap.as<string>(components, (component) => this.workspace.componentDir(component.id));\n }\n\n 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 = 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 ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [dependencyResolver, workspace, loggerExt, variants, cli, compiler, issues, envs, app, ipcEvents]: [\n DependencyResolverMain,\n Workspace,\n LoggerMain,\n VariantsMain,\n CLIMain,\n CompilerMain,\n IssuesMain,\n EnvsMain,\n ApplicationMain,\n IpcEventsMain\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 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 app,\n preLinkSlot,\n preInstallSlot,\n postInstallSlot,\n ipcEvents\n );\n if (issues) {\n issues.registerAddComponentsIssues(installExt.addDuplicateComponentAndPackageIssue.bind(installExt));\n }\n const commands: CommandList = [\n new InstallCmd(installExt, workspace, logger),\n new UninstallCmd(installExt),\n new UpdateCmd(installExt),\n new LinkCommand(installExt, workspace, logger),\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 Object.values(issue.data).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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"}
@@ -1 +1 @@
1
- {"version":3,"names":["ComponentListLinks","componentListLinks","verbose","length","chalk","cyan","title","bold","links","map","componentLinks","ComponentLinks","join","bound","VerboseComponentLinks","RegularComponentLinks","id","toString","packagePath","getPackageNameFromTarget","to","LinkRow","target","padding","link","VerboseLinkRow","from"],"sources":["component-list-links.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { NodeModulesLinksResult } from '@teambit/workspace.modules.node-modules-linker';\nimport { getPackageNameFromTarget } from './get-package-name-from-target';\nimport { LinkRow, VerboseLinkRow } from './link-row';\n\ntype ComponentListLinksProps = {\n componentListLinks?: NodeModulesLinksResult[];\n verbose: boolean;\n};\n\nexport function ComponentListLinks({ componentListLinks, verbose = false }: ComponentListLinksProps) {\n if (!componentListLinks || !componentListLinks.length) {\n return chalk.cyan('No components link were generated');\n }\n const title = chalk.bold.cyan('Components links');\n const links = componentListLinks.map((componentLinks) => ComponentLinks({ componentLinks, verbose })).join('\\n');\n\n return `${title}\\n${links}`;\n}\n\ntype ComponentLinksProps = {\n componentLinks: NodeModulesLinksResult;\n verbose: boolean;\n};\nfunction ComponentLinks({ componentLinks, verbose = false }: ComponentLinksProps) {\n if (!componentLinks.bound || componentLinks.bound.length < 1) return '';\n if (verbose) return VerboseComponentLinks({ componentLinks });\n return RegularComponentLinks({ componentLinks });\n}\n\ntype RegularComponentLinksProps = {\n componentLinks: NodeModulesLinksResult;\n};\nfunction RegularComponentLinks({ componentLinks }: RegularComponentLinksProps) {\n const id = componentLinks.id.toString();\n if (!componentLinks.bound || componentLinks.bound.length < 1) return '';\n const packagePath = getPackageNameFromTarget(componentLinks.bound[0].to);\n return LinkRow({ title: id, target: packagePath, padding: 50 });\n}\n\ntype VerboseComponentLinksProps = {\n componentLinks: NodeModulesLinksResult;\n};\nfunction VerboseComponentLinks({ componentLinks }: VerboseComponentLinksProps) {\n const id = componentLinks.id.toString();\n if (!componentLinks.bound || componentLinks.bound.length < 1) return '';\n const title = chalk.bold.cyan(id);\n const links = componentLinks.bound.map((link) => VerboseLinkRow({ from: link.from, to: link.to })).join('\\n');\n return `${title}\\n${links}\\n`;\n}\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAOO,SAASA,kBAAkB,CAAC;EAAEC,kBAAkB;EAAEC,OAAO,GAAG;AAA+B,CAAC,EAAE;EACnG,IAAI,CAACD,kBAAkB,IAAI,CAACA,kBAAkB,CAACE,MAAM,EAAE;IACrD,OAAOC,gBAAK,CAACC,IAAI,CAAC,mCAAmC,CAAC;EACxD;EACA,MAAMC,KAAK,GAAGF,gBAAK,CAACG,IAAI,CAACF,IAAI,CAAC,kBAAkB,CAAC;EACjD,MAAMG,KAAK,GAAGP,kBAAkB,CAACQ,GAAG,CAAEC,cAAc,IAAKC,cAAc,CAAC;IAAED,cAAc;IAAER;EAAQ,CAAC,CAAC,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;EAEhH,OAAQ,GAAEN,KAAM,KAAIE,KAAM,EAAC;AAC7B;AAMA,SAASG,cAAc,CAAC;EAAED,cAAc;EAAER,OAAO,GAAG;AAA2B,CAAC,EAAE;EAChF,IAAI,CAACQ,cAAc,CAACG,KAAK,IAAIH,cAAc,CAACG,KAAK,CAACV,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EACvE,IAAID,OAAO,EAAE,OAAOY,qBAAqB,CAAC;IAAEJ;EAAe,CAAC,CAAC;EAC7D,OAAOK,qBAAqB,CAAC;IAAEL;EAAe,CAAC,CAAC;AAClD;AAKA,SAASK,qBAAqB,CAAC;EAAEL;AAA2C,CAAC,EAAE;EAC7E,MAAMM,EAAE,GAAGN,cAAc,CAACM,EAAE,CAACC,QAAQ,EAAE;EACvC,IAAI,CAACP,cAAc,CAACG,KAAK,IAAIH,cAAc,CAACG,KAAK,CAACV,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EACvE,MAAMe,WAAW,GAAG,IAAAC,oDAAwB,EAACT,cAAc,CAACG,KAAK,CAAC,CAAC,CAAC,CAACO,EAAE,CAAC;EACxE,OAAO,IAAAC,kBAAO,EAAC;IAAEf,KAAK,EAAEU,EAAE;IAAEM,MAAM,EAAEJ,WAAW;IAAEK,OAAO,EAAE;EAAG,CAAC,CAAC;AACjE;AAKA,SAAST,qBAAqB,CAAC;EAAEJ;AAA2C,CAAC,EAAE;EAC7E,MAAMM,EAAE,GAAGN,cAAc,CAACM,EAAE,CAACC,QAAQ,EAAE;EACvC,IAAI,CAACP,cAAc,CAACG,KAAK,IAAIH,cAAc,CAACG,KAAK,CAACV,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EACvE,MAAMG,KAAK,GAAGF,gBAAK,CAACG,IAAI,CAACF,IAAI,CAACW,EAAE,CAAC;EACjC,MAAMR,KAAK,GAAGE,cAAc,CAACG,KAAK,CAACJ,GAAG,CAAEe,IAAI,IAAK,IAAAC,yBAAc,EAAC;IAAEC,IAAI,EAAEF,IAAI,CAACE,IAAI;IAAEN,EAAE,EAAEI,IAAI,CAACJ;EAAG,CAAC,CAAC,CAAC,CAACR,IAAI,CAAC,IAAI,CAAC;EAC7G,OAAQ,GAAEN,KAAM,KAAIE,KAAM,IAAG;AAC/B"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_getPackageNameFromTarget","_linkRow","ComponentListLinks","componentListLinks","verbose","length","chalk","cyan","title","bold","links","map","componentLinks","ComponentLinks","join","bound","VerboseComponentLinks","RegularComponentLinks","id","toString","packagePath","getPackageNameFromTarget","to","LinkRow","target","padding","link","VerboseLinkRow","from"],"sources":["component-list-links.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { NodeModulesLinksResult } from '@teambit/workspace.modules.node-modules-linker';\nimport { getPackageNameFromTarget } from './get-package-name-from-target';\nimport { LinkRow, VerboseLinkRow } from './link-row';\n\ntype ComponentListLinksProps = {\n componentListLinks?: NodeModulesLinksResult[];\n verbose: boolean;\n};\n\nexport function ComponentListLinks({ componentListLinks, verbose = false }: ComponentListLinksProps) {\n if (!componentListLinks || !componentListLinks.length) {\n return chalk.cyan('No components link were generated');\n }\n const title = chalk.bold.cyan('Components links');\n const links = componentListLinks.map((componentLinks) => ComponentLinks({ componentLinks, verbose })).join('\\n');\n\n return `${title}\\n${links}`;\n}\n\ntype ComponentLinksProps = {\n componentLinks: NodeModulesLinksResult;\n verbose: boolean;\n};\nfunction ComponentLinks({ componentLinks, verbose = false }: ComponentLinksProps) {\n if (!componentLinks.bound || componentLinks.bound.length < 1) return '';\n if (verbose) return VerboseComponentLinks({ componentLinks });\n return RegularComponentLinks({ componentLinks });\n}\n\ntype RegularComponentLinksProps = {\n componentLinks: NodeModulesLinksResult;\n};\nfunction RegularComponentLinks({ componentLinks }: RegularComponentLinksProps) {\n const id = componentLinks.id.toString();\n if (!componentLinks.bound || componentLinks.bound.length < 1) return '';\n const packagePath = getPackageNameFromTarget(componentLinks.bound[0].to);\n return LinkRow({ title: id, target: packagePath, padding: 50 });\n}\n\ntype VerboseComponentLinksProps = {\n componentLinks: NodeModulesLinksResult;\n};\nfunction VerboseComponentLinks({ componentLinks }: VerboseComponentLinksProps) {\n const id = componentLinks.id.toString();\n if (!componentLinks.bound || componentLinks.bound.length < 1) return '';\n const title = chalk.bold.cyan(id);\n const links = componentLinks.bound.map((link) => VerboseLinkRow({ from: link.from, to: link.to })).join('\\n');\n return `${title}\\n${links}\\n`;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,0BAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,yBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,SAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOO,SAASK,kBAAkBA,CAAC;EAAEC,kBAAkB;EAAEC,OAAO,GAAG;AAA+B,CAAC,EAAE;EACnG,IAAI,CAACD,kBAAkB,IAAI,CAACA,kBAAkB,CAACE,MAAM,EAAE;IACrD,OAAOC,gBAAK,CAACC,IAAI,CAAC,mCAAmC,CAAC;EACxD;EACA,MAAMC,KAAK,GAAGF,gBAAK,CAACG,IAAI,CAACF,IAAI,CAAC,kBAAkB,CAAC;EACjD,MAAMG,KAAK,GAAGP,kBAAkB,CAACQ,GAAG,CAAEC,cAAc,IAAKC,cAAc,CAAC;IAAED,cAAc;IAAER;EAAQ,CAAC,CAAC,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;EAEhH,OAAQ,GAAEN,KAAM,KAAIE,KAAM,EAAC;AAC7B;AAMA,SAASG,cAAcA,CAAC;EAAED,cAAc;EAAER,OAAO,GAAG;AAA2B,CAAC,EAAE;EAChF,IAAI,CAACQ,cAAc,CAACG,KAAK,IAAIH,cAAc,CAACG,KAAK,CAACV,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EACvE,IAAID,OAAO,EAAE,OAAOY,qBAAqB,CAAC;IAAEJ;EAAe,CAAC,CAAC;EAC7D,OAAOK,qBAAqB,CAAC;IAAEL;EAAe,CAAC,CAAC;AAClD;AAKA,SAASK,qBAAqBA,CAAC;EAAEL;AAA2C,CAAC,EAAE;EAC7E,MAAMM,EAAE,GAAGN,cAAc,CAACM,EAAE,CAACC,QAAQ,CAAC,CAAC;EACvC,IAAI,CAACP,cAAc,CAACG,KAAK,IAAIH,cAAc,CAACG,KAAK,CAACV,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EACvE,MAAMe,WAAW,GAAG,IAAAC,oDAAwB,EAACT,cAAc,CAACG,KAAK,CAAC,CAAC,CAAC,CAACO,EAAE,CAAC;EACxE,OAAO,IAAAC,kBAAO,EAAC;IAAEf,KAAK,EAAEU,EAAE;IAAEM,MAAM,EAAEJ,WAAW;IAAEK,OAAO,EAAE;EAAG,CAAC,CAAC;AACjE;AAKA,SAAST,qBAAqBA,CAAC;EAAEJ;AAA2C,CAAC,EAAE;EAC7E,MAAMM,EAAE,GAAGN,cAAc,CAACM,EAAE,CAACC,QAAQ,CAAC,CAAC;EACvC,IAAI,CAACP,cAAc,CAACG,KAAK,IAAIH,cAAc,CAACG,KAAK,CAACV,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EACvE,MAAMG,KAAK,GAAGF,gBAAK,CAACG,IAAI,CAACF,IAAI,CAACW,EAAE,CAAC;EACjC,MAAMR,KAAK,GAAGE,cAAc,CAACG,KAAK,CAACJ,GAAG,CAAEe,IAAI,IAAK,IAAAC,yBAAc,EAAC;IAAEC,IAAI,EAAEF,IAAI,CAACE,IAAI;IAAEN,EAAE,EAAEI,IAAI,CAACJ;EAAG,CAAC,CAAC,CAAC,CAACR,IAAI,CAAC,IAAI,CAAC;EAC7G,OAAQ,GAAEN,KAAM,KAAIE,KAAM,IAAG;AAC/B"}
@@ -1 +1 @@
1
- {"version":3,"names":["CoreAspectsLinks","coreAspectsLinks","verbose","length","chalk","cyan","title","links","map","link","CoreAspectLinkRow","coreAspectLink","join","VerboseCoreAspectLink","RegularCoreAspectLink","id","aspectId","toString","packagePath","getPackageNameFromTarget","linkDetail","to","LinkRow","target","padding","bold","VerboseLinkRow","from"],"sources":["core-aspects-links.ts"],"sourcesContent":["import { CoreAspectLinkResult } from '@teambit/dependency-resolver';\nimport chalk from 'chalk';\n\nimport { getPackageNameFromTarget } from './get-package-name-from-target';\nimport { LinkRow, VerboseLinkRow } from './link-row';\n\ntype CoreAspectsLinksProps = {\n coreAspectsLinks?: CoreAspectLinkResult[];\n verbose: boolean;\n};\n\nexport function CoreAspectsLinks({ coreAspectsLinks, verbose = false }: CoreAspectsLinksProps) {\n if (!coreAspectsLinks || !coreAspectsLinks.length) {\n return chalk.cyan('No core aspects were linked');\n }\n const title = chalk.cyan('Core aspects links');\n const links = coreAspectsLinks.map((link) => CoreAspectLinkRow({ coreAspectLink: link, verbose })).join('\\n');\n return `${title}\\n${links}`;\n}\n\ntype CoreAspectLinkProps = {\n coreAspectLink: CoreAspectLinkResult;\n verbose: boolean;\n};\nfunction CoreAspectLinkRow({ coreAspectLink, verbose = false }: CoreAspectLinkProps) {\n if (verbose) return VerboseCoreAspectLink({ coreAspectLink });\n return RegularCoreAspectLink({ coreAspectLink });\n}\n\ntype RegularCoreAspectLinkProps = {\n coreAspectLink: CoreAspectLinkResult;\n};\nfunction RegularCoreAspectLink({ coreAspectLink }: RegularCoreAspectLinkProps) {\n const id = coreAspectLink.aspectId.toString();\n const packagePath = getPackageNameFromTarget(coreAspectLink.linkDetail.to);\n return LinkRow({ title: id, target: packagePath, padding: 50 });\n}\n\ntype VerboseCoreAspectLinkProps = {\n coreAspectLink: CoreAspectLinkResult;\n};\nfunction VerboseCoreAspectLink({ coreAspectLink }: VerboseCoreAspectLinkProps) {\n const id = coreAspectLink.aspectId.toString();\n const title = chalk.bold.cyan(id);\n const link = VerboseLinkRow({\n from: coreAspectLink.linkDetail.from,\n to: coreAspectLink.linkDetail.to,\n });\n return `${title}\\n${link}`;\n}\n"],"mappings":";;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAOO,SAASA,gBAAgB,CAAC;EAAEC,gBAAgB;EAAEC,OAAO,GAAG;AAA6B,CAAC,EAAE;EAC7F,IAAI,CAACD,gBAAgB,IAAI,CAACA,gBAAgB,CAACE,MAAM,EAAE;IACjD,OAAOC,gBAAK,CAACC,IAAI,CAAC,6BAA6B,CAAC;EAClD;EACA,MAAMC,KAAK,GAAGF,gBAAK,CAACC,IAAI,CAAC,oBAAoB,CAAC;EAC9C,MAAME,KAAK,GAAGN,gBAAgB,CAACO,GAAG,CAAEC,IAAI,IAAKC,iBAAiB,CAAC;IAAEC,cAAc,EAAEF,IAAI;IAAEP;EAAQ,CAAC,CAAC,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;EAC7G,OAAQ,GAAEN,KAAM,KAAIC,KAAM,EAAC;AAC7B;AAMA,SAASG,iBAAiB,CAAC;EAAEC,cAAc;EAAET,OAAO,GAAG;AAA2B,CAAC,EAAE;EACnF,IAAIA,OAAO,EAAE,OAAOW,qBAAqB,CAAC;IAAEF;EAAe,CAAC,CAAC;EAC7D,OAAOG,qBAAqB,CAAC;IAAEH;EAAe,CAAC,CAAC;AAClD;AAKA,SAASG,qBAAqB,CAAC;EAAEH;AAA2C,CAAC,EAAE;EAC7E,MAAMI,EAAE,GAAGJ,cAAc,CAACK,QAAQ,CAACC,QAAQ,EAAE;EAC7C,MAAMC,WAAW,GAAG,IAAAC,oDAAwB,EAACR,cAAc,CAACS,UAAU,CAACC,EAAE,CAAC;EAC1E,OAAO,IAAAC,kBAAO,EAAC;IAAEhB,KAAK,EAAES,EAAE;IAAEQ,MAAM,EAAEL,WAAW;IAAEM,OAAO,EAAE;EAAG,CAAC,CAAC;AACjE;AAKA,SAASX,qBAAqB,CAAC;EAAEF;AAA2C,CAAC,EAAE;EAC7E,MAAMI,EAAE,GAAGJ,cAAc,CAACK,QAAQ,CAACC,QAAQ,EAAE;EAC7C,MAAMX,KAAK,GAAGF,gBAAK,CAACqB,IAAI,CAACpB,IAAI,CAACU,EAAE,CAAC;EACjC,MAAMN,IAAI,GAAG,IAAAiB,yBAAc,EAAC;IAC1BC,IAAI,EAAEhB,cAAc,CAACS,UAAU,CAACO,IAAI;IACpCN,EAAE,EAAEV,cAAc,CAACS,UAAU,CAACC;EAChC,CAAC,CAAC;EACF,OAAQ,GAAEf,KAAM,KAAIG,IAAK,EAAC;AAC5B"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_getPackageNameFromTarget","_linkRow","CoreAspectsLinks","coreAspectsLinks","verbose","length","chalk","cyan","title","links","map","link","CoreAspectLinkRow","coreAspectLink","join","VerboseCoreAspectLink","RegularCoreAspectLink","id","aspectId","toString","packagePath","getPackageNameFromTarget","linkDetail","to","LinkRow","target","padding","bold","VerboseLinkRow","from"],"sources":["core-aspects-links.ts"],"sourcesContent":["import { CoreAspectLinkResult } from '@teambit/dependency-resolver';\nimport chalk from 'chalk';\n\nimport { getPackageNameFromTarget } from './get-package-name-from-target';\nimport { LinkRow, VerboseLinkRow } from './link-row';\n\ntype CoreAspectsLinksProps = {\n coreAspectsLinks?: CoreAspectLinkResult[];\n verbose: boolean;\n};\n\nexport function CoreAspectsLinks({ coreAspectsLinks, verbose = false }: CoreAspectsLinksProps) {\n if (!coreAspectsLinks || !coreAspectsLinks.length) {\n return chalk.cyan('No core aspects were linked');\n }\n const title = chalk.cyan('Core aspects links');\n const links = coreAspectsLinks.map((link) => CoreAspectLinkRow({ coreAspectLink: link, verbose })).join('\\n');\n return `${title}\\n${links}`;\n}\n\ntype CoreAspectLinkProps = {\n coreAspectLink: CoreAspectLinkResult;\n verbose: boolean;\n};\nfunction CoreAspectLinkRow({ coreAspectLink, verbose = false }: CoreAspectLinkProps) {\n if (verbose) return VerboseCoreAspectLink({ coreAspectLink });\n return RegularCoreAspectLink({ coreAspectLink });\n}\n\ntype RegularCoreAspectLinkProps = {\n coreAspectLink: CoreAspectLinkResult;\n};\nfunction RegularCoreAspectLink({ coreAspectLink }: RegularCoreAspectLinkProps) {\n const id = coreAspectLink.aspectId.toString();\n const packagePath = getPackageNameFromTarget(coreAspectLink.linkDetail.to);\n return LinkRow({ title: id, target: packagePath, padding: 50 });\n}\n\ntype VerboseCoreAspectLinkProps = {\n coreAspectLink: CoreAspectLinkResult;\n};\nfunction VerboseCoreAspectLink({ coreAspectLink }: VerboseCoreAspectLinkProps) {\n const id = coreAspectLink.aspectId.toString();\n const title = chalk.bold.cyan(id);\n const link = VerboseLinkRow({\n from: coreAspectLink.linkDetail.from,\n to: coreAspectLink.linkDetail.to,\n });\n return `${title}\\n${link}`;\n}\n"],"mappings":";;;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,0BAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,yBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,SAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOO,SAASK,gBAAgBA,CAAC;EAAEC,gBAAgB;EAAEC,OAAO,GAAG;AAA6B,CAAC,EAAE;EAC7F,IAAI,CAACD,gBAAgB,IAAI,CAACA,gBAAgB,CAACE,MAAM,EAAE;IACjD,OAAOC,gBAAK,CAACC,IAAI,CAAC,6BAA6B,CAAC;EAClD;EACA,MAAMC,KAAK,GAAGF,gBAAK,CAACC,IAAI,CAAC,oBAAoB,CAAC;EAC9C,MAAME,KAAK,GAAGN,gBAAgB,CAACO,GAAG,CAAEC,IAAI,IAAKC,iBAAiB,CAAC;IAAEC,cAAc,EAAEF,IAAI;IAAEP;EAAQ,CAAC,CAAC,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;EAC7G,OAAQ,GAAEN,KAAM,KAAIC,KAAM,EAAC;AAC7B;AAMA,SAASG,iBAAiBA,CAAC;EAAEC,cAAc;EAAET,OAAO,GAAG;AAA2B,CAAC,EAAE;EACnF,IAAIA,OAAO,EAAE,OAAOW,qBAAqB,CAAC;IAAEF;EAAe,CAAC,CAAC;EAC7D,OAAOG,qBAAqB,CAAC;IAAEH;EAAe,CAAC,CAAC;AAClD;AAKA,SAASG,qBAAqBA,CAAC;EAAEH;AAA2C,CAAC,EAAE;EAC7E,MAAMI,EAAE,GAAGJ,cAAc,CAACK,QAAQ,CAACC,QAAQ,CAAC,CAAC;EAC7C,MAAMC,WAAW,GAAG,IAAAC,oDAAwB,EAACR,cAAc,CAACS,UAAU,CAACC,EAAE,CAAC;EAC1E,OAAO,IAAAC,kBAAO,EAAC;IAAEhB,KAAK,EAAES,EAAE;IAAEQ,MAAM,EAAEL,WAAW;IAAEM,OAAO,EAAE;EAAG,CAAC,CAAC;AACjE;AAKA,SAASX,qBAAqBA,CAAC;EAAEF;AAA2C,CAAC,EAAE;EAC7E,MAAMI,EAAE,GAAGJ,cAAc,CAACK,QAAQ,CAACC,QAAQ,CAAC,CAAC;EAC7C,MAAMX,KAAK,GAAGF,gBAAK,CAACqB,IAAI,CAACpB,IAAI,CAACU,EAAE,CAAC;EACjC,MAAMN,IAAI,GAAG,IAAAiB,yBAAc,EAAC;IAC1BC,IAAI,EAAEhB,cAAc,CAACS,UAAU,CAACO,IAAI;IACpCN,EAAE,EAAEV,cAAc,CAACS,UAAU,CAACC;EAChC,CAAC,CAAC;EACF,OAAQ,GAAEf,KAAM,KAAIG,IAAK,EAAC;AAC5B"}
@@ -1 +1 @@
1
- {"version":3,"names":["getPackageNameFromTarget","targetPath","subPath","substring","lastIndexOf","packagePath","split","slice","join"],"sources":["get-package-name-from-target.ts"],"sourcesContent":["export function getPackageNameFromTarget(targetPath: string): string {\n const subPath = targetPath.substring(targetPath.lastIndexOf('node_modules'));\n const packagePath = subPath.split('/').slice(0, 3).join('/');\n return `./${packagePath}`;\n}\n"],"mappings":";;;;;;;AAAO,SAASA,wBAAwB,CAACC,UAAkB,EAAU;EACnE,MAAMC,OAAO,GAAGD,UAAU,CAACE,SAAS,CAACF,UAAU,CAACG,WAAW,CAAC,cAAc,CAAC,CAAC;EAC5E,MAAMC,WAAW,GAAGH,OAAO,CAACI,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAC5D,OAAQ,KAAIH,WAAY,EAAC;AAC3B"}
1
+ {"version":3,"names":["getPackageNameFromTarget","targetPath","subPath","substring","lastIndexOf","packagePath","split","slice","join"],"sources":["get-package-name-from-target.ts"],"sourcesContent":["export function getPackageNameFromTarget(targetPath: string): string {\n const subPath = targetPath.substring(targetPath.lastIndexOf('node_modules'));\n const packagePath = subPath.split('/').slice(0, 3).join('/');\n return `./${packagePath}`;\n}\n"],"mappings":";;;;;;;AAAO,SAASA,wBAAwBA,CAACC,UAAkB,EAAU;EACnE,MAAMC,OAAO,GAAGD,UAAU,CAACE,SAAS,CAACF,UAAU,CAACG,WAAW,CAAC,cAAc,CAAC,CAAC;EAC5E,MAAMC,WAAW,GAAGH,OAAO,CAACI,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAC5D,OAAQ,KAAIH,WAAY,EAAC;AAC3B"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { LinkCommand } from './link.cmd';\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_link","data","require"],"sources":["index.ts"],"sourcesContent":["export { LinkCommand } from './link.cmd';\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["LinkRow","title","target","padding","chalk","bold","padEnd","VerboseLinkRow","from","to"],"sources":["link-row.ts"],"sourcesContent":["import chalk from 'chalk';\n\ntype LinkRowProps = {\n title: string;\n target: string;\n padding?: number;\n};\nexport function LinkRow({ title, target, padding = 50 }: LinkRowProps) {\n return chalk.bold(`${title.padEnd(padding)} ${'>'} ${target}`);\n}\n\ntype VerboseLinkRowProps = {\n from: string;\n to: string;\n};\nexport function VerboseLinkRow({ from, to }: VerboseLinkRowProps) {\n return `${chalk.bold('from')}: ${from}\n${chalk.bold('to')}: ${to}\n`;\n}\n"],"mappings":";;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAOO,SAASA,OAAO,CAAC;EAAEC,KAAK;EAAEC,MAAM;EAAEC,OAAO,GAAG;AAAiB,CAAC,EAAE;EACrE,OAAOC,gBAAK,CAACC,IAAI,CAAE,GAAEJ,KAAK,CAACK,MAAM,CAACH,OAAO,CAAE,IAAG,GAAI,IAAGD,MAAO,EAAC,CAAC;AAChE;AAMO,SAASK,cAAc,CAAC;EAAEC,IAAI;EAAEC;AAAwB,CAAC,EAAE;EAChE,OAAQ,GAAEL,gBAAK,CAACC,IAAI,CAAC,MAAM,CAAE,KAAIG,IAAK;AACxC,EAAEJ,gBAAK,CAACC,IAAI,CAAC,IAAI,CAAE,KAAII,EAAG;AAC1B,CAAC;AACD"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","LinkRow","title","target","padding","chalk","bold","padEnd","VerboseLinkRow","from","to"],"sources":["link-row.ts"],"sourcesContent":["import chalk from 'chalk';\n\ntype LinkRowProps = {\n title: string;\n target: string;\n padding?: number;\n};\nexport function LinkRow({ title, target, padding = 50 }: LinkRowProps) {\n return chalk.bold(`${title.padEnd(padding)} ${'>'} ${target}`);\n}\n\ntype VerboseLinkRowProps = {\n from: string;\n to: string;\n};\nexport function VerboseLinkRow({ from, to }: VerboseLinkRowProps) {\n return `${chalk.bold('from')}: ${from}\n${chalk.bold('to')}: ${to}\n`;\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOO,SAASG,OAAOA,CAAC;EAAEC,KAAK;EAAEC,MAAM;EAAEC,OAAO,GAAG;AAAiB,CAAC,EAAE;EACrE,OAAOC,gBAAK,CAACC,IAAI,CAAE,GAAEJ,KAAK,CAACK,MAAM,CAACH,OAAO,CAAE,IAAG,GAAI,IAAGD,MAAO,EAAC,CAAC;AAChE;AAMO,SAASK,cAAcA,CAAC;EAAEC,IAAI;EAAEC;AAAwB,CAAC,EAAE;EAChE,OAAQ,GAAEL,gBAAK,CAACC,IAAI,CAAC,MAAM,CAAE,KAAIG,IAAK;AACxC,EAAEJ,gBAAK,CAACC,IAAI,CAAC,IAAI,CAAE,KAAII,EAAG;AAC1B,CAAC;AACD"}
@@ -1 +1 @@
1
- {"version":3,"names":["linkToDir","links","length","title","chalk","bold","cyan","linksOutput","map","componentId","linksDetail","LinkRow","target","to","join"],"sources":["link-to-dir.ts"],"sourcesContent":["import { LinkToDirResult } from '@teambit/dependency-resolver';\nimport chalk from 'chalk';\nimport { LinkRow } from './link-row';\n\nexport function linkToDir(links?: LinkToDirResult[]) {\n if (!links || !links.length) return '';\n const title = chalk.bold.cyan('Target Links');\n const linksOutput = links\n .map(({ componentId, linksDetail }) => LinkRow({ title: componentId, target: linksDetail.to }))\n .join('\\n');\n\n return `${title}\\n${linksOutput}\\n`;\n}\n"],"mappings":";;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,SAASA,SAAS,CAACC,KAAyB,EAAE;EACnD,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACC,MAAM,EAAE,OAAO,EAAE;EACtC,MAAMC,KAAK,GAAGC,gBAAK,CAACC,IAAI,CAACC,IAAI,CAAC,cAAc,CAAC;EAC7C,MAAMC,WAAW,GAAGN,KAAK,CACtBO,GAAG,CAAC,CAAC;IAAEC,WAAW;IAAEC;EAAY,CAAC,KAAK,IAAAC,kBAAO,EAAC;IAAER,KAAK,EAAEM,WAAW;IAAEG,MAAM,EAAEF,WAAW,CAACG;EAAG,CAAC,CAAC,CAAC,CAC9FC,IAAI,CAAC,IAAI,CAAC;EAEb,OAAQ,GAAEX,KAAM,KAAII,WAAY,IAAG;AACrC"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_linkRow","linkToDir","links","length","title","chalk","bold","cyan","linksOutput","map","componentId","linksDetail","LinkRow","target","to","join"],"sources":["link-to-dir.ts"],"sourcesContent":["import { LinkToDirResult } from '@teambit/dependency-resolver';\nimport chalk from 'chalk';\nimport { LinkRow } from './link-row';\n\nexport function linkToDir(links?: LinkToDirResult[]) {\n if (!links || !links.length) return '';\n const title = chalk.bold.cyan('Target Links');\n const linksOutput = links\n .map(({ componentId, linksDetail }) => LinkRow({ title: componentId, target: linksDetail.to }))\n .join('\\n');\n\n return `${title}\\n${linksOutput}\\n`;\n}\n"],"mappings":";;;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,SAASI,SAASA,CAACC,KAAyB,EAAE;EACnD,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACC,MAAM,EAAE,OAAO,EAAE;EACtC,MAAMC,KAAK,GAAGC,gBAAK,CAACC,IAAI,CAACC,IAAI,CAAC,cAAc,CAAC;EAC7C,MAAMC,WAAW,GAAGN,KAAK,CACtBO,GAAG,CAAC,CAAC;IAAEC,WAAW;IAAEC;EAAY,CAAC,KAAK,IAAAC,kBAAO,EAAC;IAAER,KAAK,EAAEM,WAAW;IAAEG,MAAM,EAAEF,WAAW,CAACG;EAAG,CAAC,CAAC,CAAC,CAC9FC,IAAI,CAAC,IAAI,CAAC;EAEb,OAAQ,GAAEX,KAAM,KAAII,WAAY,IAAG;AACrC"}
@@ -1 +1 @@
1
- {"version":3,"names":["LinkCommand","constructor","install","workspace","logger","name","description","report","ids","opts","startTime","Date","now","linkResults","json","endTime","numOfComponents","legacyLinkResults","length","timeDiff","timeFormat","coreAspectsLinksWithMainAspect","coreAspectsLinks","teambitBitLink","unshift","numOfCoreAspects","title","coreLinks","CoreAspectsLinks","verbose","compsLinks","ComponentListLinks","componentListLinks","rewireRow","RewireRow","legacyCodemodResults","legacyLinkCodemodResults","nestedLinks","NestedComponentLinksLinks","nestedDepsInNmLinks","targetLinks","linkToDir","linkToDirResults","footer","console","chalk","cyan","linkOpts","linkToBitRoots","rewire","linkCoreAspects","linkTeambitBit","target","fetchObject","skipFetchingObjects","link"],"sources":["link.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { timeFormat } from '@teambit/toolbox.time.time-format';\nimport chalk from 'chalk';\nimport { Workspace } from '@teambit/workspace';\nimport { InstallMain, WorkspaceLinkOptions, WorkspaceLinkResults } from '../install.main.runtime';\nimport { ComponentListLinks } from './component-list-links';\nimport { CoreAspectsLinks } from './core-aspects-links';\nimport { NestedComponentLinksLinks } from './nested-deps-in-nm-links';\nimport { RewireRow } from './rewire-row';\nimport { linkToDir } from './link-to-dir';\n\ntype LinkCommandOpts = {\n rewire: boolean;\n verbose: boolean;\n target: string;\n skipFetchingObjects?: boolean;\n};\nexport class LinkCommand implements Command {\n name = 'link [component-names...]';\n alias = '';\n description = 'create links in the node_modules directory, to core aspects and to components in the workspace';\n helpUrl = 'reference/workspace/component-links';\n extendedDescription: string;\n group = 'development';\n private = false;\n arguments = [{ name: 'component-names...', description: 'names or IDs of the components to link' }];\n options = [\n ['j', 'json', 'return the output as JSON'],\n ['', 'verbose', 'verbose output'],\n ['r', 'rewire', 'Replace relative paths with module paths in code (e.g. \"../foo\" => \"@bit/foo\")'],\n [\n '',\n 'target <dir>',\n 'link to an external directory (similar to npm-link) so other projects could use these components',\n ],\n ['', 'skip-fetching-objects', 'skip fetch missing objects from remotes before linking'],\n ] as CommandOptions;\n\n constructor(\n private install: InstallMain,\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * logger extension.\n */\n private logger: Logger\n ) {}\n\n async report([ids]: [string[]], opts: LinkCommandOpts) {\n const startTime = Date.now();\n const linkResults = await this.json([ids], opts);\n const endTime = Date.now();\n const numOfComponents = linkResults.legacyLinkResults?.length;\n const timeDiff = timeFormat(endTime - startTime);\n const coreAspectsLinksWithMainAspect = linkResults.coreAspectsLinks || [];\n if (linkResults.teambitBitLink) {\n coreAspectsLinksWithMainAspect.unshift(linkResults.teambitBitLink);\n }\n const numOfCoreAspects = coreAspectsLinksWithMainAspect.length;\n\n const title = `Linked ${numOfComponents} components and ${numOfCoreAspects} core aspects to node_modules for workspace: ${this.workspace.name}`;\n const coreLinks = CoreAspectsLinks({\n coreAspectsLinks: coreAspectsLinksWithMainAspect,\n verbose: opts.verbose,\n });\n const compsLinks = ComponentListLinks({ componentListLinks: linkResults.legacyLinkResults, verbose: opts.verbose });\n const rewireRow = RewireRow({ legacyCodemodResults: linkResults.legacyLinkCodemodResults });\n const nestedLinks = NestedComponentLinksLinks({\n nestedDepsInNmLinks: linkResults.nestedDepsInNmLinks,\n verbose: opts.verbose,\n });\n const targetLinks = linkToDir(linkResults.linkToDirResults);\n const footer = `Finished. ${timeDiff}`;\n return `${title}\\n${coreLinks}\\n${compsLinks}\\n${rewireRow}${nestedLinks}${targetLinks}${footer}`;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async json([ids]: [string[]], opts: LinkCommandOpts): Promise<WorkspaceLinkResults> {\n this.logger.console(\n `Linking components and core aspects to node_modules for workspaces: '${chalk.cyan(this.workspace.name)}'`\n );\n\n const linkOpts: WorkspaceLinkOptions = {\n linkToBitRoots: true,\n rewire: opts.rewire,\n linkCoreAspects: true,\n linkTeambitBit: true,\n linkToDir: opts.target,\n fetchObject: !opts.skipFetchingObjects,\n };\n const linkResults = await this.install.link(linkOpts);\n return linkResults;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_toolboxTime","data","require","_chalk","_interopRequireDefault","_componentListLinks","_coreAspectsLinks","_nestedDepsInNmLinks","_rewireRow","_linkToDir","LinkCommand","constructor","install","workspace","logger","_defineProperty2","default","name","description","report","ids","opts","_linkResults$legacyLi","startTime","Date","now","linkResults","json","endTime","numOfComponents","legacyLinkResults","length","timeDiff","timeFormat","coreAspectsLinksWithMainAspect","coreAspectsLinks","teambitBitLink","unshift","numOfCoreAspects","title","coreLinks","CoreAspectsLinks","verbose","compsLinks","ComponentListLinks","componentListLinks","rewireRow","RewireRow","legacyCodemodResults","legacyLinkCodemodResults","nestedLinks","NestedComponentLinksLinks","nestedDepsInNmLinks","targetLinks","linkToDir","linkToDirResults","footer","console","chalk","cyan","linkOpts","linkToBitRoots","rewire","linkCoreAspects","linkTeambitBit","target","fetchObject","skipFetchingObjects","link","exports"],"sources":["link.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { timeFormat } from '@teambit/toolbox.time.time-format';\nimport chalk from 'chalk';\nimport { Workspace } from '@teambit/workspace';\nimport { InstallMain, WorkspaceLinkOptions, WorkspaceLinkResults } from '../install.main.runtime';\nimport { ComponentListLinks } from './component-list-links';\nimport { CoreAspectsLinks } from './core-aspects-links';\nimport { NestedComponentLinksLinks } from './nested-deps-in-nm-links';\nimport { RewireRow } from './rewire-row';\nimport { linkToDir } from './link-to-dir';\n\ntype LinkCommandOpts = {\n rewire: boolean;\n verbose: boolean;\n target: string;\n skipFetchingObjects?: boolean;\n};\nexport class LinkCommand implements Command {\n name = 'link [component-names...]';\n alias = '';\n description = 'create links in the node_modules directory, to core aspects and to components in the workspace';\n helpUrl = 'reference/workspace/component-links';\n extendedDescription: string;\n group = 'development';\n private = false;\n arguments = [{ name: 'component-names...', description: 'names or IDs of the components to link' }];\n options = [\n ['j', 'json', 'return the output as JSON'],\n ['', 'verbose', 'verbose output'],\n ['r', 'rewire', 'Replace relative paths with module paths in code (e.g. \"../foo\" => \"@bit/foo\")'],\n [\n '',\n 'target <dir>',\n 'link to an external directory (similar to npm-link) so other projects could use these components',\n ],\n ['', 'skip-fetching-objects', 'skip fetch missing objects from remotes before linking'],\n ] as CommandOptions;\n\n constructor(\n private install: InstallMain,\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * logger extension.\n */\n private logger: Logger\n ) {}\n\n async report([ids]: [string[]], opts: LinkCommandOpts) {\n const startTime = Date.now();\n const linkResults = await this.json([ids], opts);\n const endTime = Date.now();\n const numOfComponents = linkResults.legacyLinkResults?.length;\n const timeDiff = timeFormat(endTime - startTime);\n const coreAspectsLinksWithMainAspect = linkResults.coreAspectsLinks || [];\n if (linkResults.teambitBitLink) {\n coreAspectsLinksWithMainAspect.unshift(linkResults.teambitBitLink);\n }\n const numOfCoreAspects = coreAspectsLinksWithMainAspect.length;\n\n const title = `Linked ${numOfComponents} components and ${numOfCoreAspects} core aspects to node_modules for workspace: ${this.workspace.name}`;\n const coreLinks = CoreAspectsLinks({\n coreAspectsLinks: coreAspectsLinksWithMainAspect,\n verbose: opts.verbose,\n });\n const compsLinks = ComponentListLinks({ componentListLinks: linkResults.legacyLinkResults, verbose: opts.verbose });\n const rewireRow = RewireRow({ legacyCodemodResults: linkResults.legacyLinkCodemodResults });\n const nestedLinks = NestedComponentLinksLinks({\n nestedDepsInNmLinks: linkResults.nestedDepsInNmLinks,\n verbose: opts.verbose,\n });\n const targetLinks = linkToDir(linkResults.linkToDirResults);\n const footer = `Finished. ${timeDiff}`;\n return `${title}\\n${coreLinks}\\n${compsLinks}\\n${rewireRow}${nestedLinks}${targetLinks}${footer}`;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async json([ids]: [string[]], opts: LinkCommandOpts): Promise<WorkspaceLinkResults> {\n this.logger.console(\n `Linking components and core aspects to node_modules for workspaces: '${chalk.cyan(this.workspace.name)}'`\n );\n\n const linkOpts: WorkspaceLinkOptions = {\n linkToBitRoots: true,\n rewire: opts.rewire,\n linkCoreAspects: true,\n linkTeambitBit: true,\n linkToDir: opts.target,\n fetchObject: !opts.skipFetchingObjects,\n };\n const linkResults = await this.install.link(linkOpts);\n return linkResults;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["NestedComponentLinksLinks","nestedDepsInNmLinks","verbose","length","title","chalk","bold","cyan","links","map","nestedComponentLinks","NestedComponentLinks","join","linksDetail","VerboseNestedComponentLinks","id","componentId","toString","link","VerboseLinkRow","from","to"],"sources":["nested-deps-in-nm-links.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { NestedNMDepsLinksResult } from '@teambit/dependency-resolver';\nimport { VerboseLinkRow } from './link-row';\n\ntype NestedComponentLinksLinksProps = {\n nestedDepsInNmLinks?: NestedNMDepsLinksResult[];\n verbose: boolean;\n};\n\nexport function NestedComponentLinksLinks({ nestedDepsInNmLinks, verbose = false }: NestedComponentLinksLinksProps) {\n if (!verbose) return '';\n if (!nestedDepsInNmLinks || !nestedDepsInNmLinks.length) {\n return '';\n }\n const title = chalk.bold.cyan('Nested dependencies links');\n const links = nestedDepsInNmLinks\n .map((nestedComponentLinks) =>\n NestedComponentLinks({\n nestedComponentLinks,\n verbose,\n })\n )\n .join('\\n');\n return `${title}\\n${links}\\n`;\n}\n\ntype NestedComponentLinksProps = {\n nestedComponentLinks: NestedNMDepsLinksResult;\n verbose: boolean;\n};\nfunction NestedComponentLinks({ nestedComponentLinks, verbose = false }: NestedComponentLinksProps) {\n if (!nestedComponentLinks.linksDetail || nestedComponentLinks.linksDetail.length < 1) return '';\n if (verbose) return VerboseNestedComponentLinks({ nestedComponentLinks });\n return '';\n}\n\ntype VerboseNestedComponentLinksProps = {\n nestedComponentLinks: NestedNMDepsLinksResult;\n};\nfunction VerboseNestedComponentLinks({ nestedComponentLinks }: VerboseNestedComponentLinksProps) {\n const id = nestedComponentLinks.componentId.toString();\n const title = chalk.cyan.bold(id);\n const links = nestedComponentLinks.linksDetail\n .map((link) => VerboseLinkRow({ from: link.from, to: link.to }))\n .join('\\n');\n return `${title}\\n${links}\\n`;\n}\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAOO,SAASA,yBAAyB,CAAC;EAAEC,mBAAmB;EAAEC,OAAO,GAAG;AAAsC,CAAC,EAAE;EAClH,IAAI,CAACA,OAAO,EAAE,OAAO,EAAE;EACvB,IAAI,CAACD,mBAAmB,IAAI,CAACA,mBAAmB,CAACE,MAAM,EAAE;IACvD,OAAO,EAAE;EACX;EACA,MAAMC,KAAK,GAAGC,gBAAK,CAACC,IAAI,CAACC,IAAI,CAAC,2BAA2B,CAAC;EAC1D,MAAMC,KAAK,GAAGP,mBAAmB,CAC9BQ,GAAG,CAAEC,oBAAoB,IACxBC,oBAAoB,CAAC;IACnBD,oBAAoB;IACpBR;EACF,CAAC,CAAC,CACH,CACAU,IAAI,CAAC,IAAI,CAAC;EACb,OAAQ,GAAER,KAAM,KAAII,KAAM,IAAG;AAC/B;AAMA,SAASG,oBAAoB,CAAC;EAAED,oBAAoB;EAAER,OAAO,GAAG;AAAiC,CAAC,EAAE;EAClG,IAAI,CAACQ,oBAAoB,CAACG,WAAW,IAAIH,oBAAoB,CAACG,WAAW,CAACV,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EAC/F,IAAID,OAAO,EAAE,OAAOY,2BAA2B,CAAC;IAAEJ;EAAqB,CAAC,CAAC;EACzE,OAAO,EAAE;AACX;AAKA,SAASI,2BAA2B,CAAC;EAAEJ;AAAuD,CAAC,EAAE;EAC/F,MAAMK,EAAE,GAAGL,oBAAoB,CAACM,WAAW,CAACC,QAAQ,EAAE;EACtD,MAAMb,KAAK,GAAGC,gBAAK,CAACE,IAAI,CAACD,IAAI,CAACS,EAAE,CAAC;EACjC,MAAMP,KAAK,GAAGE,oBAAoB,CAACG,WAAW,CAC3CJ,GAAG,CAAES,IAAI,IAAK,IAAAC,yBAAc,EAAC;IAAEC,IAAI,EAAEF,IAAI,CAACE,IAAI;IAAEC,EAAE,EAAEH,IAAI,CAACG;EAAG,CAAC,CAAC,CAAC,CAC/DT,IAAI,CAAC,IAAI,CAAC;EACb,OAAQ,GAAER,KAAM,KAAII,KAAM,IAAG;AAC/B"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_linkRow","NestedComponentLinksLinks","nestedDepsInNmLinks","verbose","length","title","chalk","bold","cyan","links","map","nestedComponentLinks","NestedComponentLinks","join","linksDetail","VerboseNestedComponentLinks","id","componentId","toString","link","VerboseLinkRow","from","to"],"sources":["nested-deps-in-nm-links.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { NestedNMDepsLinksResult } from '@teambit/dependency-resolver';\nimport { VerboseLinkRow } from './link-row';\n\ntype NestedComponentLinksLinksProps = {\n nestedDepsInNmLinks?: NestedNMDepsLinksResult[];\n verbose: boolean;\n};\n\nexport function NestedComponentLinksLinks({ nestedDepsInNmLinks, verbose = false }: NestedComponentLinksLinksProps) {\n if (!verbose) return '';\n if (!nestedDepsInNmLinks || !nestedDepsInNmLinks.length) {\n return '';\n }\n const title = chalk.bold.cyan('Nested dependencies links');\n const links = nestedDepsInNmLinks\n .map((nestedComponentLinks) =>\n NestedComponentLinks({\n nestedComponentLinks,\n verbose,\n })\n )\n .join('\\n');\n return `${title}\\n${links}\\n`;\n}\n\ntype NestedComponentLinksProps = {\n nestedComponentLinks: NestedNMDepsLinksResult;\n verbose: boolean;\n};\nfunction NestedComponentLinks({ nestedComponentLinks, verbose = false }: NestedComponentLinksProps) {\n if (!nestedComponentLinks.linksDetail || nestedComponentLinks.linksDetail.length < 1) return '';\n if (verbose) return VerboseNestedComponentLinks({ nestedComponentLinks });\n return '';\n}\n\ntype VerboseNestedComponentLinksProps = {\n nestedComponentLinks: NestedNMDepsLinksResult;\n};\nfunction VerboseNestedComponentLinks({ nestedComponentLinks }: VerboseNestedComponentLinksProps) {\n const id = nestedComponentLinks.componentId.toString();\n const title = chalk.cyan.bold(id);\n const links = nestedComponentLinks.linksDetail\n .map((link) => VerboseLinkRow({ from: link.from, to: link.to }))\n .join('\\n');\n return `${title}\\n${links}\\n`;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOO,SAASI,yBAAyBA,CAAC;EAAEC,mBAAmB;EAAEC,OAAO,GAAG;AAAsC,CAAC,EAAE;EAClH,IAAI,CAACA,OAAO,EAAE,OAAO,EAAE;EACvB,IAAI,CAACD,mBAAmB,IAAI,CAACA,mBAAmB,CAACE,MAAM,EAAE;IACvD,OAAO,EAAE;EACX;EACA,MAAMC,KAAK,GAAGC,gBAAK,CAACC,IAAI,CAACC,IAAI,CAAC,2BAA2B,CAAC;EAC1D,MAAMC,KAAK,GAAGP,mBAAmB,CAC9BQ,GAAG,CAAEC,oBAAoB,IACxBC,oBAAoB,CAAC;IACnBD,oBAAoB;IACpBR;EACF,CAAC,CACH,CAAC,CACAU,IAAI,CAAC,IAAI,CAAC;EACb,OAAQ,GAAER,KAAM,KAAII,KAAM,IAAG;AAC/B;AAMA,SAASG,oBAAoBA,CAAC;EAAED,oBAAoB;EAAER,OAAO,GAAG;AAAiC,CAAC,EAAE;EAClG,IAAI,CAACQ,oBAAoB,CAACG,WAAW,IAAIH,oBAAoB,CAACG,WAAW,CAACV,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EAC/F,IAAID,OAAO,EAAE,OAAOY,2BAA2B,CAAC;IAAEJ;EAAqB,CAAC,CAAC;EACzE,OAAO,EAAE;AACX;AAKA,SAASI,2BAA2BA,CAAC;EAAEJ;AAAuD,CAAC,EAAE;EAC/F,MAAMK,EAAE,GAAGL,oBAAoB,CAACM,WAAW,CAACC,QAAQ,CAAC,CAAC;EACtD,MAAMb,KAAK,GAAGC,gBAAK,CAACE,IAAI,CAACD,IAAI,CAACS,EAAE,CAAC;EACjC,MAAMP,KAAK,GAAGE,oBAAoB,CAACG,WAAW,CAC3CJ,GAAG,CAAES,IAAI,IAAK,IAAAC,yBAAc,EAAC;IAAEC,IAAI,EAAEF,IAAI,CAACE,IAAI;IAAEC,EAAE,EAAEH,IAAI,CAACG;EAAG,CAAC,CAAC,CAAC,CAC/DT,IAAI,CAAC,IAAI,CAAC;EACb,OAAQ,GAAER,KAAM,KAAII,KAAM,IAAG;AAC/B"}
@@ -1 +1 @@
1
- {"version":3,"names":["RewireRow","legacyCodemodResults","length","totalComps","totalFiles","reduce","acc","curr","changedFiles","chalk","cyan","toString"],"sources":["rewire-row.ts"],"sourcesContent":["import { CodemodResult } from '@teambit/legacy/dist/consumer/component-ops/codemod-components';\nimport chalk from 'chalk';\n\ntype RewireRowProps = {\n legacyCodemodResults?: CodemodResult[];\n};\nexport function RewireRow({ legacyCodemodResults }: RewireRowProps) {\n if (!legacyCodemodResults || legacyCodemodResults.length < 1) return '';\n const totalComps = legacyCodemodResults?.length;\n const totalFiles = legacyCodemodResults.reduce((acc, curr) => {\n return acc + curr.changedFiles.length || 0;\n }, 0);\n\n return `rewired ${chalk.cyan(totalComps.toString())} components and total of ${chalk.cyan(\n totalFiles.toString()\n )} files\\n`;\n}\n"],"mappings":";;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAKO,SAASA,SAAS,CAAC;EAAEC;AAAqC,CAAC,EAAE;EAClE,IAAI,CAACA,oBAAoB,IAAIA,oBAAoB,CAACC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EACvE,MAAMC,UAAU,GAAGF,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEC,MAAM;EAC/C,MAAME,UAAU,GAAGH,oBAAoB,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;IAC5D,OAAOD,GAAG,GAAGC,IAAI,CAACC,YAAY,CAACN,MAAM,IAAI,CAAC;EAC5C,CAAC,EAAE,CAAC,CAAC;EAEL,OAAQ,WAAUO,gBAAK,CAACC,IAAI,CAACP,UAAU,CAACQ,QAAQ,EAAE,CAAE,4BAA2BF,gBAAK,CAACC,IAAI,CACvFN,UAAU,CAACO,QAAQ,EAAE,CACrB,UAAS;AACb"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","RewireRow","legacyCodemodResults","length","totalComps","totalFiles","reduce","acc","curr","changedFiles","chalk","cyan","toString"],"sources":["rewire-row.ts"],"sourcesContent":["import { CodemodResult } from '@teambit/legacy/dist/consumer/component-ops/codemod-components';\nimport chalk from 'chalk';\n\ntype RewireRowProps = {\n legacyCodemodResults?: CodemodResult[];\n};\nexport function RewireRow({ legacyCodemodResults }: RewireRowProps) {\n if (!legacyCodemodResults || legacyCodemodResults.length < 1) return '';\n const totalComps = legacyCodemodResults?.length;\n const totalFiles = legacyCodemodResults.reduce((acc, curr) => {\n return acc + curr.changedFiles.length || 0;\n }, 0);\n\n return `rewired ${chalk.cyan(totalComps.toString())} components and total of ${chalk.cyan(\n totalFiles.toString()\n )} files\\n`;\n}\n"],"mappings":";;;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKO,SAASG,SAASA,CAAC;EAAEC;AAAqC,CAAC,EAAE;EAClE,IAAI,CAACA,oBAAoB,IAAIA,oBAAoB,CAACC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EACvE,MAAMC,UAAU,GAAGF,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEC,MAAM;EAC/C,MAAME,UAAU,GAAGH,oBAAoB,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;IAC5D,OAAOD,GAAG,GAAGC,IAAI,CAACC,YAAY,CAACN,MAAM,IAAI,CAAC;EAC5C,CAAC,EAAE,CAAC,CAAC;EAEL,OAAQ,WAAUO,gBAAK,CAACC,IAAI,CAACP,UAAU,CAACQ,QAAQ,CAAC,CAAC,CAAE,4BAA2BF,gBAAK,CAACC,IAAI,CACvFN,UAAU,CAACO,QAAQ,CAAC,CACtB,CAAE,UAAS;AACb"}
@@ -1 +1 @@
1
- {"version":3,"names":["pickOutdatedPkgs","outdatedPkgs","length","updateDependencies","prompt","choices","makeOutdatedPkgChoices","footer","indicator","state","choice","enabled","message","chalk","cyan","green","red","name","pointer","styles","dark","white","em","bgBlack","whiteBright","success","type","validate","value","j","down","k","up","result","names","map","cancel","Object","values","filter","updateDependency","DEP_TYPE_PRIORITY","dependencies","devDependencies","peerDependencies","mergedOutdatedPkgs","mergeOutdatedPkgs","sort","pkg1","pkg2","targetField","localeCompare","renderedTable","alignColumns","outdatedPkgsRows","groupedChoices","forEach","outdatedPkg","index","context","renderContext","push","entries","subChoices","outdatedPkgsNotFromComponentModel","source","componentId","omit","dependentComponents","currentRange","hasDifferentRanges","tryPickLowestRange","range1","range2","semver","lt","rangeToVersion","range","startsWith","substring","variantPattern","TARGET_FIELD_TO_DEP_TYPE","change","diff","semverDiff","latestRange","colorizeChange","latest","colorizeSemverDiff","grey","renderDependents","rows","table","border","getBorderCharacters","columnDefault","paddingLeft","paddingRight","columns","alignment","drawHorizontalLine","split"],"sources":["pick-outdated-pkgs.ts"],"sourcesContent":["import colorizeSemverDiff from '@pnpm/colorize-semver-diff';\nimport semverDiff from '@pnpm/semver-diff';\nimport { OutdatedPkg } from '@teambit/dependency-resolver';\nimport { omit } from 'lodash';\nimport { getBorderCharacters, table } from 'table';\nimport chalk from 'chalk';\nimport { prompt } from 'enquirer';\nimport semver from 'semver';\n\n/**\n * Lets the user pick the packages that should be updated.\n */\nexport async function pickOutdatedPkgs(outdatedPkgs: OutdatedPkg[]): Promise<MergedOutdatedPkg[]> {\n if (outdatedPkgs.length === 0) return [];\n const { updateDependencies } = (await prompt({\n choices: makeOutdatedPkgChoices(outdatedPkgs),\n footer: '\\nEnter to start updating. Ctrl-c to cancel.',\n indicator: (state: any, choice: any) => ` ${choice.enabled ? '●' : '○'}`,\n message:\n 'Choose which packages to update ' +\n `(Press ${chalk.cyan('<space>')} to select, ` +\n `${chalk.cyan('<a>')} to toggle all, ` +\n `${chalk.cyan('<i>')} to invert selection)\n${chalk.green('Green')} - indicates a semantically safe update\n${chalk.red('Red')} - indicates a semantically breaking change`,\n name: 'updateDependencies',\n pointer: '❯',\n styles: {\n dark: chalk.white,\n em: chalk.bgBlack.whiteBright,\n success: chalk.white,\n },\n type: 'multiselect',\n validate(value: string[]) {\n if (value.length === 0) {\n return 'You must choose at least one package.';\n }\n return true;\n },\n j() {\n return this.down();\n },\n k() {\n return this.up();\n },\n result(names: string[]) {\n // This is needed in order to have the values of the choices in the answer object.\n // Otherwise, only the names of the selected choices would've been included.\n return this.map(names);\n },\n cancel() {\n // By default, canceling the prompt via Ctrl+c throws an empty string.\n // The custom cancel function prevents that behavior.\n // Otherwise, Bit CLI would print an error and confuse users.\n // See related issue: https://github.com/enquirer/enquirer/issues/225\n },\n } as any)) as { updateDependencies: Record<string, string | MergedOutdatedPkg> };\n return Object.values(updateDependencies ?? {}).filter(\n (updateDependency) => typeof updateDependency !== 'string'\n ) as OutdatedPkg[];\n}\n\nconst DEP_TYPE_PRIORITY = {\n dependencies: 0,\n devDependencies: 1,\n peerDependencies: 2,\n};\n\n/**\n * Groups the outdated packages and makes choices for enquirer's prompt.\n */\nexport function makeOutdatedPkgChoices(outdatedPkgs: OutdatedPkg[]) {\n const mergedOutdatedPkgs = mergeOutdatedPkgs(outdatedPkgs);\n mergedOutdatedPkgs.sort((pkg1, pkg2) => {\n if (pkg1.targetField === pkg2.targetField) return pkg1.name.localeCompare(pkg2.name);\n return DEP_TYPE_PRIORITY[pkg1.targetField] - DEP_TYPE_PRIORITY[pkg2.targetField];\n });\n const renderedTable = alignColumns(outdatedPkgsRows(mergedOutdatedPkgs));\n const groupedChoices = {};\n mergedOutdatedPkgs.forEach((outdatedPkg, index) => {\n const context = renderContext(outdatedPkg);\n if (!groupedChoices[context]) {\n groupedChoices[context] = [];\n }\n groupedChoices[context].push({\n message: renderedTable[index],\n name: outdatedPkg.name,\n value: outdatedPkg,\n });\n });\n const choices = Object.entries(groupedChoices).map(([context, subChoices]) => ({\n message: chalk.cyan(context),\n choices: subChoices,\n }));\n return choices;\n}\n\nexport interface MergedOutdatedPkg extends OutdatedPkg {\n dependentComponents?: string[];\n hasDifferentRanges?: boolean;\n}\n\nfunction mergeOutdatedPkgs(outdatedPkgs: OutdatedPkg[]): MergedOutdatedPkg[] {\n const mergedOutdatedPkgs: Record<\n string,\n MergedOutdatedPkg & Required<Pick<MergedOutdatedPkg, 'dependentComponents'>>\n > = {};\n const outdatedPkgsNotFromComponentModel: OutdatedPkg[] = [];\n for (const outdatedPkg of outdatedPkgs) {\n if (outdatedPkg.source === 'component-model' && outdatedPkg.componentId) {\n if (!mergedOutdatedPkgs[outdatedPkg.name]) {\n mergedOutdatedPkgs[outdatedPkg.name] = {\n ...omit(outdatedPkg, ['componentId']),\n source: 'rootPolicy',\n dependentComponents: [outdatedPkg.componentId],\n };\n } else {\n if (mergedOutdatedPkgs[outdatedPkg.name].currentRange !== outdatedPkg.currentRange) {\n mergedOutdatedPkgs[outdatedPkg.name].hasDifferentRanges = true;\n }\n mergedOutdatedPkgs[outdatedPkg.name].currentRange = tryPickLowestRange(\n mergedOutdatedPkgs[outdatedPkg.name].currentRange,\n outdatedPkg.currentRange\n );\n mergedOutdatedPkgs[outdatedPkg.name].dependentComponents.push(outdatedPkg.componentId);\n if (outdatedPkg.targetField === 'dependencies') {\n mergedOutdatedPkgs[outdatedPkg.name].targetField = outdatedPkg.targetField;\n }\n }\n } else {\n outdatedPkgsNotFromComponentModel.push(outdatedPkg);\n }\n }\n return [...Object.values(mergedOutdatedPkgs), ...outdatedPkgsNotFromComponentModel];\n}\n\nfunction tryPickLowestRange(range1: string, range2: string) {\n if (range1 === '*' || range2 === '*') return '*';\n try {\n return semver.lt(rangeToVersion(range1), rangeToVersion(range2)) ? range1 : range2;\n } catch {\n return '*';\n }\n}\n\nfunction rangeToVersion(range: string) {\n if (range.startsWith('~') || range.startsWith('^')) {\n return range.substring(1);\n }\n return range;\n}\n\nfunction renderContext(outdatedPkg: MergedOutdatedPkg) {\n if (outdatedPkg.variantPattern) {\n return `${outdatedPkg.variantPattern} (variant)`;\n }\n if (outdatedPkg.componentId) {\n return `${outdatedPkg.componentId} (component)`;\n }\n return 'Root policies';\n}\n\nconst TARGET_FIELD_TO_DEP_TYPE = {\n devDependencies: 'dev',\n dependencies: 'runtime',\n peerDependencies: 'peer',\n};\n\nfunction outdatedPkgsRows(outdatedPkgs: MergedOutdatedPkg[]) {\n return outdatedPkgs.map((outdatedPkg) => {\n const { change, diff } = semverDiff(outdatedPkg.currentRange, outdatedPkg.latestRange);\n let colorizeChange = change ?? 'breaking';\n if (change === 'feature') {\n colorizeChange = 'fix';\n }\n const latest = colorizeSemverDiff({\n change: colorizeChange,\n diff,\n });\n return [\n outdatedPkg.name,\n chalk.grey(`(${TARGET_FIELD_TO_DEP_TYPE[outdatedPkg.targetField]})`),\n outdatedPkg.hasDifferentRanges ? '*' : outdatedPkg.currentRange,\n '❯',\n latest,\n outdatedPkg.dependentComponents ? renderDependents(outdatedPkg.dependentComponents) : ' ',\n ];\n });\n}\n\nfunction renderDependents(dependentComponents: string[]): string {\n let result = `because of ${dependentComponents[0]}`;\n if (dependentComponents.length > 1) {\n result += ` and ${dependentComponents.length - 1} other components`;\n }\n return result;\n}\n\nfunction alignColumns(rows: string[][]) {\n return table(rows, {\n border: getBorderCharacters('void'),\n columnDefault: {\n paddingLeft: 0,\n paddingRight: 1,\n },\n columns: {\n // This is the current range column\n 2: { alignment: 'right' },\n },\n drawHorizontalLine: () => false,\n }).split('\\n');\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_colorizeSemverDiff","data","_interopRequireDefault","require","_semverDiff","_lodash","_table","_chalk","_enquirer","_semver","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","pickOutdatedPkgs","outdatedPkgs","updateDependencies","prompt","choices","makeOutdatedPkgChoices","footer","indicator","state","choice","enabled","message","chalk","cyan","green","red","name","pointer","styles","dark","white","em","bgBlack","whiteBright","success","type","validate","value","j","down","k","up","result","names","map","cancel","values","updateDependency","DEP_TYPE_PRIORITY","dependencies","devDependencies","peerDependencies","mergedOutdatedPkgs","mergeOutdatedPkgs","sort","pkg1","pkg2","targetField","localeCompare","renderedTable","alignColumns","outdatedPkgsRows","groupedChoices","outdatedPkg","index","context","renderContext","entries","subChoices","outdatedPkgsNotFromComponentModel","componentId","omit","dependentComponents","currentRange","hasDifferentRanges","tryPickLowestRange","range1","range2","semver","lt","rangeToVersion","_unused","range","startsWith","substring","variantPattern","TARGET_FIELD_TO_DEP_TYPE","change","diff","semverDiff","latestRange","colorizeChange","latest","colorizeSemverDiff","grey","renderDependents","rows","table","border","getBorderCharacters","columnDefault","paddingLeft","paddingRight","columns","alignment","drawHorizontalLine","split"],"sources":["pick-outdated-pkgs.ts"],"sourcesContent":["import colorizeSemverDiff from '@pnpm/colorize-semver-diff';\nimport semverDiff from '@pnpm/semver-diff';\nimport { OutdatedPkg } from '@teambit/dependency-resolver';\nimport { omit } from 'lodash';\nimport { getBorderCharacters, table } from 'table';\nimport chalk from 'chalk';\nimport { prompt } from 'enquirer';\nimport semver from 'semver';\n\n/**\n * Lets the user pick the packages that should be updated.\n */\nexport async function pickOutdatedPkgs(outdatedPkgs: OutdatedPkg[]): Promise<MergedOutdatedPkg[]> {\n if (outdatedPkgs.length === 0) return [];\n const { updateDependencies } = (await prompt({\n choices: makeOutdatedPkgChoices(outdatedPkgs),\n footer: '\\nEnter to start updating. Ctrl-c to cancel.',\n indicator: (state: any, choice: any) => ` ${choice.enabled ? '●' : '○'}`,\n message:\n 'Choose which packages to update ' +\n `(Press ${chalk.cyan('<space>')} to select, ` +\n `${chalk.cyan('<a>')} to toggle all, ` +\n `${chalk.cyan('<i>')} to invert selection)\n${chalk.green('Green')} - indicates a semantically safe update\n${chalk.red('Red')} - indicates a semantically breaking change`,\n name: 'updateDependencies',\n pointer: '❯',\n styles: {\n dark: chalk.white,\n em: chalk.bgBlack.whiteBright,\n success: chalk.white,\n },\n type: 'multiselect',\n validate(value: string[]) {\n if (value.length === 0) {\n return 'You must choose at least one package.';\n }\n return true;\n },\n j() {\n return this.down();\n },\n k() {\n return this.up();\n },\n result(names: string[]) {\n // This is needed in order to have the values of the choices in the answer object.\n // Otherwise, only the names of the selected choices would've been included.\n return this.map(names);\n },\n cancel() {\n // By default, canceling the prompt via Ctrl+c throws an empty string.\n // The custom cancel function prevents that behavior.\n // Otherwise, Bit CLI would print an error and confuse users.\n // See related issue: https://github.com/enquirer/enquirer/issues/225\n },\n } as any)) as { updateDependencies: Record<string, string | MergedOutdatedPkg> };\n return Object.values(updateDependencies ?? {}).filter(\n (updateDependency) => typeof updateDependency !== 'string'\n ) as OutdatedPkg[];\n}\n\nconst DEP_TYPE_PRIORITY = {\n dependencies: 0,\n devDependencies: 1,\n peerDependencies: 2,\n};\n\n/**\n * Groups the outdated packages and makes choices for enquirer's prompt.\n */\nexport function makeOutdatedPkgChoices(outdatedPkgs: OutdatedPkg[]) {\n const mergedOutdatedPkgs = mergeOutdatedPkgs(outdatedPkgs);\n mergedOutdatedPkgs.sort((pkg1, pkg2) => {\n if (pkg1.targetField === pkg2.targetField) return pkg1.name.localeCompare(pkg2.name);\n return DEP_TYPE_PRIORITY[pkg1.targetField] - DEP_TYPE_PRIORITY[pkg2.targetField];\n });\n const renderedTable = alignColumns(outdatedPkgsRows(mergedOutdatedPkgs));\n const groupedChoices = {};\n mergedOutdatedPkgs.forEach((outdatedPkg, index) => {\n const context = renderContext(outdatedPkg);\n if (!groupedChoices[context]) {\n groupedChoices[context] = [];\n }\n groupedChoices[context].push({\n message: renderedTable[index],\n name: outdatedPkg.name,\n value: outdatedPkg,\n });\n });\n const choices = Object.entries(groupedChoices).map(([context, subChoices]) => ({\n message: chalk.cyan(context),\n choices: subChoices,\n }));\n return choices;\n}\n\nexport interface MergedOutdatedPkg extends OutdatedPkg {\n dependentComponents?: string[];\n hasDifferentRanges?: boolean;\n}\n\nfunction mergeOutdatedPkgs(outdatedPkgs: OutdatedPkg[]): MergedOutdatedPkg[] {\n const mergedOutdatedPkgs: Record<\n string,\n MergedOutdatedPkg & Required<Pick<MergedOutdatedPkg, 'dependentComponents'>>\n > = {};\n const outdatedPkgsNotFromComponentModel: OutdatedPkg[] = [];\n for (const outdatedPkg of outdatedPkgs) {\n if (outdatedPkg.source === 'component-model' && outdatedPkg.componentId) {\n if (!mergedOutdatedPkgs[outdatedPkg.name]) {\n mergedOutdatedPkgs[outdatedPkg.name] = {\n ...omit(outdatedPkg, ['componentId']),\n source: 'rootPolicy',\n dependentComponents: [outdatedPkg.componentId],\n };\n } else {\n if (mergedOutdatedPkgs[outdatedPkg.name].currentRange !== outdatedPkg.currentRange) {\n mergedOutdatedPkgs[outdatedPkg.name].hasDifferentRanges = true;\n }\n mergedOutdatedPkgs[outdatedPkg.name].currentRange = tryPickLowestRange(\n mergedOutdatedPkgs[outdatedPkg.name].currentRange,\n outdatedPkg.currentRange\n );\n mergedOutdatedPkgs[outdatedPkg.name].dependentComponents.push(outdatedPkg.componentId);\n if (outdatedPkg.targetField === 'dependencies') {\n mergedOutdatedPkgs[outdatedPkg.name].targetField = outdatedPkg.targetField;\n }\n }\n } else {\n outdatedPkgsNotFromComponentModel.push(outdatedPkg);\n }\n }\n return [...Object.values(mergedOutdatedPkgs), ...outdatedPkgsNotFromComponentModel];\n}\n\nfunction tryPickLowestRange(range1: string, range2: string) {\n if (range1 === '*' || range2 === '*') return '*';\n try {\n return semver.lt(rangeToVersion(range1), rangeToVersion(range2)) ? range1 : range2;\n } catch {\n return '*';\n }\n}\n\nfunction rangeToVersion(range: string) {\n if (range.startsWith('~') || range.startsWith('^')) {\n return range.substring(1);\n }\n return range;\n}\n\nfunction renderContext(outdatedPkg: MergedOutdatedPkg) {\n if (outdatedPkg.variantPattern) {\n return `${outdatedPkg.variantPattern} (variant)`;\n }\n if (outdatedPkg.componentId) {\n return `${outdatedPkg.componentId} (component)`;\n }\n return 'Root policies';\n}\n\nconst TARGET_FIELD_TO_DEP_TYPE = {\n devDependencies: 'dev',\n dependencies: 'runtime',\n peerDependencies: 'peer',\n};\n\nfunction outdatedPkgsRows(outdatedPkgs: MergedOutdatedPkg[]) {\n return outdatedPkgs.map((outdatedPkg) => {\n const { change, diff } = semverDiff(outdatedPkg.currentRange, outdatedPkg.latestRange);\n let colorizeChange = change ?? 'breaking';\n if (change === 'feature') {\n colorizeChange = 'fix';\n }\n const latest = colorizeSemverDiff({\n change: colorizeChange,\n diff,\n });\n return [\n outdatedPkg.name,\n chalk.grey(`(${TARGET_FIELD_TO_DEP_TYPE[outdatedPkg.targetField]})`),\n outdatedPkg.hasDifferentRanges ? '*' : outdatedPkg.currentRange,\n '❯',\n latest,\n outdatedPkg.dependentComponents ? renderDependents(outdatedPkg.dependentComponents) : ' ',\n ];\n });\n}\n\nfunction renderDependents(dependentComponents: string[]): string {\n let result = `because of ${dependentComponents[0]}`;\n if (dependentComponents.length > 1) {\n result += ` and ${dependentComponents.length - 1} other components`;\n }\n return result;\n}\n\nfunction alignColumns(rows: string[][]) {\n return table(rows, {\n border: getBorderCharacters('void'),\n columnDefault: {\n paddingLeft: 0,\n paddingRight: 1,\n },\n columns: {\n // This is the current range column\n 2: { alignment: 'right' },\n },\n drawHorizontalLine: () => false,\n }).split('\\n');\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["describe","it","choices","makeOutdatedPkgChoices","name","currentRange","latestRange","source","targetField","expect","toMatchSnapshot","componentId","variantPattern"],"sources":["pick-outdated-pkgs.spec.ts"],"sourcesContent":["import { makeOutdatedPkgChoices } from './pick-outdated-pkgs';\n\ndescribe('makeOutdatedPkgChoices', () => {\n it('should render choices in correct order', () => {\n const choices = makeOutdatedPkgChoices([\n {\n name: 'zoo',\n currentRange: '1.0.0',\n latestRange: '1.1.0',\n source: 'rootPolicy',\n targetField: 'devDependencies',\n },\n {\n name: 'qar',\n currentRange: '1.0.0',\n latestRange: '1.1.0',\n source: 'rootPolicy',\n targetField: 'dependencies',\n },\n {\n name: 'foo',\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n source: 'rootPolicy',\n targetField: 'dependencies',\n },\n {\n name: 'bar',\n currentRange: '1.0.0',\n latestRange: '1.1.0',\n source: 'rootPolicy',\n targetField: 'peerDependencies',\n },\n ]);\n // @ts-ignore\n expect(choices).toMatchSnapshot();\n });\n it('should render choices with context information', () => {\n const choices = makeOutdatedPkgChoices([\n {\n name: 'foo',\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n source: 'component',\n componentId: 'comp1',\n targetField: 'dependencies',\n },\n {\n name: 'bar',\n currentRange: '1.0.0',\n latestRange: '1.1.0',\n source: 'variants',\n variantPattern: '{comp2}',\n targetField: 'peerDependencies',\n },\n ]);\n // @ts-ignore\n expect(choices).toMatchSnapshot();\n });\n it('should group component model updates of the same dependency', () => {\n const choices = makeOutdatedPkgChoices([\n {\n name: 'foo',\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp1',\n targetField: 'devDependencies',\n },\n {\n name: 'foo',\n currentRange: '1.1.0',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp2',\n targetField: 'dependencies',\n },\n ]);\n // @ts-ignore\n expect(choices).toMatchSnapshot();\n });\n it(\"should group component model updates of the same dependency and use * as current range when can't compare ranges\", () => {\n const choices = makeOutdatedPkgChoices([\n {\n name: 'foo',\n currentRange: '<=10.0.0',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp1',\n targetField: 'dependencies',\n },\n {\n name: 'foo',\n currentRange: '1.1.0',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp2',\n targetField: 'dependencies',\n },\n ]);\n // @ts-ignore\n expect(choices).toMatchSnapshot();\n });\n it('should group component model updates of the same dependency and display the current range when all components use the same range', () => {\n const choices = makeOutdatedPkgChoices([\n {\n name: 'foo',\n currentRange: '^1.2.3',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp1',\n targetField: 'dependencies',\n },\n {\n name: 'foo',\n currentRange: '^1.2.3',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp2',\n targetField: 'dependencies',\n },\n ]);\n // @ts-ignore\n expect(choices).toMatchSnapshot();\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_pickOutdatedPkgs","data","require","describe","it","choices","makeOutdatedPkgChoices","name","currentRange","latestRange","source","targetField","expect","toMatchSnapshot","componentId","variantPattern"],"sources":["pick-outdated-pkgs.spec.ts"],"sourcesContent":["import { makeOutdatedPkgChoices } from './pick-outdated-pkgs';\n\ndescribe('makeOutdatedPkgChoices', () => {\n it('should render choices in correct order', () => {\n const choices = makeOutdatedPkgChoices([\n {\n name: 'zoo',\n currentRange: '1.0.0',\n latestRange: '1.1.0',\n source: 'rootPolicy',\n targetField: 'devDependencies',\n },\n {\n name: 'qar',\n currentRange: '1.0.0',\n latestRange: '1.1.0',\n source: 'rootPolicy',\n targetField: 'dependencies',\n },\n {\n name: 'foo',\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n source: 'rootPolicy',\n targetField: 'dependencies',\n },\n {\n name: 'bar',\n currentRange: '1.0.0',\n latestRange: '1.1.0',\n source: 'rootPolicy',\n targetField: 'peerDependencies',\n },\n ]);\n // @ts-ignore\n expect(choices).toMatchSnapshot();\n });\n it('should render choices with context information', () => {\n const choices = makeOutdatedPkgChoices([\n {\n name: 'foo',\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n source: 'component',\n componentId: 'comp1',\n targetField: 'dependencies',\n },\n {\n name: 'bar',\n currentRange: '1.0.0',\n latestRange: '1.1.0',\n source: 'variants',\n variantPattern: '{comp2}',\n targetField: 'peerDependencies',\n },\n ]);\n // @ts-ignore\n expect(choices).toMatchSnapshot();\n });\n it('should group component model updates of the same dependency', () => {\n const choices = makeOutdatedPkgChoices([\n {\n name: 'foo',\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp1',\n targetField: 'devDependencies',\n },\n {\n name: 'foo',\n currentRange: '1.1.0',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp2',\n targetField: 'dependencies',\n },\n ]);\n // @ts-ignore\n expect(choices).toMatchSnapshot();\n });\n it(\"should group component model updates of the same dependency and use * as current range when can't compare ranges\", () => {\n const choices = makeOutdatedPkgChoices([\n {\n name: 'foo',\n currentRange: '<=10.0.0',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp1',\n targetField: 'dependencies',\n },\n {\n name: 'foo',\n currentRange: '1.1.0',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp2',\n targetField: 'dependencies',\n },\n ]);\n // @ts-ignore\n expect(choices).toMatchSnapshot();\n });\n it('should group component model updates of the same dependency and display the current range when all components use the same range', () => {\n const choices = makeOutdatedPkgChoices([\n {\n name: 'foo',\n currentRange: '^1.2.3',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp1',\n targetField: 'dependencies',\n },\n {\n name: 'foo',\n currentRange: '^1.2.3',\n latestRange: '2.0.0',\n source: 'component-model',\n componentId: 'comp2',\n targetField: 'dependencies',\n },\n ]);\n // @ts-ignore\n expect(choices).toMatchSnapshot();\n });\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["UninstallCmd","constructor","install","report","packages","uninstallDependencies"],"sources":["uninstall.cmd.tsx"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\n\nimport { InstallMain } from './install.main.runtime';\n\nexport default class UninstallCmd implements Command {\n name = 'uninstall [packages...]';\n description = 'uninstall dependencies';\n alias = 'un';\n group = 'development';\n options = [] as CommandOptions;\n\n constructor(private install: InstallMain) {}\n\n async report([packages = []]: [string[]]) {\n await this.install.uninstallDependencies(packages);\n return '';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAIe,MAAMA,YAAY,CAAoB;EAOnDC,WAAW,CAASC,OAAoB,EAAE;IAAA,KAAtBA,OAAoB,GAApBA,OAAoB;IAAA,8CANjC,yBAAyB;IAAA,qDAClB,wBAAwB;IAAA,+CAC9B,IAAI;IAAA,+CACJ,aAAa;IAAA,iDACX,EAAE;EAE+B;EAE3C,MAAMC,MAAM,CAAC,CAACC,QAAQ,GAAG,EAAE,CAAa,EAAE;IACxC,MAAM,IAAI,CAACF,OAAO,CAACG,qBAAqB,CAACD,QAAQ,CAAC;IAClD,OAAO,EAAE;EACX;AACF;AAAC"}
1
+ {"version":3,"names":["UninstallCmd","constructor","install","_defineProperty2","default","report","packages","uninstallDependencies","exports"],"sources":["uninstall.cmd.tsx"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\n\nimport { InstallMain } from './install.main.runtime';\n\nexport default class UninstallCmd implements Command {\n name = 'uninstall [packages...]';\n description = 'uninstall dependencies';\n alias = 'un';\n group = 'development';\n options = [] as CommandOptions;\n\n constructor(private install: InstallMain) {}\n\n async report([packages = []]: [string[]]) {\n await this.install.uninstallDependencies(packages);\n return '';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAIe,MAAMA,YAAY,CAAoB;EAOnDC,WAAWA,CAASC,OAAoB,EAAE;IAAA,KAAtBA,OAAoB,GAApBA,OAAoB;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBANjC,yBAAyB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBAClB,wBAAwB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBAC9B,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACJ,aAAa;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACX,EAAE;EAE+B;EAE3C,MAAMC,MAAMA,CAAC,CAACC,QAAQ,GAAG,EAAE,CAAa,EAAE;IACxC,MAAM,IAAI,CAACJ,OAAO,CAACK,qBAAqB,CAACD,QAAQ,CAAC;IAClD,OAAO,EAAE;EACX;AACF;AAACE,OAAA,CAAAJ,OAAA,GAAAJ,YAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["UpdateCmd","constructor","install","report","args","options","updateDependencies","all","yes"],"sources":["update.cmd.tsx"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\n\nimport { InstallMain } from './install.main.runtime';\n\ntype UpdateCmdOptions = {\n yes?: boolean;\n};\n\nexport default class UpdateCmd implements Command {\n name = 'update';\n description = 'update dependencies';\n helpUrl = 'docs/dependencies/configuring-dependencies/#update-dependencies';\n alias = 'up';\n group = 'development';\n options = [['y', 'yes', 'automatically update all outdated packages']] as CommandOptions;\n\n constructor(private install: InstallMain) {}\n\n async report(args: [string[]], options: UpdateCmdOptions) {\n await this.install.updateDependencies({\n all: options.yes === true,\n });\n return '';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAQe,MAAMA,SAAS,CAAoB;EAQhDC,WAAW,CAASC,OAAoB,EAAE;IAAA,KAAtBA,OAAoB,GAApBA,OAAoB;IAAA,8CAPjC,QAAQ;IAAA,qDACD,qBAAqB;IAAA,iDACzB,iEAAiE;IAAA,+CACnE,IAAI;IAAA,+CACJ,aAAa;IAAA,iDACX,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,4CAA4C,CAAC,CAAC;EAE3B;EAE3C,MAAMC,MAAM,CAACC,IAAgB,EAAEC,OAAyB,EAAE;IACxD,MAAM,IAAI,CAACH,OAAO,CAACI,kBAAkB,CAAC;MACpCC,GAAG,EAAEF,OAAO,CAACG,GAAG,KAAK;IACvB,CAAC,CAAC;IACF,OAAO,EAAE;EACX;AACF;AAAC"}
1
+ {"version":3,"names":["UpdateCmd","constructor","install","_defineProperty2","default","report","args","options","updateDependencies","all","yes","exports"],"sources":["update.cmd.tsx"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\n\nimport { InstallMain } from './install.main.runtime';\n\ntype UpdateCmdOptions = {\n yes?: boolean;\n};\n\nexport default class UpdateCmd implements Command {\n name = 'update';\n description = 'update dependencies';\n helpUrl = 'docs/dependencies/configuring-dependencies/#update-dependencies';\n alias = 'up';\n group = 'development';\n options = [['y', 'yes', 'automatically update all outdated packages']] as CommandOptions;\n\n constructor(private install: InstallMain) {}\n\n async report(args: [string[]], options: UpdateCmdOptions) {\n await this.install.updateDependencies({\n all: options.yes === true,\n });\n return '';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAQe,MAAMA,SAAS,CAAoB;EAQhDC,WAAWA,CAASC,OAAoB,EAAE;IAAA,KAAtBA,OAAoB,GAApBA,OAAoB;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBAPjC,QAAQ;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACD,qBAAqB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACzB,iEAAiE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACnE,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACJ,aAAa;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACX,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,4CAA4C,CAAC,CAAC;EAE3B;EAE3C,MAAMC,MAAMA,CAACC,IAAgB,EAAEC,OAAyB,EAAE;IACxD,MAAM,IAAI,CAACL,OAAO,CAACM,kBAAkB,CAAC;MACpCC,GAAG,EAAEF,OAAO,CAACG,GAAG,KAAK;IACvB,CAAC,CAAC;IACF,OAAO,EAAE;EACX;AACF;AAACC,OAAA,CAAAP,OAAA,GAAAJ,SAAA"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/install",
3
- "version": "0.0.205",
3
+ "version": "0.0.207",
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": "0.0.205"
9
+ "version": "0.0.207"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -24,11 +24,11 @@
24
24
  "@babel/runtime": "7.20.0",
25
25
  "@teambit/harmony": "0.4.6",
26
26
  "@teambit/bit-error": "0.0.402",
27
- "@teambit/bit-roots": "0.0.82",
27
+ "@teambit/bit-roots": "0.0.84",
28
28
  "@teambit/component-issues": "0.0.93",
29
29
  "@teambit/component-package-version": "0.0.423",
30
- "@teambit/dependencies.fs.linked-dependencies": "0.0.1",
31
- "@teambit/workspace.modules.node-modules-linker": "0.0.89",
30
+ "@teambit/dependencies.fs.linked-dependencies": "0.0.2",
31
+ "@teambit/workspace.modules.node-modules-linker": "0.0.91",
32
32
  "@teambit/toolbox.time.time-format": "0.0.490"
33
33
  },
34
34
  "devDependencies": {
@@ -44,7 +44,7 @@
44
44
  "@types/testing-library__jest-dom": "5.9.5"
45
45
  },
46
46
  "peerDependencies": {
47
- "@teambit/legacy": "1.0.526",
47
+ "@teambit/legacy": "1.0.528",
48
48
  "react": "^16.8.0 || ^17.0.0",
49
49
  "react-dom": "^16.8.0 || ^17.0.0"
50
50
  },