@teambit/dependencies 1.0.623 → 1.0.624

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.
@@ -526,7 +526,8 @@ export class ApplyOverrides {
526
526
  const existsInCompsPeerDeps = this.allDependencies.peerDependencies.find((dep) => dep.packageName === pkgName);
527
527
 
528
528
  // Validate it was auto detected, we only affect stuff that were detected
529
- const isAutoDetected = existsInCompsDeps ||
529
+ const isAutoDetected =
530
+ existsInCompsDeps ||
530
531
  existsInCompsDevDeps ||
531
532
  existsInCompsPeerDeps ||
532
533
  // We are checking originAllPackagesDependencies instead of allPackagesDependencies
@@ -549,7 +550,7 @@ export class ApplyOverrides {
549
550
  // in that case we might remove it before getting to the devDeps then we will think that it wasn't required in the component
550
551
  // which is incorrect
551
552
  originallyExists.includes(pkgName) ||
552
- missingPackages.includes(pkgName)
553
+ missingPackages.includes(pkgName);
553
554
 
554
555
  if (!isAutoDetected) {
555
556
  return;
@@ -572,9 +573,17 @@ export class ApplyOverrides {
572
573
  );
573
574
  }
574
575
  }
575
- // delete this.allPackagesDependencies.packageDependencies[pkgName];
576
- // delete this.allPackagesDependencies.devPackageDependencies[pkgName];
577
- // delete this.allPackagesDependencies.peerPackageDependencies[pkgName];
576
+
577
+ // This was restored to fix an issue with a case where
578
+ // You have a package dep in env.jsonc under peers (like @testing-library/react)
579
+ // Then you change the env.jsonc and move it from peer to devDependencies
580
+ // the deps resolver data will be correct, but in the legacy data
581
+ // it will still be in the peerPackageDependencies, so we need to remove it from there
582
+ // to avoid having it in package.json as a peer dependency
583
+ // which then will affect the installation of the component
584
+ delete this.allPackagesDependencies.packageDependencies[pkgName];
585
+ delete this.allPackagesDependencies.devPackageDependencies[pkgName];
586
+ delete this.allPackagesDependencies.peerPackageDependencies[pkgName];
578
587
 
579
588
  // If it exists in comps deps / comp dev deps, we don't want to add it to the allPackagesDependencies
580
589
  // as it will make the same dep both a dev and runtime dep
@@ -51,7 +51,7 @@ class DependenciesGetCmd {
51
51
  name: 'component-name',
52
52
  description: 'component name or component id'
53
53
  }]);
54
- _defineProperty(this, "group", 'info');
54
+ _defineProperty(this, "group", 'info-analysis');
55
55
  _defineProperty(this, "description", 'show direct and indirect dependencies of the given component');
56
56
  _defineProperty(this, "alias", '');
57
57
  _defineProperty(this, "options", [['', 'scope', 'get the data from the scope instead of the workspace'], ['t', 'tree', 'render dependencies as a tree, similar to "npm ls"']]);
@@ -95,7 +95,7 @@ class DependenciesDebugCmd {
95
95
  name: 'component-name',
96
96
  description: 'component name or component id'
97
97
  }]);
98
- _defineProperty(this, "group", 'info');
98
+ _defineProperty(this, "group", 'info-analysis');
99
99
  _defineProperty(this, "description", 'show the immediate dependencies and how their versions were determined');
100
100
  _defineProperty(this, "alias", '');
101
101
  _defineProperty(this, "options", []);
@@ -117,7 +117,7 @@ class DependenciesSetCmd {
117
117
  name: 'package...',
118
118
  description: 'package name with or without a version, e.g. "lodash@1.0.0" or just "lodash" which will be resolved to the latest'
119
119
  }]);
120
- _defineProperty(this, "group", 'info');
120
+ _defineProperty(this, "group", 'dependencies');
121
121
  _defineProperty(this, "description", 'set a dependency to component(s)');
122
122
  _defineProperty(this, "alias", '');
123
123
  _defineProperty(this, "options", [['d', 'dev', 'add to the devDependencies'], ['o', 'optional', 'add to the optionalDependencies'], ['p', 'peer', 'add to the peerDependencies']]);
@@ -147,7 +147,7 @@ class DependenciesRemoveCmd {
147
147
  name: 'package...',
148
148
  description: 'package name with or without a version, e.g. "lodash@1.0.0" or just "lodash" which will remove all lodash instances of any version'
149
149
  }]);
150
- _defineProperty(this, "group", 'info');
150
+ _defineProperty(this, "group", 'dependencies');
151
151
  _defineProperty(this, "description", 'remove a dependency from one or more components');
152
152
  _defineProperty(this, "extendedDescription", `this command removes the dependency whether it was set by 'bit deps set'/variants or by auto-detection.
153
153
  if the dependency was auto-detected, it will be marked with a minus sign in the .bitmap file.
@@ -180,7 +180,7 @@ class DependenciesUnsetCmd {
180
180
  name: 'package...',
181
181
  description: 'package name with or without a version, e.g. "lodash@1.0.0" or just "lodash" which will remove all lodash instances of any version'
182
182
  }]);
183
- _defineProperty(this, "group", 'info');
183
+ _defineProperty(this, "group", 'dependencies');
184
184
  _defineProperty(this, "description", 'unset a dependency to component(s) that was set via config (e.g. "bit deps set" or variants)');
185
185
  _defineProperty(this, "extendedDescription", `this command removes the dependency only when it was set by config not if it was auto detected.
186
186
  in the .bitmap file, the config is written without the dependency.
@@ -209,7 +209,7 @@ class DependenciesResetCmd {
209
209
  name: 'component-pattern',
210
210
  description: _legacy().COMPONENT_PATTERN_HELP
211
211
  }]);
212
- _defineProperty(this, "group", 'info');
212
+ _defineProperty(this, "group", 'dependencies');
213
213
  _defineProperty(this, "description", 'reset dependencies to the default values (revert any previously "bit deps set")');
214
214
  _defineProperty(this, "alias", '');
215
215
  _defineProperty(this, "options", []);
@@ -229,7 +229,7 @@ class DependenciesEjectCmd {
229
229
  name: 'component-pattern',
230
230
  description: _legacy().COMPONENT_PATTERN_HELP
231
231
  }]);
232
- _defineProperty(this, "group", 'info');
232
+ _defineProperty(this, "group", 'dependencies');
233
233
  _defineProperty(this, "description", 'write dependencies that were previously set via "bit deps set" into .bitmap');
234
234
  _defineProperty(this, "alias", '');
235
235
  _defineProperty(this, "options", []);
@@ -249,7 +249,7 @@ class DependenciesBlameCmd {
249
249
  name: 'dependency-name',
250
250
  description: 'package-name. for components, you can use either component-id or package-name'
251
251
  }]);
252
- _defineProperty(this, "group", 'info');
252
+ _defineProperty(this, "group", 'info-analysis');
253
253
  _defineProperty(this, "description", 'find out which snap/tag changed a dependency version');
254
254
  _defineProperty(this, "alias", '');
255
255
  _defineProperty(this, "options", []);
@@ -303,7 +303,7 @@ class DependenciesUsageCmd {
303
303
  name: 'dependency-name',
304
304
  description: 'package-name. for components, you can use either component-id or package-name. if version is specified, it will search for the exact version'
305
305
  }]);
306
- _defineProperty(this, "group", 'info');
306
+ _defineProperty(this, "group", 'dependencies');
307
307
  _defineProperty(this, "description", 'find components that use the specified dependency');
308
308
  _defineProperty(this, "alias", '');
309
309
  _defineProperty(this, "options", [['', 'depth <number>', 'max display depth of the dependency graph']]);
@@ -332,7 +332,7 @@ class DependenciesCmd {
332
332
  _defineProperty(this, "alias", 'dependencies');
333
333
  _defineProperty(this, "description", 'manage dependencies');
334
334
  _defineProperty(this, "options", []);
335
- _defineProperty(this, "group", 'info');
335
+ _defineProperty(this, "group", 'dependencies');
336
336
  _defineProperty(this, "commands", []);
337
337
  _defineProperty(this, "helpUrl", 'reference/dependencies/configuring-dependencies');
338
338
  }
@@ -352,7 +352,7 @@ class SetPeerCmd {
352
352
  name: 'range',
353
353
  description: 'the default range to use for the componnent, when added to peerDependencies'
354
354
  }]);
355
- _defineProperty(this, "group", 'info');
355
+ _defineProperty(this, "group", 'dependencies');
356
356
  _defineProperty(this, "description", 'set a component as always peer');
357
357
  _defineProperty(this, "alias", '');
358
358
  _defineProperty(this, "options", []);
@@ -371,7 +371,7 @@ class UnsetPeerCmd {
371
371
  name: 'component-id',
372
372
  description: 'the component to unset as always peer'
373
373
  }]);
374
- _defineProperty(this, "group", 'info');
374
+ _defineProperty(this, "group", 'dependencies');
375
375
  _defineProperty(this, "description", 'unset a component as always peer');
376
376
  _defineProperty(this, "alias", '');
377
377
  _defineProperty(this, "options", []);
@@ -387,7 +387,7 @@ class DependenciesWriteCmd {
387
387
  this.workspace = workspace;
388
388
  _defineProperty(this, "name", 'write');
389
389
  _defineProperty(this, "arguments", []);
390
- _defineProperty(this, "group", 'info');
390
+ _defineProperty(this, "group", 'dependencies');
391
391
  _defineProperty(this, "description", 'write all workspace component dependencies to package.json or workspace.jsonc, resolving conflicts by picking the ranges that match the highest versions');
392
392
  _defineProperty(this, "alias", '');
393
393
  _defineProperty(this, "options", [['', 'target <workspace.jsonc|package.json>', 'specify where the dependencies should be written. By default they are saved to workspace.jsonc']]);
@@ -1 +1 @@
1
- {"version":3,"names":["_cliTable","data","_interopRequireDefault","require","_chalk","_archy","_legacy","_template","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DependenciesGetCmd","constructor","deps","name","description","report","id","tree","scope","results","getDependencies","idWithVersion","getGraphAsTree","graph","graphAsTree","getDependenciesAsObjectTree","toString","archy","err","chalk","red","graphTree","depsInfo","getDependenciesInfo","length","toStringWithoutVersion","depsTable","generateDependenciesInfoTable","exports","DependenciesDebugCmd","debugDependencies","JSON","stringify","undefined","DependenciesSetCmd","COMPONENT_PATTERN_HELP","pattern","packages","setDepsFlags","changedComps","addedPackages","setDependency","green","bold","join","DependenciesRemoveCmd","removeDepsFlags","removeDependency","yellow","output","map","removedPackages","underline","DependenciesUnsetCmd","DependenciesResetCmd","reset","comps","DependenciesEjectCmd","eject","DependenciesBlameCmd","compName","depName","blame","table","Table","chars","top","bottom","left","mid","right","middle","style","snap","tag","author","date","message","version","push","DependenciesUsageCmd","options","deepUsageResult","usageDeep","usage","keys","compIdStr","WhyCmd","args","DependenciesCmd","unrecognizedSubcommand","SetPeerCmd","componentId","range","setPeer","UnsetPeerCmd","unsetPeer","DependenciesWriteCmd","workspace","_","writeDependencies","target"],"sources":["dependencies-cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport Table from 'cli-table';\nimport chalk from 'chalk';\nimport archy from 'archy';\nimport { ComponentIdGraph } from '@teambit/graph';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport { generateDependenciesInfoTable } from './template';\nimport { DependenciesMain } from './dependencies.main.runtime';\nimport { Workspace } from '@teambit/workspace';\n\ntype GetDependenciesFlags = {\n tree: boolean;\n scope?: boolean;\n};\n\nexport type SetDependenciesFlags = {\n dev?: boolean;\n optional?: boolean;\n peer?: boolean;\n};\n\nexport type RemoveDependenciesFlags = SetDependenciesFlags;\n\nexport class DependenciesGetCmd implements Command {\n name = 'get <component-name>';\n arguments = [{ name: 'component-name', description: 'component name or component id' }];\n group = 'info';\n description = 'show direct and indirect dependencies of the given component';\n alias = '';\n options = [\n ['', 'scope', 'get the data from the scope instead of the workspace'],\n ['t', 'tree', 'render dependencies as a tree, similar to \"npm ls\"'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([id]: [string], { tree = false, scope = false }: GetDependenciesFlags) {\n const results = await this.deps.getDependencies(id, scope);\n\n if (tree) {\n const idWithVersion = results.id;\n const getGraphAsTree = (graph: ComponentIdGraph) => {\n try {\n const graphAsTree = graph.getDependenciesAsObjectTree(idWithVersion.toString());\n return archy(graphAsTree);\n } catch (err: any) {\n if (err.constructor.name === 'RangeError') {\n return `${chalk.red(\n 'unable to generate a tree representation, the graph is too big or has cyclic dependencies'\n )}`;\n }\n throw err;\n }\n };\n const graphTree = getGraphAsTree(results.graph);\n return graphTree;\n }\n const depsInfo = results.graph.getDependenciesInfo(results.id);\n if (!depsInfo.length) {\n return `no dependencies found for ${results.id.toString()}.\ntry running \"bit cat-component ${results.id.toStringWithoutVersion()}\" to see whether the component/version exists locally`;\n }\n\n const depsTable = generateDependenciesInfoTable(depsInfo, results.id);\n return `${depsTable || '<none>'}`;\n }\n}\n\nexport class DependenciesDebugCmd implements Command {\n name = 'debug <component-name>';\n arguments = [{ name: 'component-name', description: 'component name or component id' }];\n group = 'info';\n description = 'show the immediate dependencies and how their versions were determined';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([id]: [string]) {\n const results = await this.deps.debugDependencies(id);\n return JSON.stringify(results, undefined, 4);\n }\n}\n\nexport class DependenciesSetCmd implements Command {\n name = 'set <component-pattern> <package...>';\n arguments = [\n { name: 'component-pattern', description: COMPONENT_PATTERN_HELP },\n {\n name: 'package...',\n description:\n 'package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will be resolved to the latest',\n },\n ];\n group = 'info';\n description = 'set a dependency to component(s)';\n alias = '';\n options = [\n ['d', 'dev', 'add to the devDependencies'],\n ['o', 'optional', 'add to the optionalDependencies'],\n ['p', 'peer', 'add to the peerDependencies'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]], setDepsFlags: SetDependenciesFlags) {\n const { changedComps, addedPackages } = await this.deps.setDependency(pattern, packages, setDepsFlags);\n\n return `${chalk.green('successfully updated dependencies')}\n${chalk.bold('changed components')}\n${changedComps.join('\\n')}\n\n${chalk.bold('added packages')}\n${JSON.stringify(addedPackages, undefined, 4)}`;\n }\n}\n\nexport class DependenciesRemoveCmd implements Command {\n name = 'remove <component-pattern> <package...>';\n arguments = [\n { name: 'component-pattern', description: COMPONENT_PATTERN_HELP },\n {\n name: 'package...',\n description:\n 'package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will remove all lodash instances of any version',\n },\n ];\n group = 'info';\n description = 'remove a dependency from one or more components';\n extendedDescription = `this command removes the dependency whether it was set by 'bit deps set'/variants or by auto-detection.\nif the dependency was auto-detected, it will be marked with a minus sign in the .bitmap file.\notherwise, the config is written to .bitmap without the dependency.\nsee also 'bit deps unset'`;\n alias = '';\n options = [\n ['d', 'dev', 'remove from devDependencies'],\n ['p', 'peer', 'remove from peerDependencies'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]], removeDepsFlags: RemoveDependenciesFlags) {\n const results = await this.deps.removeDependency(pattern, packages, removeDepsFlags);\n if (!results.length) {\n return chalk.yellow('the specified component-pattern do not use the entered packages. nothing to remove');\n }\n\n const output = results\n .map(({ id, removedPackages }) => `${chalk.underline(id.toString())}\\n${removedPackages.join('\\n')}`)\n .join('\\n\\n');\n\n return `${chalk.green('successfully removed dependencies')}\\n${output}`;\n }\n}\n\nexport class DependenciesUnsetCmd implements Command {\n name = 'unset <component-pattern> <package...>';\n arguments = [\n { name: 'component-pattern', description: COMPONENT_PATTERN_HELP },\n {\n name: 'package...',\n description:\n 'package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will remove all lodash instances of any version',\n },\n ];\n group = 'info';\n description = 'unset a dependency to component(s) that was set via config (e.g. \"bit deps set\" or variants)';\n extendedDescription = `this command removes the dependency only when it was set by config not if it was auto detected.\nin the .bitmap file, the config is written without the dependency.\nsee also \"bit deps remove\"`;\n alias = '';\n options = [\n ['d', 'dev', 'unset from devDependencies'],\n ['p', 'peer', 'unset from peerDependencies'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]], removeDepsFlags: RemoveDependenciesFlags) {\n const results = await this.deps.removeDependency(pattern, packages, removeDepsFlags, true);\n if (!results.length) {\n return chalk.yellow('the specified component-pattern do not use the entered packages. nothing to unset');\n }\n\n const output = results\n .map(({ id, removedPackages }) => `${chalk.underline(id.toString())}\\n${removedPackages.join('\\n')}`)\n .join('\\n\\n');\n\n return `${chalk.green('successfully unset dependencies')}\\n${output}`;\n }\n}\n\nexport class DependenciesResetCmd implements Command {\n name = 'reset <component-pattern>';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'info';\n description = 'reset dependencies to the default values (revert any previously \"bit deps set\")';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern]: [string]) {\n const results = await this.deps.reset(pattern);\n const comps = results.map((id) => id.toString());\n\n return `${chalk.green('successfully reset dependencies for the following component(s)')}\\n${comps}`;\n }\n}\n\nexport class DependenciesEjectCmd implements Command {\n name = 'eject <component-pattern>';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'info';\n description = 'write dependencies that were previously set via \"bit deps set\" into .bitmap';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern]: [string]) {\n const results = await this.deps.eject(pattern);\n const comps = results.map((id) => id.toString());\n\n return `${chalk.green('successfully ejected dependencies for the following component(s)')}\\n${comps}`;\n }\n}\n\nexport class DependenciesBlameCmd implements Command {\n name = 'blame <component-name> <dependency-name>';\n arguments = [\n {\n name: 'dependency-name',\n description: 'package-name. for components, you can use either component-id or package-name',\n },\n ];\n group = 'info';\n description = 'find out which snap/tag changed a dependency version';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([compName, depName]: [string, string]) {\n const results = await this.deps.blame(compName, depName);\n if (!results.length) {\n return chalk.yellow(`the specified component ${compName} does not use the entered dependency ${depName}`);\n }\n // table with no style and no borders, just to align the columns.\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n middle: ' ',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n });\n\n results.map(({ snap, tag, author, date, message, version }) =>\n table.push([snap, tag || '', author, date, message, version])\n );\n\n return table.toString();\n }\n}\n\ntype DependenciesUsageCmdOptions = {\n depth?: number;\n};\n\nexport class DependenciesUsageCmd implements Command {\n name = 'usage <dependency-name>';\n arguments = [\n {\n name: 'dependency-name',\n description:\n 'package-name. for components, you can use either component-id or package-name. if version is specified, it will search for the exact version',\n },\n ];\n group = 'info';\n description = 'find components that use the specified dependency';\n alias = '';\n options = [['', 'depth <number>', 'max display depth of the dependency graph']] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([depName]: [string], options: DependenciesUsageCmdOptions) {\n const deepUsageResult = await this.deps.usageDeep(depName, options);\n if (deepUsageResult != null) return deepUsageResult;\n const results = await this.deps.usage(depName);\n if (!Object.keys(results).length) {\n return chalk.yellow(`the specified dependency ${depName} is not used by any component`);\n }\n return Object.keys(results)\n .map((compIdStr) => `${chalk.bold(compIdStr)} (using dep in version ${results[compIdStr]})`)\n .join('\\n');\n }\n}\n\nexport class WhyCmd extends DependenciesUsageCmd {\n name = 'why <dependency-name>';\n}\n\nexport class DependenciesCmd implements Command {\n name = 'deps <sub-command>';\n alias = 'dependencies';\n description = 'manage dependencies';\n options = [];\n group = 'info';\n commands: Command[] = [];\n helpUrl = 'reference/dependencies/configuring-dependencies';\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"dependencies\", please run \"bit dependencies --help\" to list the subcommands`\n );\n }\n}\n\nexport class SetPeerCmd implements Command {\n name = 'set-peer <component-id> <range>';\n arguments = [\n { name: 'component-id', description: 'the component to set as always peer' },\n {\n name: 'range',\n description: 'the default range to use for the componnent, when added to peerDependencies',\n },\n ];\n group = 'info';\n description = 'set a component as always peer';\n alias = '';\n options = [];\n\n constructor(private deps: DependenciesMain) {}\n\n async report([componentId, range]: [string, string]) {\n await this.deps.setPeer(componentId, range != null ? range.toString() : range);\n return `${chalk.green('successfully marked the component as a peer component')}`;\n }\n}\n\nexport class UnsetPeerCmd implements Command {\n name = 'unset-peer <component-id>';\n arguments = [{ name: 'component-id', description: 'the component to unset as always peer' }];\n group = 'info';\n description = 'unset a component as always peer';\n alias = '';\n options = [];\n\n constructor(private deps: DependenciesMain) {}\n\n async report([componentId]: [string]) {\n await this.deps.unsetPeer(componentId);\n return `${chalk.green('successfully marked the component as not a peer component')}`;\n }\n}\n\ntype DependenciesWriteCmdOptions = {\n target?: 'workspace.jsonc' | 'package.json';\n};\n\nexport class DependenciesWriteCmd implements Command {\n name = 'write';\n arguments = [];\n group = 'info';\n description = 'write all workspace component dependencies to package.json or workspace.jsonc, resolving conflicts by picking the ranges that match the highest versions';\n alias = '';\n options = [['', 'target <workspace.jsonc|package.json>', 'specify where the dependencies should be written. By default they are saved to workspace.jsonc']] as CommandOptions;\n\n constructor(private workspace: Workspace) {}\n\n async report(_, options: DependenciesWriteCmdOptions) {\n await this.workspace.writeDependencies(options.target);\n return '';\n }\n}\n"],"mappings":";;;;;;AAEA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,UAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,SAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2D,SAAAC,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA,KAP3D;AAwBO,MAAMgB,kBAAkB,CAAoB;EAWjDC,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAVnC,sBAAsB;IAAAA,eAAA,oBACjB,CAAC;MAAEqB,IAAI,EAAE,gBAAgB;MAAEC,WAAW,EAAE;IAAiC,CAAC,CAAC;IAAAtB,eAAA,gBAC/E,MAAM;IAAAA,eAAA,sBACA,8DAA8D;IAAAA,eAAA,gBACpE,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,EAAE,EAAE,OAAO,EAAE,sDAAsD,CAAC,EACrE,CAAC,GAAG,EAAE,MAAM,EAAE,oDAAoD,CAAC,CACpE;EAE4C;EAE7C,MAAMuB,MAAMA,CAAC,CAACC,EAAE,CAAW,EAAE;IAAEC,IAAI,GAAG,KAAK;IAAEC,KAAK,GAAG;EAA4B,CAAC,EAAE;IAClF,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAACQ,eAAe,CAACJ,EAAE,EAAEE,KAAK,CAAC;IAE1D,IAAID,IAAI,EAAE;MACR,MAAMI,aAAa,GAAGF,OAAO,CAACH,EAAE;MAChC,MAAMM,cAAc,GAAIC,KAAuB,IAAK;QAClD,IAAI;UACF,MAAMC,WAAW,GAAGD,KAAK,CAACE,2BAA2B,CAACJ,aAAa,CAACK,QAAQ,CAAC,CAAC,CAAC;UAC/E,OAAO,IAAAC,gBAAK,EAACH,WAAW,CAAC;QAC3B,CAAC,CAAC,OAAOI,GAAQ,EAAE;UACjB,IAAIA,GAAG,CAACjB,WAAW,CAACE,IAAI,KAAK,YAAY,EAAE;YACzC,OAAO,GAAGgB,gBAAK,CAACC,GAAG,CACjB,2FACF,CAAC,EAAE;UACL;UACA,MAAMF,GAAG;QACX;MACF,CAAC;MACD,MAAMG,SAAS,GAAGT,cAAc,CAACH,OAAO,CAACI,KAAK,CAAC;MAC/C,OAAOQ,SAAS;IAClB;IACA,MAAMC,QAAQ,GAAGb,OAAO,CAACI,KAAK,CAACU,mBAAmB,CAACd,OAAO,CAACH,EAAE,CAAC;IAC9D,IAAI,CAACgB,QAAQ,CAACE,MAAM,EAAE;MACpB,OAAO,6BAA6Bf,OAAO,CAACH,EAAE,CAACU,QAAQ,CAAC,CAAC;AAC/D,iCAAiCP,OAAO,CAACH,EAAE,CAACmB,sBAAsB,CAAC,CAAC,uDAAuD;IACvH;IAEA,MAAMC,SAAS,GAAG,IAAAC,yCAA6B,EAACL,QAAQ,EAAEb,OAAO,CAACH,EAAE,CAAC;IACrE,OAAO,GAAGoB,SAAS,IAAI,QAAQ,EAAE;EACnC;AACF;AAACE,OAAA,CAAA5B,kBAAA,GAAAA,kBAAA;AAEM,MAAM6B,oBAAoB,CAAoB;EAQnD5B,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAPnC,wBAAwB;IAAAA,eAAA,oBACnB,CAAC;MAAEqB,IAAI,EAAE,gBAAgB;MAAEC,WAAW,EAAE;IAAiC,CAAC,CAAC;IAAAtB,eAAA,gBAC/E,MAAM;IAAAA,eAAA,sBACA,wEAAwE;IAAAA,eAAA,gBAC9E,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAACC,EAAE,CAAW,EAAE;IAC3B,MAAMG,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAAC4B,iBAAiB,CAACxB,EAAE,CAAC;IACrD,OAAOyB,IAAI,CAACC,SAAS,CAACvB,OAAO,EAAEwB,SAAS,EAAE,CAAC,CAAC;EAC9C;AACF;AAACL,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AAEM,MAAMK,kBAAkB,CAAoB;EAmBjDjC,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAlBnC,sCAAsC;IAAAA,eAAA,oBACjC,CACV;MAAEqB,IAAI,EAAE,mBAAmB;MAAEC,WAAW,EAAE+B;IAAuB,CAAC,EAClE;MACEhC,IAAI,EAAE,YAAY;MAClBC,WAAW,EACT;IACJ,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,kCAAkC;IAAAA,eAAA,gBACxC,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,GAAG,EAAE,KAAK,EAAE,4BAA4B,CAAC,EAC1C,CAAC,GAAG,EAAE,UAAU,EAAE,iCAAiC,CAAC,EACpD,CAAC,GAAG,EAAE,MAAM,EAAE,6BAA6B,CAAC,CAC7C;EAE4C;EAE7C,MAAMuB,MAAMA,CAAC,CAAC+B,OAAO,EAAEC,QAAQ,CAAqB,EAAEC,YAAkC,EAAE;IACxF,MAAM;MAAEC,YAAY;MAAEC;IAAc,CAAC,GAAG,MAAM,IAAI,CAACtC,IAAI,CAACuC,aAAa,CAACL,OAAO,EAAEC,QAAQ,EAAEC,YAAY,CAAC;IAEtG,OAAO,GAAGnB,gBAAK,CAACuB,KAAK,CAAC,mCAAmC,CAAC;AAC9D,EAAEvB,gBAAK,CAACwB,IAAI,CAAC,oBAAoB,CAAC;AAClC,EAAEJ,YAAY,CAACK,IAAI,CAAC,IAAI,CAAC;AACzB;AACA,EAAEzB,gBAAK,CAACwB,IAAI,CAAC,gBAAgB,CAAC;AAC9B,EAAEZ,IAAI,CAACC,SAAS,CAACQ,aAAa,EAAEP,SAAS,EAAE,CAAC,CAAC,EAAE;EAC7C;AACF;AAACL,OAAA,CAAAM,kBAAA,GAAAA,kBAAA;AAEM,MAAMW,qBAAqB,CAAoB;EAsBpD5C,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eArBnC,yCAAyC;IAAAA,eAAA,oBACpC,CACV;MAAEqB,IAAI,EAAE,mBAAmB;MAAEC,WAAW,EAAE+B;IAAuB,CAAC,EAClE;MACEhC,IAAI,EAAE,YAAY;MAClBC,WAAW,EACT;IACJ,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,iDAAiD;IAAAA,eAAA,8BACzC;AACxB;AACA;AACA,0BAA0B;IAAAA,eAAA,gBAChB,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,GAAG,EAAE,KAAK,EAAE,6BAA6B,CAAC,EAC3C,CAAC,GAAG,EAAE,MAAM,EAAE,8BAA8B,CAAC,CAC9C;EAE4C;EAE7C,MAAMuB,MAAMA,CAAC,CAAC+B,OAAO,EAAEC,QAAQ,CAAqB,EAAES,eAAwC,EAAE;IAC9F,MAAMrC,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAAC6C,gBAAgB,CAACX,OAAO,EAAEC,QAAQ,EAAES,eAAe,CAAC;IACpF,IAAI,CAACrC,OAAO,CAACe,MAAM,EAAE;MACnB,OAAOL,gBAAK,CAAC6B,MAAM,CAAC,oFAAoF,CAAC;IAC3G;IAEA,MAAMC,MAAM,GAAGxC,OAAO,CACnByC,GAAG,CAAC,CAAC;MAAE5C,EAAE;MAAE6C;IAAgB,CAAC,KAAK,GAAGhC,gBAAK,CAACiC,SAAS,CAAC9C,EAAE,CAACU,QAAQ,CAAC,CAAC,CAAC,KAAKmC,eAAe,CAACP,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACpGA,IAAI,CAAC,MAAM,CAAC;IAEf,OAAO,GAAGzB,gBAAK,CAACuB,KAAK,CAAC,mCAAmC,CAAC,KAAKO,MAAM,EAAE;EACzE;AACF;AAACrB,OAAA,CAAAiB,qBAAA,GAAAA,qBAAA;AAEM,MAAMQ,oBAAoB,CAAoB;EAqBnDpD,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eApBnC,wCAAwC;IAAAA,eAAA,oBACnC,CACV;MAAEqB,IAAI,EAAE,mBAAmB;MAAEC,WAAW,EAAE+B;IAAuB,CAAC,EAClE;MACEhC,IAAI,EAAE,YAAY;MAClBC,WAAW,EACT;IACJ,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,8FAA8F;IAAAA,eAAA,8BACtF;AACxB;AACA,2BAA2B;IAAAA,eAAA,gBACjB,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,GAAG,EAAE,KAAK,EAAE,4BAA4B,CAAC,EAC1C,CAAC,GAAG,EAAE,MAAM,EAAE,6BAA6B,CAAC,CAC7C;EAE4C;EAE7C,MAAMuB,MAAMA,CAAC,CAAC+B,OAAO,EAAEC,QAAQ,CAAqB,EAAES,eAAwC,EAAE;IAC9F,MAAMrC,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAAC6C,gBAAgB,CAACX,OAAO,EAAEC,QAAQ,EAAES,eAAe,EAAE,IAAI,CAAC;IAC1F,IAAI,CAACrC,OAAO,CAACe,MAAM,EAAE;MACnB,OAAOL,gBAAK,CAAC6B,MAAM,CAAC,mFAAmF,CAAC;IAC1G;IAEA,MAAMC,MAAM,GAAGxC,OAAO,CACnByC,GAAG,CAAC,CAAC;MAAE5C,EAAE;MAAE6C;IAAgB,CAAC,KAAK,GAAGhC,gBAAK,CAACiC,SAAS,CAAC9C,EAAE,CAACU,QAAQ,CAAC,CAAC,CAAC,KAAKmC,eAAe,CAACP,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACpGA,IAAI,CAAC,MAAM,CAAC;IAEf,OAAO,GAAGzB,gBAAK,CAACuB,KAAK,CAAC,iCAAiC,CAAC,KAAKO,MAAM,EAAE;EACvE;AACF;AAACrB,OAAA,CAAAyB,oBAAA,GAAAA,oBAAA;AAEM,MAAMC,oBAAoB,CAAoB;EAQnDrD,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAPnC,2BAA2B;IAAAA,eAAA,oBACtB,CAAC;MAAEqB,IAAI,EAAE,mBAAmB;MAAEC,WAAW,EAAE+B;IAAuB,CAAC,CAAC;IAAArD,eAAA,gBACxE,MAAM;IAAAA,eAAA,sBACA,iFAAiF;IAAAA,eAAA,gBACvF,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAAC+B,OAAO,CAAW,EAAE;IAChC,MAAM3B,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAACqD,KAAK,CAACnB,OAAO,CAAC;IAC9C,MAAMoB,KAAK,GAAG/C,OAAO,CAACyC,GAAG,CAAE5C,EAAE,IAAKA,EAAE,CAACU,QAAQ,CAAC,CAAC,CAAC;IAEhD,OAAO,GAAGG,gBAAK,CAACuB,KAAK,CAAC,gEAAgE,CAAC,KAAKc,KAAK,EAAE;EACrG;AACF;AAAC5B,OAAA,CAAA0B,oBAAA,GAAAA,oBAAA;AAEM,MAAMG,oBAAoB,CAAoB;EAQnDxD,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAPnC,2BAA2B;IAAAA,eAAA,oBACtB,CAAC;MAAEqB,IAAI,EAAE,mBAAmB;MAAEC,WAAW,EAAE+B;IAAuB,CAAC,CAAC;IAAArD,eAAA,gBACxE,MAAM;IAAAA,eAAA,sBACA,6EAA6E;IAAAA,eAAA,gBACnF,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAAC+B,OAAO,CAAW,EAAE;IAChC,MAAM3B,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAACwD,KAAK,CAACtB,OAAO,CAAC;IAC9C,MAAMoB,KAAK,GAAG/C,OAAO,CAACyC,GAAG,CAAE5C,EAAE,IAAKA,EAAE,CAACU,QAAQ,CAAC,CAAC,CAAC;IAEhD,OAAO,GAAGG,gBAAK,CAACuB,KAAK,CAAC,kEAAkE,CAAC,KAAKc,KAAK,EAAE;EACvG;AACF;AAAC5B,OAAA,CAAA6B,oBAAA,GAAAA,oBAAA;AAEM,MAAME,oBAAoB,CAAoB;EAanD1D,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAZnC,0CAA0C;IAAAA,eAAA,oBACrC,CACV;MACEqB,IAAI,EAAE,iBAAiB;MACvBC,WAAW,EAAE;IACf,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,sDAAsD;IAAAA,eAAA,gBAC5D,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAACuD,QAAQ,EAAEC,OAAO,CAAmB,EAAE;IAClD,MAAMpD,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAAC4D,KAAK,CAACF,QAAQ,EAAEC,OAAO,CAAC;IACxD,IAAI,CAACpD,OAAO,CAACe,MAAM,EAAE;MACnB,OAAOL,gBAAK,CAAC6B,MAAM,CAAC,2BAA2BY,QAAQ,wCAAwCC,OAAO,EAAE,CAAC;IAC3G;IACA;IACA,MAAME,KAAK,GAAG,KAAIC,mBAAK,EAAC;MACtBC,KAAK,EAAE;QACLC,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACfC,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;QAClBC,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,EAAE;QACdC,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,EAAE;QACbC,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACfC,MAAM,EAAE;MACV,CAAC;MACDC,KAAK,EAAE;QAAE,cAAc,EAAE,CAAC;QAAE,eAAe,EAAE;MAAE;IACjD,CAAC,CAAC;IAEF/D,OAAO,CAACyC,GAAG,CAAC,CAAC;MAAEuB,IAAI;MAAEC,GAAG;MAAEC,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC;IAAQ,CAAC,KACxDf,KAAK,CAACgB,IAAI,CAAC,CAACN,IAAI,EAAEC,GAAG,IAAI,EAAE,EAAEC,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,OAAO,CAAC,CAC9D,CAAC;IAED,OAAOf,KAAK,CAAC/C,QAAQ,CAAC,CAAC;EACzB;AACF;AAACY,OAAA,CAAA+B,oBAAA,GAAAA,oBAAA;AAMM,MAAMqB,oBAAoB,CAAoB;EAcnD/E,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAbnC,yBAAyB;IAAAA,eAAA,oBACpB,CACV;MACEqB,IAAI,EAAE,iBAAiB;MACvBC,WAAW,EACT;IACJ,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,mDAAmD;IAAAA,eAAA,gBACzD,EAAE;IAAAA,eAAA,kBACA,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,2CAA2C,CAAC,CAAC;EAElC;EAE7C,MAAMuB,MAAMA,CAAC,CAACwD,OAAO,CAAW,EAAEoB,OAAoC,EAAE;IACtE,MAAMC,eAAe,GAAG,MAAM,IAAI,CAAChF,IAAI,CAACiF,SAAS,CAACtB,OAAO,EAAEoB,OAAO,CAAC;IACnE,IAAIC,eAAe,IAAI,IAAI,EAAE,OAAOA,eAAe;IACnD,MAAMzE,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAACkF,KAAK,CAACvB,OAAO,CAAC;IAC9C,IAAI,CAAC3E,MAAM,CAACmG,IAAI,CAAC5E,OAAO,CAAC,CAACe,MAAM,EAAE;MAChC,OAAOL,gBAAK,CAAC6B,MAAM,CAAC,4BAA4Ba,OAAO,+BAA+B,CAAC;IACzF;IACA,OAAO3E,MAAM,CAACmG,IAAI,CAAC5E,OAAO,CAAC,CACxByC,GAAG,CAAEoC,SAAS,IAAK,GAAGnE,gBAAK,CAACwB,IAAI,CAAC2C,SAAS,CAAC,0BAA0B7E,OAAO,CAAC6E,SAAS,CAAC,GAAG,CAAC,CAC3F1C,IAAI,CAAC,IAAI,CAAC;EACf;AACF;AAAChB,OAAA,CAAAoD,oBAAA,GAAAA,oBAAA;AAEM,MAAMO,MAAM,SAASP,oBAAoB,CAAC;EAAA/E,YAAA,GAAAuF,IAAA;IAAA,SAAAA,IAAA;IAAA1G,eAAA,eACxC,uBAAuB;EAAA;AAChC;AAAC8C,OAAA,CAAA2D,MAAA,GAAAA,MAAA;AAEM,MAAME,eAAe,CAAoB;EAAAxF,YAAA;IAAAnB,eAAA,eACvC,oBAAoB;IAAAA,eAAA,gBACnB,cAAc;IAAAA,eAAA,sBACR,qBAAqB;IAAAA,eAAA,kBACzB,EAAE;IAAAA,eAAA,gBACJ,MAAM;IAAAA,eAAA,mBACQ,EAAE;IAAAA,eAAA,kBACd,iDAAiD;EAAA;EAE3D,MAAMuB,MAAMA,CAAC,CAACqF,sBAAsB,CAAW,EAAE;IAC/C,OAAOvE,gBAAK,CAACC,GAAG,CACd,IAAIsE,sBAAsB,uGAC5B,CAAC;EACH;AACF;AAAC9D,OAAA,CAAA6D,eAAA,GAAAA,eAAA;AAEM,MAAME,UAAU,CAAoB;EAczC1F,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAbnC,iCAAiC;IAAAA,eAAA,oBAC5B,CACV;MAAEqB,IAAI,EAAE,cAAc;MAAEC,WAAW,EAAE;IAAsC,CAAC,EAC5E;MACED,IAAI,EAAE,OAAO;MACbC,WAAW,EAAE;IACf,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,gCAAgC;IAAAA,eAAA,gBACtC,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAACuF,WAAW,EAAEC,KAAK,CAAmB,EAAE;IACnD,MAAM,IAAI,CAAC3F,IAAI,CAAC4F,OAAO,CAACF,WAAW,EAAEC,KAAK,IAAI,IAAI,GAAGA,KAAK,CAAC7E,QAAQ,CAAC,CAAC,GAAG6E,KAAK,CAAC;IAC9E,OAAO,GAAG1E,gBAAK,CAACuB,KAAK,CAAC,uDAAuD,CAAC,EAAE;EAClF;AACF;AAACd,OAAA,CAAA+D,UAAA,GAAAA,UAAA;AAEM,MAAMI,YAAY,CAAoB;EAQ3C9F,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAPnC,2BAA2B;IAAAA,eAAA,oBACtB,CAAC;MAAEqB,IAAI,EAAE,cAAc;MAAEC,WAAW,EAAE;IAAwC,CAAC,CAAC;IAAAtB,eAAA,gBACpF,MAAM;IAAAA,eAAA,sBACA,kCAAkC;IAAAA,eAAA,gBACxC,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAACuF,WAAW,CAAW,EAAE;IACpC,MAAM,IAAI,CAAC1F,IAAI,CAAC8F,SAAS,CAACJ,WAAW,CAAC;IACtC,OAAO,GAAGzE,gBAAK,CAACuB,KAAK,CAAC,2DAA2D,CAAC,EAAE;EACtF;AACF;AAACd,OAAA,CAAAmE,YAAA,GAAAA,YAAA;AAMM,MAAME,oBAAoB,CAAoB;EAQnDhG,WAAWA,CAASiG,SAAoB,EAAE;IAAA,KAAtBA,SAAoB,GAApBA,SAAoB;IAAApH,eAAA,eAPjC,OAAO;IAAAA,eAAA,oBACF,EAAE;IAAAA,eAAA,gBACN,MAAM;IAAAA,eAAA,sBACA,0JAA0J;IAAAA,eAAA,gBAChK,EAAE;IAAAA,eAAA,kBACA,CAAC,CAAC,EAAE,EAAE,uCAAuC,EAAE,gGAAgG,CAAC,CAAC;EAEhH;EAE3C,MAAMuB,MAAMA,CAAC8F,CAAC,EAAElB,OAAoC,EAAE;IACpD,MAAM,IAAI,CAACiB,SAAS,CAACE,iBAAiB,CAACnB,OAAO,CAACoB,MAAM,CAAC;IACtD,OAAO,EAAE;EACX;AACF;AAACzE,OAAA,CAAAqE,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_cliTable","data","_interopRequireDefault","require","_chalk","_archy","_legacy","_template","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DependenciesGetCmd","constructor","deps","name","description","report","id","tree","scope","results","getDependencies","idWithVersion","getGraphAsTree","graph","graphAsTree","getDependenciesAsObjectTree","toString","archy","err","chalk","red","graphTree","depsInfo","getDependenciesInfo","length","toStringWithoutVersion","depsTable","generateDependenciesInfoTable","exports","DependenciesDebugCmd","debugDependencies","JSON","stringify","undefined","DependenciesSetCmd","COMPONENT_PATTERN_HELP","pattern","packages","setDepsFlags","changedComps","addedPackages","setDependency","green","bold","join","DependenciesRemoveCmd","removeDepsFlags","removeDependency","yellow","output","map","removedPackages","underline","DependenciesUnsetCmd","DependenciesResetCmd","reset","comps","DependenciesEjectCmd","eject","DependenciesBlameCmd","compName","depName","blame","table","Table","chars","top","bottom","left","mid","right","middle","style","snap","tag","author","date","message","version","push","DependenciesUsageCmd","options","deepUsageResult","usageDeep","usage","keys","compIdStr","WhyCmd","args","DependenciesCmd","unrecognizedSubcommand","SetPeerCmd","componentId","range","setPeer","UnsetPeerCmd","unsetPeer","DependenciesWriteCmd","workspace","_","writeDependencies","target"],"sources":["dependencies-cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport Table from 'cli-table';\nimport chalk from 'chalk';\nimport archy from 'archy';\nimport { ComponentIdGraph } from '@teambit/graph';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport { generateDependenciesInfoTable } from './template';\nimport { DependenciesMain } from './dependencies.main.runtime';\nimport { Workspace } from '@teambit/workspace';\n\ntype GetDependenciesFlags = {\n tree: boolean;\n scope?: boolean;\n};\n\nexport type SetDependenciesFlags = {\n dev?: boolean;\n optional?: boolean;\n peer?: boolean;\n};\n\nexport type RemoveDependenciesFlags = SetDependenciesFlags;\n\nexport class DependenciesGetCmd implements Command {\n name = 'get <component-name>';\n arguments = [{ name: 'component-name', description: 'component name or component id' }];\n group = 'info-analysis';\n description = 'show direct and indirect dependencies of the given component';\n alias = '';\n options = [\n ['', 'scope', 'get the data from the scope instead of the workspace'],\n ['t', 'tree', 'render dependencies as a tree, similar to \"npm ls\"'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([id]: [string], { tree = false, scope = false }: GetDependenciesFlags) {\n const results = await this.deps.getDependencies(id, scope);\n\n if (tree) {\n const idWithVersion = results.id;\n const getGraphAsTree = (graph: ComponentIdGraph) => {\n try {\n const graphAsTree = graph.getDependenciesAsObjectTree(idWithVersion.toString());\n return archy(graphAsTree);\n } catch (err: any) {\n if (err.constructor.name === 'RangeError') {\n return `${chalk.red(\n 'unable to generate a tree representation, the graph is too big or has cyclic dependencies'\n )}`;\n }\n throw err;\n }\n };\n const graphTree = getGraphAsTree(results.graph);\n return graphTree;\n }\n const depsInfo = results.graph.getDependenciesInfo(results.id);\n if (!depsInfo.length) {\n return `no dependencies found for ${results.id.toString()}.\ntry running \"bit cat-component ${results.id.toStringWithoutVersion()}\" to see whether the component/version exists locally`;\n }\n\n const depsTable = generateDependenciesInfoTable(depsInfo, results.id);\n return `${depsTable || '<none>'}`;\n }\n}\n\nexport class DependenciesDebugCmd implements Command {\n name = 'debug <component-name>';\n arguments = [{ name: 'component-name', description: 'component name or component id' }];\n group = 'info-analysis';\n description = 'show the immediate dependencies and how their versions were determined';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([id]: [string]) {\n const results = await this.deps.debugDependencies(id);\n return JSON.stringify(results, undefined, 4);\n }\n}\n\nexport class DependenciesSetCmd implements Command {\n name = 'set <component-pattern> <package...>';\n arguments = [\n { name: 'component-pattern', description: COMPONENT_PATTERN_HELP },\n {\n name: 'package...',\n description:\n 'package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will be resolved to the latest',\n },\n ];\n group = 'dependencies';\n description = 'set a dependency to component(s)';\n alias = '';\n options = [\n ['d', 'dev', 'add to the devDependencies'],\n ['o', 'optional', 'add to the optionalDependencies'],\n ['p', 'peer', 'add to the peerDependencies'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]], setDepsFlags: SetDependenciesFlags) {\n const { changedComps, addedPackages } = await this.deps.setDependency(pattern, packages, setDepsFlags);\n\n return `${chalk.green('successfully updated dependencies')}\n${chalk.bold('changed components')}\n${changedComps.join('\\n')}\n\n${chalk.bold('added packages')}\n${JSON.stringify(addedPackages, undefined, 4)}`;\n }\n}\n\nexport class DependenciesRemoveCmd implements Command {\n name = 'remove <component-pattern> <package...>';\n arguments = [\n { name: 'component-pattern', description: COMPONENT_PATTERN_HELP },\n {\n name: 'package...',\n description:\n 'package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will remove all lodash instances of any version',\n },\n ];\n group = 'dependencies';\n description = 'remove a dependency from one or more components';\n extendedDescription = `this command removes the dependency whether it was set by 'bit deps set'/variants or by auto-detection.\nif the dependency was auto-detected, it will be marked with a minus sign in the .bitmap file.\notherwise, the config is written to .bitmap without the dependency.\nsee also 'bit deps unset'`;\n alias = '';\n options = [\n ['d', 'dev', 'remove from devDependencies'],\n ['p', 'peer', 'remove from peerDependencies'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]], removeDepsFlags: RemoveDependenciesFlags) {\n const results = await this.deps.removeDependency(pattern, packages, removeDepsFlags);\n if (!results.length) {\n return chalk.yellow('the specified component-pattern do not use the entered packages. nothing to remove');\n }\n\n const output = results\n .map(({ id, removedPackages }) => `${chalk.underline(id.toString())}\\n${removedPackages.join('\\n')}`)\n .join('\\n\\n');\n\n return `${chalk.green('successfully removed dependencies')}\\n${output}`;\n }\n}\n\nexport class DependenciesUnsetCmd implements Command {\n name = 'unset <component-pattern> <package...>';\n arguments = [\n { name: 'component-pattern', description: COMPONENT_PATTERN_HELP },\n {\n name: 'package...',\n description:\n 'package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will remove all lodash instances of any version',\n },\n ];\n group = 'dependencies';\n description = 'unset a dependency to component(s) that was set via config (e.g. \"bit deps set\" or variants)';\n extendedDescription = `this command removes the dependency only when it was set by config not if it was auto detected.\nin the .bitmap file, the config is written without the dependency.\nsee also \"bit deps remove\"`;\n alias = '';\n options = [\n ['d', 'dev', 'unset from devDependencies'],\n ['p', 'peer', 'unset from peerDependencies'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]], removeDepsFlags: RemoveDependenciesFlags) {\n const results = await this.deps.removeDependency(pattern, packages, removeDepsFlags, true);\n if (!results.length) {\n return chalk.yellow('the specified component-pattern do not use the entered packages. nothing to unset');\n }\n\n const output = results\n .map(({ id, removedPackages }) => `${chalk.underline(id.toString())}\\n${removedPackages.join('\\n')}`)\n .join('\\n\\n');\n\n return `${chalk.green('successfully unset dependencies')}\\n${output}`;\n }\n}\n\nexport class DependenciesResetCmd implements Command {\n name = 'reset <component-pattern>';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'dependencies';\n description = 'reset dependencies to the default values (revert any previously \"bit deps set\")';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern]: [string]) {\n const results = await this.deps.reset(pattern);\n const comps = results.map((id) => id.toString());\n\n return `${chalk.green('successfully reset dependencies for the following component(s)')}\\n${comps}`;\n }\n}\n\nexport class DependenciesEjectCmd implements Command {\n name = 'eject <component-pattern>';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'dependencies';\n description = 'write dependencies that were previously set via \"bit deps set\" into .bitmap';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern]: [string]) {\n const results = await this.deps.eject(pattern);\n const comps = results.map((id) => id.toString());\n\n return `${chalk.green('successfully ejected dependencies for the following component(s)')}\\n${comps}`;\n }\n}\n\nexport class DependenciesBlameCmd implements Command {\n name = 'blame <component-name> <dependency-name>';\n arguments = [\n {\n name: 'dependency-name',\n description: 'package-name. for components, you can use either component-id or package-name',\n },\n ];\n group = 'info-analysis';\n description = 'find out which snap/tag changed a dependency version';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([compName, depName]: [string, string]) {\n const results = await this.deps.blame(compName, depName);\n if (!results.length) {\n return chalk.yellow(`the specified component ${compName} does not use the entered dependency ${depName}`);\n }\n // table with no style and no borders, just to align the columns.\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n middle: ' ',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n });\n\n results.map(({ snap, tag, author, date, message, version }) =>\n table.push([snap, tag || '', author, date, message, version])\n );\n\n return table.toString();\n }\n}\n\ntype DependenciesUsageCmdOptions = {\n depth?: number;\n};\n\nexport class DependenciesUsageCmd implements Command {\n name = 'usage <dependency-name>';\n arguments = [\n {\n name: 'dependency-name',\n description:\n 'package-name. for components, you can use either component-id or package-name. if version is specified, it will search for the exact version',\n },\n ];\n group = 'dependencies';\n description = 'find components that use the specified dependency';\n alias = '';\n options = [['', 'depth <number>', 'max display depth of the dependency graph']] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([depName]: [string], options: DependenciesUsageCmdOptions) {\n const deepUsageResult = await this.deps.usageDeep(depName, options);\n if (deepUsageResult != null) return deepUsageResult;\n const results = await this.deps.usage(depName);\n if (!Object.keys(results).length) {\n return chalk.yellow(`the specified dependency ${depName} is not used by any component`);\n }\n return Object.keys(results)\n .map((compIdStr) => `${chalk.bold(compIdStr)} (using dep in version ${results[compIdStr]})`)\n .join('\\n');\n }\n}\n\nexport class WhyCmd extends DependenciesUsageCmd {\n name = 'why <dependency-name>';\n}\n\nexport class DependenciesCmd implements Command {\n name = 'deps <sub-command>';\n alias = 'dependencies';\n description = 'manage dependencies';\n options = [];\n group = 'dependencies';\n commands: Command[] = [];\n helpUrl = 'reference/dependencies/configuring-dependencies';\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"dependencies\", please run \"bit dependencies --help\" to list the subcommands`\n );\n }\n}\n\nexport class SetPeerCmd implements Command {\n name = 'set-peer <component-id> <range>';\n arguments = [\n { name: 'component-id', description: 'the component to set as always peer' },\n {\n name: 'range',\n description: 'the default range to use for the componnent, when added to peerDependencies',\n },\n ];\n group = 'dependencies';\n description = 'set a component as always peer';\n alias = '';\n options = [];\n\n constructor(private deps: DependenciesMain) {}\n\n async report([componentId, range]: [string, string]) {\n await this.deps.setPeer(componentId, range != null ? range.toString() : range);\n return `${chalk.green('successfully marked the component as a peer component')}`;\n }\n}\n\nexport class UnsetPeerCmd implements Command {\n name = 'unset-peer <component-id>';\n arguments = [{ name: 'component-id', description: 'the component to unset as always peer' }];\n group = 'dependencies';\n description = 'unset a component as always peer';\n alias = '';\n options = [];\n\n constructor(private deps: DependenciesMain) {}\n\n async report([componentId]: [string]) {\n await this.deps.unsetPeer(componentId);\n return `${chalk.green('successfully marked the component as not a peer component')}`;\n }\n}\n\ntype DependenciesWriteCmdOptions = {\n target?: 'workspace.jsonc' | 'package.json';\n};\n\nexport class DependenciesWriteCmd implements Command {\n name = 'write';\n arguments = [];\n group = 'dependencies';\n description =\n 'write all workspace component dependencies to package.json or workspace.jsonc, resolving conflicts by picking the ranges that match the highest versions';\n alias = '';\n options = [\n [\n '',\n 'target <workspace.jsonc|package.json>',\n 'specify where the dependencies should be written. By default they are saved to workspace.jsonc',\n ],\n ] as CommandOptions;\n\n constructor(private workspace: Workspace) {}\n\n async report(_, options: DependenciesWriteCmdOptions) {\n await this.workspace.writeDependencies(options.target);\n return '';\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -563,9 +563,17 @@ class ApplyOverrides {
563
563
  this.allDependencies.devDependencies = this.allDependencies.devDependencies.filter(dep => dep.packageName !== pkgName);
564
564
  }
565
565
  }
566
- // delete this.allPackagesDependencies.packageDependencies[pkgName];
567
- // delete this.allPackagesDependencies.devPackageDependencies[pkgName];
568
- // delete this.allPackagesDependencies.peerPackageDependencies[pkgName];
566
+
567
+ // This was restored to fix an issue with a case where
568
+ // You have a package dep in env.jsonc under peers (like @testing-library/react)
569
+ // Then you change the env.jsonc and move it from peer to devDependencies
570
+ // the deps resolver data will be correct, but in the legacy data
571
+ // it will still be in the peerPackageDependencies, so we need to remove it from there
572
+ // to avoid having it in package.json as a peer dependency
573
+ // which then will affect the installation of the component
574
+ delete this.allPackagesDependencies.packageDependencies[pkgName];
575
+ delete this.allPackagesDependencies.devPackageDependencies[pkgName];
576
+ delete this.allPackagesDependencies.peerPackageDependencies[pkgName];
569
577
 
570
578
  // If it exists in comps deps / comp dev deps, we don't want to add it to the allPackagesDependencies
571
579
  // as it will make the same dep both a dev and runtime dep
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","_interopRequireDefault","require","_componentId","_lodash","_componentIssues","_legacy","_legacy2","_component","_legacy3","_resolvePkgData","_legacy4","_overridesDependencies","_dependenciesData","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DepsKeysToAllPackagesDepsKeys","dependencies","devDependencies","peerDependencies","ApplyOverrides","constructor","component","depsResolver","logger","workspace","componentId","componentFromModel","allDependencies","allPackagesDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","processedFiles","issues","setLegacyInsideHarmonyIssue","overridesDependencies","OverridesDependencies","debugDependenciesData","components","setOverridesDependencies","overrides","getOverridesData","getEnvExtendsDeps","wsDeps","modelDeps","merged","Dependencies","merge","get","ComponentOverrides","loadFromConsumer","consumer","getDependenciesData","populateDependencies","dependenciesData","DependenciesData","coreAspects","autoDetectOverrides","loadAutoDetectOverrides","removeIgnoredComponentsByOverrides","cloneAllPackagesDependencies","removeIgnoredPackagesByOverrides","removeDevAndEnvDepsIfTheyAlsoRegulars","applyPeersFromComponentModel","applyPackageJson","applyWorkspacePolicy","makeLegacyAsPeer","applyAutoDetectOverridesOnComponent","applyAutoDetectedPeersFromEnvOnEnvItSelf","manuallyAddDependencies","removeCompDepsFromPackages","uniq","shouldBeIncluded","dep","fileType","shouldIgnorePackage","packageName","isTestFile","missingIssue","getIssueByName","missingData","m","missingPackages","pkg","isDevFile","delete","IssuesClasses","MissingPackagesDependenciesOnFs","getAutoDetectOverrides","extensions","id","files","originAllPackagesDependencies","cloneDeep","pkgVersion","pkgName","shouldIgnorePackageByType","shouldBeIncludedDev","pickBy","_resolvePackageData","undefined","componentMap","rootDir","consumerPath","getPath","basePath","path","join","modulePath","resolvePackagePath","packageObject","resolvePackageData","_getComponentIdToAdd","dependency","versionRange","packageData","name","getDependenciesToAddManually","packageJson","existingDependencies","packages","DEPENDENCIES_FIELDS","depField","dependencyValue","componentData","isEqualWithoutVersion","warn","toString","dependencyExist","find","d","_addManuallyAddedDep","addedPkg","_manuallyAddPackage","assign","missingPackageDependencies","_getPackageJson","depData","Dependency","isEmpty","_pkgFieldMapping","peerName","componentPeers","Set","map","has","currPackagesKeys","reduce","acc","field","includes","getNotRegularPackages","difference","pick","componentDepsIds","ComponentIdList","c","getPeerDependencies","_getPackageJsonFromComponentModel","projectPeerDependencies","peerPackages","shouldIgnorePeerPackage","pkgJsonPeer","pkgJsonRegularDeps","peerDeps","_pkgVal","peerVersionFromPkgJson","regularVersionFromPkgJson","wsPolicy","getWorkspacePolicyManifest","wsPeer","wsRegular","peerPackageDeps","peerVersionFromWsPolicy","regularVersionFromWsPolicy","version","isNaN","originallyExists","flat","pkgVal","existsInCompsDeps","existsInCompsDevDeps","existsInCompsPeerDeps","isAutoDetected","key","MANUALLY_REMOVE_DEPENDENCY","comp","envPolicy","getEnvPolicyFromEnvId","envPolicyManifest","selfPolicy","toVersionManifest","deps","peerVersionFromEnvPolicy","resolvedEnvPolicyManifest","resolveEnvPeerDepVersion","resolved","concreteVersion","wsVersion","fromModelDep","fromModelPkg","packageJsonObject","PackageJsonFile","createFromComponent","isLegacy","getOrCreate","LegacyInsideHarmony","Error","exports"],"sources":["apply-overrides.ts"],"sourcesContent":["import path from 'path';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { cloneDeep, difference, forEach, isEmpty, pick, pickBy, uniq } from 'lodash';\nimport { IssuesList, IssuesClasses, MissingPackagesData } from '@teambit/component-issues';\nimport { DEPENDENCIES_FIELDS, MANUALLY_REMOVE_DEPENDENCY } from '@teambit/legacy.constants';\nimport { ConsumerComponent as Component, Dependency, Dependencies } from '@teambit/legacy.consumer-component';\nimport { PackageJsonFile } from '@teambit/component.sources';\nimport { PathLinux, resolvePackagePath } from '@teambit/legacy.utils';\nimport { ResolvedPackageData, resolvePackageData } from '../resolve-pkg-data';\nimport { Workspace } from '@teambit/workspace';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { ComponentMap } from '@teambit/legacy.bit-map';\nimport { Logger } from '@teambit/logger';\nimport { ComponentOverrides } from '@teambit/legacy.consumer-config';\nimport OverridesDependencies from './overrides-dependencies';\nimport { DependenciesData } from './dependencies-data';\nimport { DebugDependencies, FileType } from './auto-detect-deps';\n\nexport type AllDependencies = {\n dependencies: Dependency[];\n devDependencies: Dependency[];\n peerDependencies: Dependency[];\n};\n\nexport type AllPackagesDependencies = {\n packageDependencies: Record<string, string>;\n devPackageDependencies: Record<string, string>;\n peerPackageDependencies: Record<string, string>;\n};\n\nconst DepsKeysToAllPackagesDepsKeys = {\n dependencies: 'packageDependencies',\n devDependencies: 'devPackageDependencies',\n peerDependencies: 'peerPackageDependencies',\n};\n\nexport class ApplyOverrides {\n componentId: ComponentID;\n componentFromModel: Component;\n allDependencies: AllDependencies;\n allPackagesDependencies: AllPackagesDependencies;\n /**\n * This will store a copy of the package deps before removal\n * in order to apply auto detected rules that are running after the removal\n */\n originAllPackagesDependencies: AllPackagesDependencies;\n issues: IssuesList;\n coreAspects: string[] = [];\n processedFiles: string[];\n overridesDependencies: OverridesDependencies;\n debugDependenciesData: DebugDependencies;\n /**\n * see workspace.getAutoDetectOverrides docs.\n * these overrides are from env/variants/merge-config. not ones with \"force: true\".\n */\n public autoDetectOverrides: Record<string, any> | undefined;\n constructor(\n private component: Component,\n private depsResolver: DependencyResolverMain,\n private logger: Logger,\n private workspace?: Workspace\n ) {\n this.componentId = component.componentId;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.componentFromModel = this.component.componentFromModel;\n this.allDependencies = {\n dependencies: [],\n devDependencies: [],\n peerDependencies: [],\n };\n this.allPackagesDependencies = {\n packageDependencies: {},\n devPackageDependencies: {},\n peerPackageDependencies: {},\n };\n this.processedFiles = [];\n this.issues = component.issues;\n this.setLegacyInsideHarmonyIssue();\n this.overridesDependencies = new OverridesDependencies(component);\n this.debugDependenciesData = { components: [] };\n }\n\n private async setOverridesDependencies() {\n const overrides = await this.getOverridesData();\n this.component.overrides = overrides;\n }\n\n private getEnvExtendsDeps() {\n const wsDeps = this.allDependencies.dependencies || [];\n const modelDeps = this.component.componentFromModel?.dependencies.dependencies || [];\n const merged = Dependencies.merge([wsDeps, modelDeps]);\n return merged.get();\n }\n\n private async getOverridesData() {\n if (this.component.overrides) return this.component.overrides;\n\n const overrides = await ComponentOverrides.loadFromConsumer(this.component, this.getEnvExtendsDeps());\n\n return overrides;\n }\n\n get consumer(): Consumer | undefined {\n return this.workspace?.consumer;\n }\n\n async getDependenciesData(): Promise<{\n dependenciesData: DependenciesData;\n overridesDependencies: OverridesDependencies;\n autoDetectOverrides?: Record<string, any>;\n }> {\n await this.setOverridesDependencies();\n await this.populateDependencies();\n const dependenciesData = new DependenciesData(\n this.allDependencies,\n this.allPackagesDependencies,\n this.issues,\n this.coreAspects\n );\n return {\n dependenciesData,\n overridesDependencies: this.overridesDependencies,\n autoDetectOverrides: this.autoDetectOverrides,\n };\n }\n\n /**\n * Given the tree of file dependencies from the driver, find the components of these files.\n * Each dependency file has a path, use bit.map to search for the component name by that path.\n * If the component is found, add it to \"this.allDependencies.dependencies\". Otherwise, add it to \"this.issues.untrackedDependencies\".\n *\n * For the found components, add their sourceRelativePath and destinationRelativePath, they are being used for\n * generating links upon import:\n * sourceRelativePath - location of the link file.\n * destinationRelativePath - destination written inside the link file.\n *\n * When a dependency is found in a regular (implementation) file, it goes to `dependencies`. If\n * it found on a test file, it goes to `devDependencies`.\n * Similarly, when a package is found in a regular file, it goes to `packageDependencies`. When\n * if found in a test file, it goes to `devPackageDependencies`.\n * An exception for the above is when a package is required in a regular or test file but is also\n * mentioned in the `package.json` file as a peerDependency, in that case, the package is added\n * to `peerPackageDependencies` and removed from other places. Unless this package is overridden\n * and marked as ignored in the consumer or component config file.\n */\n private async populateDependencies() {\n await this.loadAutoDetectOverrides();\n this.removeIgnoredComponentsByOverrides();\n this.cloneAllPackagesDependencies();\n this.removeIgnoredPackagesByOverrides();\n this.removeDevAndEnvDepsIfTheyAlsoRegulars();\n this.applyPeersFromComponentModel();\n this.applyPackageJson();\n this.applyWorkspacePolicy();\n this.makeLegacyAsPeer();\n await this.applyAutoDetectOverridesOnComponent();\n // This was moved here (it used to be after this.manuallyAddDependencies) to fix an issue with a case where\n // an env define the same dependency defined by its own env, in both places:\n // its env.jsonc, and via bit deps set, with different versions.\n // before this fix the env.jsonc version was taken, and the deps set version was ignored for - bit show and\n // package.json\n // but it was taken into account for the actual dependency installation.\n // now we take the version from the deps set in both cases.\n // It make more sense to have it here before manually add dependencies, but the reason it wasn't like this is\n // because (pasting the original comment here):\n // ------ORIGINAL COMMENT------\n // Doing this here (after manuallyAddDependencies) because usually the env of the env is adding dependencies as peer of the env\n // which will make this not work if it come before\n // example:\n // custom react has peers with react 16.4.0.\n // the custom react uses the \"teambit.envs/env\" env, which will add react ^17.0.0 to every component that uses it\n // we want to make sure that the custom react is using 16.4.0 not 17.\n // ------END OF ORIGINAL COMMENT------\n // Since we did a massive refactor to the way we handle dependencies, we can now move it here now, as the original\n // issue doesn't seems like an issue any more.\n await this.applyAutoDetectedPeersFromEnvOnEnvItSelf();\n this.manuallyAddDependencies();\n // Ensuring component dependencies are not part of the package dependencies to prevent duplications\n this.removeCompDepsFromPackages();\n // Doing this here (after manuallyAddDependencies) because usually the env of the env is adding dependencies as peer of the env\n // which will make this not work if it come before\n // example:\n // custom react has peers with react 16.4.0.\n // the custom react uses the \"teambit.envs/env\" env, which will add react ^17.0.0 to every component that uses it\n // we want to make sure that the custom react is using 16.4.0 not 17.\n this.coreAspects = uniq(this.coreAspects);\n }\n\n private removeIgnoredComponentsByOverrides() {\n const shouldBeIncluded = (dep: Dependency, fileType: FileType) =>\n !this.overridesDependencies.shouldIgnorePackage(dep.packageName as string, fileType);\n this.allDependencies.dependencies = this.allDependencies.dependencies.filter((dep) =>\n shouldBeIncluded(dep, { isTestFile: false })\n );\n this.allDependencies.devDependencies = this.allDependencies.devDependencies.filter((dep) =>\n shouldBeIncluded(dep, { isTestFile: true })\n );\n\n const missingIssue = this.issues.getIssueByName('MissingPackagesDependenciesOnFs');\n if (!missingIssue) return;\n const missingData = missingIssue.data as MissingPackagesData[];\n missingData.forEach((m) => {\n m.missingPackages = m.missingPackages.filter(\n (pkg) => !this.overridesDependencies.shouldIgnorePackage(pkg, { isTestFile: m.isDevFile })\n );\n });\n missingIssue.data = missingData.filter((m) => m.missingPackages.length);\n if (!missingIssue.data.length) this.issues.delete(IssuesClasses.MissingPackagesDependenciesOnFs);\n }\n\n private async loadAutoDetectOverrides() {\n this.autoDetectOverrides = await this.workspace?.getAutoDetectOverrides(\n this.component.extensions,\n this.component.id,\n this.component.files,\n this.getEnvExtendsDeps()\n );\n }\n\n private cloneAllPackagesDependencies() {\n this.originAllPackagesDependencies = cloneDeep(this.allPackagesDependencies);\n }\n\n private removeIgnoredPackagesByOverrides() {\n const shouldBeIncluded = (pkgVersion, pkgName) =>\n !this.overridesDependencies.shouldIgnorePackageByType(pkgName, 'dependencies');\n const shouldBeIncludedDev = (pkgVersion, pkgName) =>\n !this.overridesDependencies.shouldIgnorePackageByType(pkgName, 'devDependencies');\n\n this.allPackagesDependencies.packageDependencies = pickBy(\n this.allPackagesDependencies.packageDependencies,\n shouldBeIncluded\n );\n this.allPackagesDependencies.devPackageDependencies = pickBy(\n this.allPackagesDependencies.devPackageDependencies,\n shouldBeIncludedDev\n );\n }\n\n // TODO: maybe cache those results??\n private _resolvePackageData(packageName: string): ResolvedPackageData | undefined {\n const consumer = this.consumer;\n if (!consumer) return undefined;\n // if consumer is defined, then it has componentMap prop.\n const componentMap = this.component.componentMap as ComponentMap;\n const rootDir: PathLinux | null | undefined = componentMap.rootDir as string;\n const consumerPath = consumer.getPath();\n const basePath = rootDir ? path.join(consumerPath, rootDir) : consumerPath;\n const modulePath = resolvePackagePath(packageName, basePath, consumerPath);\n if (!modulePath) return undefined; // e.g. it's author and wasn't exported yet, so there's no node_modules of that component\n const packageObject = resolvePackageData(basePath, modulePath);\n return packageObject;\n }\n\n private _getComponentIdToAdd(\n dependency: string,\n versionRange: string\n ): { componentId?: ComponentID; packageName?: string; versionRange: string } {\n const packageData = this._resolvePackageData(dependency);\n return { componentId: packageData?.componentId, packageName: packageData?.name, versionRange };\n }\n\n getDependenciesToAddManually(\n packageJson: Record<string, any> | null | undefined,\n existingDependencies: AllDependencies\n ): { components: Record<string, any>; packages: Record<string, any> } | undefined {\n const overrides = this.overridesDependencies.getDependenciesToAddManually();\n if (!overrides) return undefined;\n const components = {};\n const packages = {};\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (!overrides[depField]) return;\n Object.keys(overrides[depField]).forEach((dependency) => {\n const dependencyValue = overrides[depField][dependency];\n const componentData = this._getComponentIdToAdd(dependency, dependencyValue);\n if (componentData?.componentId) {\n if (componentData.componentId.isEqualWithoutVersion(this.componentId)) {\n this.logger.warn(\n `component ${this.componentId.toString()} depends on itself ${componentData.componentId.toString()}. ignoring it.`\n );\n return;\n }\n const dependencyExist = existingDependencies[depField].find((d) =>\n d.id.isEqualWithoutVersion(componentData.componentId)\n );\n if (!dependencyExist) {\n this.overridesDependencies._addManuallyAddedDep(depField, componentData.componentId.toString());\n components[depField] ? components[depField].push(componentData) : (components[depField] = [componentData]);\n }\n return;\n }\n const addedPkg = this.overridesDependencies._manuallyAddPackage(\n depField,\n dependency,\n dependencyValue,\n packageJson\n );\n if (addedPkg) {\n packages[depField] = Object.assign(packages[depField] || {}, addedPkg);\n if (componentData && !componentData.packageName) {\n this.overridesDependencies.missingPackageDependencies.push(dependency);\n }\n }\n });\n });\n return { components, packages };\n }\n\n private manuallyAddDependencies() {\n const packageJson = this._getPackageJson();\n const dependencies = this.getDependenciesToAddManually(packageJson, this.allDependencies);\n if (!dependencies) return;\n const { components, packages } = dependencies;\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (components[depField] && components[depField].length) {\n components[depField].forEach((depData) => {\n this.allDependencies[depField].push(\n new Dependency(depData.componentId, [], depData.packageName, depData.versionRange)\n );\n });\n }\n if (packages[depField] && !isEmpty(packages[depField])) {\n Object.assign(this.allPackagesDependencies[this._pkgFieldMapping(depField)], packages[depField]);\n }\n });\n // The automatic dependency detector considers all found dependencies to be runtime dependencies.\n // But this breaks proper installation of injected subdependencies that are resolved from workspace components.\n if (this.allPackagesDependencies.packageDependencies && packages.peerDependencies) {\n for (const peerName of Object.keys(packages.peerDependencies)) {\n delete this.allPackagesDependencies.packageDependencies[peerName];\n }\n }\n if (this.allPackagesDependencies.packageDependencies && packages.peerPackageDependencies) {\n for (const peerName of Object.keys(packages.peerPackageDependencies)) {\n delete this.allPackagesDependencies.packageDependencies[peerName];\n }\n }\n if (components.peerDependencies) {\n const componentPeers = new Set(components.peerDependencies.map(({ packageName }) => packageName));\n this.allDependencies.dependencies = this.allDependencies.dependencies.filter(\n (dep) => !dep.packageName || !componentPeers.has(dep.packageName)\n );\n }\n }\n\n /**\n * The function `removeCompDepsFromPackages` removes component dependencies from different package dependency fields\n * based on certain conditions.\n */\n private removeCompDepsFromPackages() {\n const currPackagesKeys = ['packageDependencies', 'devPackageDependencies', 'peerPackageDependencies'].reduce(\n (acc, field) => {\n acc[field] = Object.keys(this.allPackagesDependencies[field]);\n return acc;\n },\n {}\n );\n\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (this.allDependencies[depField].length) {\n this.allDependencies[depField].forEach((dep) => {\n ['packageDependencies', 'devPackageDependencies', 'peerPackageDependencies'].forEach((field) => {\n const keys = currPackagesKeys[field];\n if (keys.includes(dep.packageName)) {\n delete this.allPackagesDependencies[field][dep.packageName];\n }\n });\n });\n }\n });\n }\n\n /**\n * Remove the dependencies which appear both in dev and regular deps from the dev\n * Because if a dependency is both dev dependency and regular dependency it should be treated as regular one\n * Apply for both packages and components dependencies\n */\n private removeDevAndEnvDepsIfTheyAlsoRegulars() {\n // remove dev and env packages that are also regular packages\n const getNotRegularPackages = (packages) =>\n difference(Object.keys(packages), Object.keys(this.allPackagesDependencies.packageDependencies));\n this.allPackagesDependencies.devPackageDependencies = pick(\n this.allPackagesDependencies.devPackageDependencies,\n getNotRegularPackages(this.allPackagesDependencies.devPackageDependencies)\n );\n // remove dev dependencies that are also regular dependencies\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const componentDepsIds = new ComponentIdList(...this.allDependencies.dependencies.map((c) => c.id));\n this.allDependencies.devDependencies = this.allDependencies.devDependencies.filter(\n (d) => !componentDepsIds.has(d.id)\n );\n }\n\n private applyPeersFromComponentModel(): void {\n const getPeerDependencies = (): Record<string, any> => {\n const packageJson = this._getPackageJsonFromComponentModel();\n if (packageJson && packageJson.peerDependencies) return packageJson.peerDependencies;\n return {};\n };\n const projectPeerDependencies = getPeerDependencies();\n const peerPackages = {};\n if (isEmpty(projectPeerDependencies)) return;\n\n // check whether the peer-dependencies was actually require in the code. if so, remove it from\n // the packages/dev-packages and add it as a peer-package.\n // if it was not required in the code, don't add it to the peerPackages\n Object.keys(projectPeerDependencies).forEach((pkg) => {\n if (this.overridesDependencies.shouldIgnorePeerPackage(pkg)) return;\n ['packageDependencies', 'devPackageDependencies'].forEach((field) => {\n if (Object.keys(this.allPackagesDependencies[field]).includes(pkg)) {\n delete this.allPackagesDependencies[field][pkg];\n peerPackages[pkg] = projectPeerDependencies[pkg];\n }\n });\n });\n this.allPackagesDependencies.peerPackageDependencies = peerPackages;\n }\n\n private applyPackageJson(): void {\n const packageJson = this._getPackageJson();\n if (!packageJson) return;\n const pkgJsonPeer = packageJson.peerDependencies || {};\n const pkgJsonRegularDeps = packageJson.dependencies || {};\n const peerDeps = this.allPackagesDependencies.peerPackageDependencies || {};\n ['packageDependencies', 'devPackageDependencies', 'peerPackageDependencies'].forEach((field) => {\n forEach(this.allPackagesDependencies[field], (_pkgVal, pkgName) => {\n const peerVersionFromPkgJson = pkgJsonPeer[pkgName];\n const regularVersionFromPkgJson = pkgJsonRegularDeps[pkgName];\n if (peerVersionFromPkgJson) {\n delete this.allPackagesDependencies[field][pkgName];\n peerDeps[pkgName] = peerVersionFromPkgJson;\n } else if (regularVersionFromPkgJson) {\n delete this.allPackagesDependencies.peerPackageDependencies?.[pkgName];\n this.allPackagesDependencies[field][pkgName] = regularVersionFromPkgJson;\n }\n });\n });\n this.allPackagesDependencies.peerPackageDependencies = peerDeps;\n }\n\n private applyWorkspacePolicy(): void {\n const wsPolicy = this.depsResolver.getWorkspacePolicyManifest();\n if (!wsPolicy) return;\n const wsPeer = wsPolicy.peerDependencies || {};\n const wsRegular = wsPolicy.dependencies || {};\n const peerPackageDeps = this.allPackagesDependencies.peerPackageDependencies || {};\n // we are not iterate component deps since they are resolved from what actually installed\n // the policy used for installation only in that case\n ['packageDependencies', 'devPackageDependencies', 'peerPackageDependencies'].forEach((field) => {\n forEach(this.allPackagesDependencies[field], (_pkgVal, pkgName) => {\n const peerVersionFromWsPolicy = wsPeer[pkgName];\n const regularVersionFromWsPolicy = wsRegular[pkgName];\n if (peerVersionFromWsPolicy) {\n delete this.allPackagesDependencies[field][pkgName];\n peerPackageDeps[pkgName] = peerVersionFromWsPolicy;\n } else if (regularVersionFromWsPolicy) {\n delete this.allPackagesDependencies.peerPackageDependencies?.[pkgName];\n this.allPackagesDependencies[field][pkgName] = regularVersionFromWsPolicy;\n }\n });\n });\n this.allPackagesDependencies.peerPackageDependencies = peerPackageDeps;\n\n const peerDeps = this.allDependencies.peerDependencies ?? [];\n ['dependencies', 'devDependencies'].forEach((field) => {\n for (const dep of this.allDependencies[field]) {\n const pkgName = dep.packageName;\n const peerVersionFromWsPolicy = wsPeer[pkgName];\n const regularVersionFromWsPolicy = wsRegular[pkgName];\n if (peerVersionFromWsPolicy) {\n dep.versionRange = peerVersionFromWsPolicy;\n peerDeps.push(dep);\n } else if (regularVersionFromWsPolicy) {\n dep.versionRange = regularVersionFromWsPolicy;\n }\n }\n this.allDependencies[field] = this.allDependencies[field].filter(({ packageName }) => !wsPeer[packageName]);\n });\n this.allDependencies.peerDependencies = peerDeps;\n }\n\n /**\n * It removes the @teambit/legacy dependency from the dependencies/devDeps and adds it as a peer dependency with ^.\n */\n private makeLegacyAsPeer(): void {\n let version;\n if (this.allPackagesDependencies.packageDependencies['@teambit/legacy']) {\n version = this.allPackagesDependencies.packageDependencies['@teambit/legacy'];\n delete this.allPackagesDependencies.packageDependencies['@teambit/legacy'];\n }\n if (this.allPackagesDependencies.devPackageDependencies['@teambit/legacy']) {\n if (!version) version = this.allPackagesDependencies.devPackageDependencies['@teambit/legacy'];\n delete this.allPackagesDependencies.devPackageDependencies['@teambit/legacy'];\n }\n if (version) {\n if (!Number.isNaN(version[0])) version = `^${version}`;\n this.allPackagesDependencies.peerPackageDependencies['@teambit/legacy'] = version;\n }\n }\n\n private async applyAutoDetectOverridesOnComponent(): Promise<void> {\n const autoDetectOverrides = this.autoDetectOverrides;\n\n if (!autoDetectOverrides || !Object.keys(autoDetectOverrides).length) {\n return;\n }\n\n const originallyExists: string[] = [];\n let missingPackages: string[] = [];\n // We want to also add missing packages to the peer list as we know to resolve the version from the env anyway\n const missingData = this.issues.getIssueByName('MissingPackagesDependenciesOnFs')?.data as\n | MissingPackagesData[]\n | undefined;\n if (missingData) {\n missingPackages = uniq(missingData.map((d) => d.missingPackages).flat());\n }\n ['dependencies', 'devDependencies', 'peerDependencies'].forEach((field) => {\n forEach(autoDetectOverrides[field], (pkgVal, pkgName) => {\n if (this.overridesDependencies.shouldIgnorePeerPackage(pkgName)) {\n return;\n }\n\n const existsInCompsDeps = this.allDependencies.dependencies.find((dep) => dep.packageName === pkgName);\n const existsInCompsDevDeps = this.allDependencies.devDependencies.find((dep) => dep.packageName === pkgName);\n const existsInCompsPeerDeps = this.allDependencies.peerDependencies.find((dep) => dep.packageName === pkgName);\n\n // Validate it was auto detected, we only affect stuff that were detected\n const isAutoDetected = existsInCompsDeps ||\n existsInCompsDevDeps ||\n existsInCompsPeerDeps ||\n // We are checking originAllPackagesDependencies instead of allPackagesDependencies\n // as it might be already removed from allPackagesDependencies at this point if it was set with\n // \"-\" in runtime/dev\n // in such case we still want to apply it here\n this.originAllPackagesDependencies.packageDependencies[pkgName] ||\n this.originAllPackagesDependencies.devPackageDependencies[pkgName] ||\n this.originAllPackagesDependencies.peerPackageDependencies[pkgName] ||\n // Check if it was originally exists in the component\n // as we might have a policy which looks like this:\n // \"components\": {\n // \"dependencies\": {\n // \"my-dep\": \"-\"\n // },\n // \"devDependencies\": {\n // \"my-dep\": \"1.0.0\"\n // },\n // }\n // in that case we might remove it before getting to the devDeps then we will think that it wasn't required in the component\n // which is incorrect\n originallyExists.includes(pkgName) ||\n missingPackages.includes(pkgName)\n\n if (!isAutoDetected) {\n return;\n }\n originallyExists.push(pkgName);\n const key = DepsKeysToAllPackagesDepsKeys[field];\n delete this.allPackagesDependencies[key][pkgName];\n // When changing peer dependency we want it to be stronger than the other types\n if (field === 'peerDependencies') {\n delete this.allPackagesDependencies.devPackageDependencies[pkgName];\n delete this.allPackagesDependencies.packageDependencies[pkgName];\n if (existsInCompsDeps) {\n this.allDependencies.dependencies = this.allDependencies.dependencies.filter(\n (dep) => dep.packageName !== pkgName\n );\n }\n if (existsInCompsDevDeps) {\n this.allDependencies.devDependencies = this.allDependencies.devDependencies.filter(\n (dep) => dep.packageName !== pkgName\n );\n }\n }\n // delete this.allPackagesDependencies.packageDependencies[pkgName];\n // delete this.allPackagesDependencies.devPackageDependencies[pkgName];\n // delete this.allPackagesDependencies.peerPackageDependencies[pkgName];\n\n // If it exists in comps deps / comp dev deps, we don't want to add it to the allPackagesDependencies\n // as it will make the same dep both a dev and runtime dep\n // since we are here only for auto detected deps, it means we already resolved the version correctly\n // so we don't need to really modify the version\n // also the version here might have a range (^ or ~ for example) so we can't\n // just put it as is, as it is not valid for component deps to have range\n if (\n pkgVal !== MANUALLY_REMOVE_DEPENDENCY &&\n ((!existsInCompsDeps && !existsInCompsDevDeps) || field === 'peerDependencies')\n ) {\n if ((existsInCompsDeps || existsInCompsDevDeps) && field === 'peerDependencies') {\n const comp = (existsInCompsDeps ?? existsInCompsDevDeps) as Dependency;\n comp.versionRange = pkgVal;\n this.allDependencies.peerDependencies.push(comp);\n } else {\n this.allPackagesDependencies[key][pkgName] = pkgVal;\n }\n if (existsInCompsPeerDeps) {\n existsInCompsPeerDeps.versionRange = pkgVal;\n }\n }\n });\n });\n }\n\n private async applyAutoDetectedPeersFromEnvOnEnvItSelf(): Promise<void> {\n const envPolicy = await this.depsResolver.getEnvPolicyFromEnvId(\n this.component.id,\n this.component.files,\n this.getEnvExtendsDeps()\n );\n if (!envPolicy) return;\n const envPolicyManifest = envPolicy.selfPolicy.toVersionManifest();\n\n if (!envPolicyManifest || !Object.keys(envPolicyManifest).length) {\n return;\n }\n const deps = this.allPackagesDependencies.packageDependencies || {};\n // we are not iterate component deps since they are resolved from what actually installed\n // the policy used for installation only in that case\n ['packageDependencies', 'devPackageDependencies', 'peerPackageDependencies'].forEach((field) => {\n forEach(this.allPackagesDependencies[field], (_pkgVal, pkgName) => {\n const peerVersionFromEnvPolicy = envPolicyManifest[pkgName];\n if (peerVersionFromEnvPolicy) {\n delete this.allPackagesDependencies[field][pkgName];\n }\n });\n });\n const resolvedEnvPolicyManifest = Object.keys(envPolicyManifest).reduce((acc, pkgName) => {\n const version = envPolicyManifest[pkgName];\n if (version !== '+') {\n acc[pkgName] = version;\n return acc;\n }\n acc[pkgName] = this.resolveEnvPeerDepVersion(pkgName);\n return acc;\n }, {});\n // TODO: handle component deps once we support peers between components\n this.allPackagesDependencies.packageDependencies = {\n ...deps,\n ...resolvedEnvPolicyManifest,\n };\n }\n\n /**\n * in the env.jsonc file, a policy-peer package can have `+` sign in the version. it means that it should be resolved\n * from the workspace. whatever version is installed/imported in the workspace, it should be used here.\n * in some cases, the package is not installed in the workspace, for example, the env is now imported without the\n * dep. so the dep is not in the node_modules.\n * strategy should be: .bitmap, workspace.jsonc, then model.\n * it's not in .bitmap, otherwise, it was linked and `_resolvePackageData` would have found it.\n * so either, it's in the workspace.jsonc or in the model.\n */\n private resolveEnvPeerDepVersion(pkgName: string): string {\n const resolved = this._resolvePackageData(pkgName);\n if (resolved && resolved.concreteVersion) {\n return resolved.concreteVersion;\n }\n const wsPolicy = this.depsResolver.getWorkspacePolicyManifest();\n const wsVersion = wsPolicy?.dependencies?.[pkgName] || wsPolicy?.peerDependencies?.[pkgName];\n if (wsVersion) {\n return wsVersion;\n }\n const fromModelDep = this.componentFromModel?.dependencies.get().find((dep) => dep.packageName === pkgName);\n if (fromModelDep) {\n return fromModelDep.id.version;\n }\n const fromModelPkg = this.componentFromModel?.packageDependencies[pkgName];\n if (fromModelPkg) {\n return fromModelPkg;\n }\n // no where to be found. instead of throwing an error, return the \"latest\" version\n return '*';\n }\n\n /**\n * returns `package.json` of the component when it's imported, or `package.json` of the workspace\n * when it's authored.\n */\n private _getPackageJson(): Record<string, any> | undefined {\n return this.consumer?.packageJson.packageJsonObject;\n }\n\n private _getPackageJsonFromComponentModel(): Record<string, any> | undefined {\n if (this.componentFromModel && this.component.componentMap) {\n // a component is imported but the package.json file is missing or never written\n // read the values from the model\n const packageJson = PackageJsonFile.createFromComponent(\n this.component.componentMap.rootDir,\n this.componentFromModel\n );\n return packageJson.packageJsonObject;\n }\n return undefined;\n }\n\n private setLegacyInsideHarmonyIssue() {\n if (this.componentFromModel && this.componentFromModel.isLegacy) {\n this.issues.getOrCreate(IssuesClasses.LegacyInsideHarmony).data = true;\n }\n }\n\n private _pkgFieldMapping(field: string) {\n switch (field) {\n case 'dependencies':\n return 'packageDependencies';\n case 'devDependencies':\n return 'devPackageDependencies';\n case 'peerDependencies':\n return 'peerPackageDependencies';\n default:\n throw new Error(`${field} is not recognized`);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","_interopRequireDefault","require","_componentId","_lodash","_componentIssues","_legacy","_legacy2","_component","_legacy3","_resolvePkgData","_legacy4","_overridesDependencies","_dependenciesData","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DepsKeysToAllPackagesDepsKeys","dependencies","devDependencies","peerDependencies","ApplyOverrides","constructor","component","depsResolver","logger","workspace","componentId","componentFromModel","allDependencies","allPackagesDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","processedFiles","issues","setLegacyInsideHarmonyIssue","overridesDependencies","OverridesDependencies","debugDependenciesData","components","setOverridesDependencies","overrides","getOverridesData","getEnvExtendsDeps","wsDeps","modelDeps","merged","Dependencies","merge","get","ComponentOverrides","loadFromConsumer","consumer","getDependenciesData","populateDependencies","dependenciesData","DependenciesData","coreAspects","autoDetectOverrides","loadAutoDetectOverrides","removeIgnoredComponentsByOverrides","cloneAllPackagesDependencies","removeIgnoredPackagesByOverrides","removeDevAndEnvDepsIfTheyAlsoRegulars","applyPeersFromComponentModel","applyPackageJson","applyWorkspacePolicy","makeLegacyAsPeer","applyAutoDetectOverridesOnComponent","applyAutoDetectedPeersFromEnvOnEnvItSelf","manuallyAddDependencies","removeCompDepsFromPackages","uniq","shouldBeIncluded","dep","fileType","shouldIgnorePackage","packageName","isTestFile","missingIssue","getIssueByName","missingData","m","missingPackages","pkg","isDevFile","delete","IssuesClasses","MissingPackagesDependenciesOnFs","getAutoDetectOverrides","extensions","id","files","originAllPackagesDependencies","cloneDeep","pkgVersion","pkgName","shouldIgnorePackageByType","shouldBeIncludedDev","pickBy","_resolvePackageData","undefined","componentMap","rootDir","consumerPath","getPath","basePath","path","join","modulePath","resolvePackagePath","packageObject","resolvePackageData","_getComponentIdToAdd","dependency","versionRange","packageData","name","getDependenciesToAddManually","packageJson","existingDependencies","packages","DEPENDENCIES_FIELDS","depField","dependencyValue","componentData","isEqualWithoutVersion","warn","toString","dependencyExist","find","d","_addManuallyAddedDep","addedPkg","_manuallyAddPackage","assign","missingPackageDependencies","_getPackageJson","depData","Dependency","isEmpty","_pkgFieldMapping","peerName","componentPeers","Set","map","has","currPackagesKeys","reduce","acc","field","includes","getNotRegularPackages","difference","pick","componentDepsIds","ComponentIdList","c","getPeerDependencies","_getPackageJsonFromComponentModel","projectPeerDependencies","peerPackages","shouldIgnorePeerPackage","pkgJsonPeer","pkgJsonRegularDeps","peerDeps","_pkgVal","peerVersionFromPkgJson","regularVersionFromPkgJson","wsPolicy","getWorkspacePolicyManifest","wsPeer","wsRegular","peerPackageDeps","peerVersionFromWsPolicy","regularVersionFromWsPolicy","version","isNaN","originallyExists","flat","pkgVal","existsInCompsDeps","existsInCompsDevDeps","existsInCompsPeerDeps","isAutoDetected","key","MANUALLY_REMOVE_DEPENDENCY","comp","envPolicy","getEnvPolicyFromEnvId","envPolicyManifest","selfPolicy","toVersionManifest","deps","peerVersionFromEnvPolicy","resolvedEnvPolicyManifest","resolveEnvPeerDepVersion","resolved","concreteVersion","wsVersion","fromModelDep","fromModelPkg","packageJsonObject","PackageJsonFile","createFromComponent","isLegacy","getOrCreate","LegacyInsideHarmony","Error","exports"],"sources":["apply-overrides.ts"],"sourcesContent":["import path from 'path';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { cloneDeep, difference, forEach, isEmpty, pick, pickBy, uniq } from 'lodash';\nimport { IssuesList, IssuesClasses, MissingPackagesData } from '@teambit/component-issues';\nimport { DEPENDENCIES_FIELDS, MANUALLY_REMOVE_DEPENDENCY } from '@teambit/legacy.constants';\nimport { ConsumerComponent as Component, Dependency, Dependencies } from '@teambit/legacy.consumer-component';\nimport { PackageJsonFile } from '@teambit/component.sources';\nimport { PathLinux, resolvePackagePath } from '@teambit/legacy.utils';\nimport { ResolvedPackageData, resolvePackageData } from '../resolve-pkg-data';\nimport { Workspace } from '@teambit/workspace';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { ComponentMap } from '@teambit/legacy.bit-map';\nimport { Logger } from '@teambit/logger';\nimport { ComponentOverrides } from '@teambit/legacy.consumer-config';\nimport OverridesDependencies from './overrides-dependencies';\nimport { DependenciesData } from './dependencies-data';\nimport { DebugDependencies, FileType } from './auto-detect-deps';\n\nexport type AllDependencies = {\n dependencies: Dependency[];\n devDependencies: Dependency[];\n peerDependencies: Dependency[];\n};\n\nexport type AllPackagesDependencies = {\n packageDependencies: Record<string, string>;\n devPackageDependencies: Record<string, string>;\n peerPackageDependencies: Record<string, string>;\n};\n\nconst DepsKeysToAllPackagesDepsKeys = {\n dependencies: 'packageDependencies',\n devDependencies: 'devPackageDependencies',\n peerDependencies: 'peerPackageDependencies',\n};\n\nexport class ApplyOverrides {\n componentId: ComponentID;\n componentFromModel: Component;\n allDependencies: AllDependencies;\n allPackagesDependencies: AllPackagesDependencies;\n /**\n * This will store a copy of the package deps before removal\n * in order to apply auto detected rules that are running after the removal\n */\n originAllPackagesDependencies: AllPackagesDependencies;\n issues: IssuesList;\n coreAspects: string[] = [];\n processedFiles: string[];\n overridesDependencies: OverridesDependencies;\n debugDependenciesData: DebugDependencies;\n /**\n * see workspace.getAutoDetectOverrides docs.\n * these overrides are from env/variants/merge-config. not ones with \"force: true\".\n */\n public autoDetectOverrides: Record<string, any> | undefined;\n constructor(\n private component: Component,\n private depsResolver: DependencyResolverMain,\n private logger: Logger,\n private workspace?: Workspace\n ) {\n this.componentId = component.componentId;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.componentFromModel = this.component.componentFromModel;\n this.allDependencies = {\n dependencies: [],\n devDependencies: [],\n peerDependencies: [],\n };\n this.allPackagesDependencies = {\n packageDependencies: {},\n devPackageDependencies: {},\n peerPackageDependencies: {},\n };\n this.processedFiles = [];\n this.issues = component.issues;\n this.setLegacyInsideHarmonyIssue();\n this.overridesDependencies = new OverridesDependencies(component);\n this.debugDependenciesData = { components: [] };\n }\n\n private async setOverridesDependencies() {\n const overrides = await this.getOverridesData();\n this.component.overrides = overrides;\n }\n\n private getEnvExtendsDeps() {\n const wsDeps = this.allDependencies.dependencies || [];\n const modelDeps = this.component.componentFromModel?.dependencies.dependencies || [];\n const merged = Dependencies.merge([wsDeps, modelDeps]);\n return merged.get();\n }\n\n private async getOverridesData() {\n if (this.component.overrides) return this.component.overrides;\n\n const overrides = await ComponentOverrides.loadFromConsumer(this.component, this.getEnvExtendsDeps());\n\n return overrides;\n }\n\n get consumer(): Consumer | undefined {\n return this.workspace?.consumer;\n }\n\n async getDependenciesData(): Promise<{\n dependenciesData: DependenciesData;\n overridesDependencies: OverridesDependencies;\n autoDetectOverrides?: Record<string, any>;\n }> {\n await this.setOverridesDependencies();\n await this.populateDependencies();\n const dependenciesData = new DependenciesData(\n this.allDependencies,\n this.allPackagesDependencies,\n this.issues,\n this.coreAspects\n );\n return {\n dependenciesData,\n overridesDependencies: this.overridesDependencies,\n autoDetectOverrides: this.autoDetectOverrides,\n };\n }\n\n /**\n * Given the tree of file dependencies from the driver, find the components of these files.\n * Each dependency file has a path, use bit.map to search for the component name by that path.\n * If the component is found, add it to \"this.allDependencies.dependencies\". Otherwise, add it to \"this.issues.untrackedDependencies\".\n *\n * For the found components, add their sourceRelativePath and destinationRelativePath, they are being used for\n * generating links upon import:\n * sourceRelativePath - location of the link file.\n * destinationRelativePath - destination written inside the link file.\n *\n * When a dependency is found in a regular (implementation) file, it goes to `dependencies`. If\n * it found on a test file, it goes to `devDependencies`.\n * Similarly, when a package is found in a regular file, it goes to `packageDependencies`. When\n * if found in a test file, it goes to `devPackageDependencies`.\n * An exception for the above is when a package is required in a regular or test file but is also\n * mentioned in the `package.json` file as a peerDependency, in that case, the package is added\n * to `peerPackageDependencies` and removed from other places. Unless this package is overridden\n * and marked as ignored in the consumer or component config file.\n */\n private async populateDependencies() {\n await this.loadAutoDetectOverrides();\n this.removeIgnoredComponentsByOverrides();\n this.cloneAllPackagesDependencies();\n this.removeIgnoredPackagesByOverrides();\n this.removeDevAndEnvDepsIfTheyAlsoRegulars();\n this.applyPeersFromComponentModel();\n this.applyPackageJson();\n this.applyWorkspacePolicy();\n this.makeLegacyAsPeer();\n await this.applyAutoDetectOverridesOnComponent();\n // This was moved here (it used to be after this.manuallyAddDependencies) to fix an issue with a case where\n // an env define the same dependency defined by its own env, in both places:\n // its env.jsonc, and via bit deps set, with different versions.\n // before this fix the env.jsonc version was taken, and the deps set version was ignored for - bit show and\n // package.json\n // but it was taken into account for the actual dependency installation.\n // now we take the version from the deps set in both cases.\n // It make more sense to have it here before manually add dependencies, but the reason it wasn't like this is\n // because (pasting the original comment here):\n // ------ORIGINAL COMMENT------\n // Doing this here (after manuallyAddDependencies) because usually the env of the env is adding dependencies as peer of the env\n // which will make this not work if it come before\n // example:\n // custom react has peers with react 16.4.0.\n // the custom react uses the \"teambit.envs/env\" env, which will add react ^17.0.0 to every component that uses it\n // we want to make sure that the custom react is using 16.4.0 not 17.\n // ------END OF ORIGINAL COMMENT------\n // Since we did a massive refactor to the way we handle dependencies, we can now move it here now, as the original\n // issue doesn't seems like an issue any more.\n await this.applyAutoDetectedPeersFromEnvOnEnvItSelf();\n this.manuallyAddDependencies();\n // Ensuring component dependencies are not part of the package dependencies to prevent duplications\n this.removeCompDepsFromPackages();\n // Doing this here (after manuallyAddDependencies) because usually the env of the env is adding dependencies as peer of the env\n // which will make this not work if it come before\n // example:\n // custom react has peers with react 16.4.0.\n // the custom react uses the \"teambit.envs/env\" env, which will add react ^17.0.0 to every component that uses it\n // we want to make sure that the custom react is using 16.4.0 not 17.\n this.coreAspects = uniq(this.coreAspects);\n }\n\n private removeIgnoredComponentsByOverrides() {\n const shouldBeIncluded = (dep: Dependency, fileType: FileType) =>\n !this.overridesDependencies.shouldIgnorePackage(dep.packageName as string, fileType);\n this.allDependencies.dependencies = this.allDependencies.dependencies.filter((dep) =>\n shouldBeIncluded(dep, { isTestFile: false })\n );\n this.allDependencies.devDependencies = this.allDependencies.devDependencies.filter((dep) =>\n shouldBeIncluded(dep, { isTestFile: true })\n );\n\n const missingIssue = this.issues.getIssueByName('MissingPackagesDependenciesOnFs');\n if (!missingIssue) return;\n const missingData = missingIssue.data as MissingPackagesData[];\n missingData.forEach((m) => {\n m.missingPackages = m.missingPackages.filter(\n (pkg) => !this.overridesDependencies.shouldIgnorePackage(pkg, { isTestFile: m.isDevFile })\n );\n });\n missingIssue.data = missingData.filter((m) => m.missingPackages.length);\n if (!missingIssue.data.length) this.issues.delete(IssuesClasses.MissingPackagesDependenciesOnFs);\n }\n\n private async loadAutoDetectOverrides() {\n this.autoDetectOverrides = await this.workspace?.getAutoDetectOverrides(\n this.component.extensions,\n this.component.id,\n this.component.files,\n this.getEnvExtendsDeps()\n );\n }\n\n private cloneAllPackagesDependencies() {\n this.originAllPackagesDependencies = cloneDeep(this.allPackagesDependencies);\n }\n\n private removeIgnoredPackagesByOverrides() {\n const shouldBeIncluded = (pkgVersion, pkgName) =>\n !this.overridesDependencies.shouldIgnorePackageByType(pkgName, 'dependencies');\n const shouldBeIncludedDev = (pkgVersion, pkgName) =>\n !this.overridesDependencies.shouldIgnorePackageByType(pkgName, 'devDependencies');\n\n this.allPackagesDependencies.packageDependencies = pickBy(\n this.allPackagesDependencies.packageDependencies,\n shouldBeIncluded\n );\n this.allPackagesDependencies.devPackageDependencies = pickBy(\n this.allPackagesDependencies.devPackageDependencies,\n shouldBeIncludedDev\n );\n }\n\n // TODO: maybe cache those results??\n private _resolvePackageData(packageName: string): ResolvedPackageData | undefined {\n const consumer = this.consumer;\n if (!consumer) return undefined;\n // if consumer is defined, then it has componentMap prop.\n const componentMap = this.component.componentMap as ComponentMap;\n const rootDir: PathLinux | null | undefined = componentMap.rootDir as string;\n const consumerPath = consumer.getPath();\n const basePath = rootDir ? path.join(consumerPath, rootDir) : consumerPath;\n const modulePath = resolvePackagePath(packageName, basePath, consumerPath);\n if (!modulePath) return undefined; // e.g. it's author and wasn't exported yet, so there's no node_modules of that component\n const packageObject = resolvePackageData(basePath, modulePath);\n return packageObject;\n }\n\n private _getComponentIdToAdd(\n dependency: string,\n versionRange: string\n ): { componentId?: ComponentID; packageName?: string; versionRange: string } {\n const packageData = this._resolvePackageData(dependency);\n return { componentId: packageData?.componentId, packageName: packageData?.name, versionRange };\n }\n\n getDependenciesToAddManually(\n packageJson: Record<string, any> | null | undefined,\n existingDependencies: AllDependencies\n ): { components: Record<string, any>; packages: Record<string, any> } | undefined {\n const overrides = this.overridesDependencies.getDependenciesToAddManually();\n if (!overrides) return undefined;\n const components = {};\n const packages = {};\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (!overrides[depField]) return;\n Object.keys(overrides[depField]).forEach((dependency) => {\n const dependencyValue = overrides[depField][dependency];\n const componentData = this._getComponentIdToAdd(dependency, dependencyValue);\n if (componentData?.componentId) {\n if (componentData.componentId.isEqualWithoutVersion(this.componentId)) {\n this.logger.warn(\n `component ${this.componentId.toString()} depends on itself ${componentData.componentId.toString()}. ignoring it.`\n );\n return;\n }\n const dependencyExist = existingDependencies[depField].find((d) =>\n d.id.isEqualWithoutVersion(componentData.componentId)\n );\n if (!dependencyExist) {\n this.overridesDependencies._addManuallyAddedDep(depField, componentData.componentId.toString());\n components[depField] ? components[depField].push(componentData) : (components[depField] = [componentData]);\n }\n return;\n }\n const addedPkg = this.overridesDependencies._manuallyAddPackage(\n depField,\n dependency,\n dependencyValue,\n packageJson\n );\n if (addedPkg) {\n packages[depField] = Object.assign(packages[depField] || {}, addedPkg);\n if (componentData && !componentData.packageName) {\n this.overridesDependencies.missingPackageDependencies.push(dependency);\n }\n }\n });\n });\n return { components, packages };\n }\n\n private manuallyAddDependencies() {\n const packageJson = this._getPackageJson();\n const dependencies = this.getDependenciesToAddManually(packageJson, this.allDependencies);\n if (!dependencies) return;\n const { components, packages } = dependencies;\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (components[depField] && components[depField].length) {\n components[depField].forEach((depData) => {\n this.allDependencies[depField].push(\n new Dependency(depData.componentId, [], depData.packageName, depData.versionRange)\n );\n });\n }\n if (packages[depField] && !isEmpty(packages[depField])) {\n Object.assign(this.allPackagesDependencies[this._pkgFieldMapping(depField)], packages[depField]);\n }\n });\n // The automatic dependency detector considers all found dependencies to be runtime dependencies.\n // But this breaks proper installation of injected subdependencies that are resolved from workspace components.\n if (this.allPackagesDependencies.packageDependencies && packages.peerDependencies) {\n for (const peerName of Object.keys(packages.peerDependencies)) {\n delete this.allPackagesDependencies.packageDependencies[peerName];\n }\n }\n if (this.allPackagesDependencies.packageDependencies && packages.peerPackageDependencies) {\n for (const peerName of Object.keys(packages.peerPackageDependencies)) {\n delete this.allPackagesDependencies.packageDependencies[peerName];\n }\n }\n if (components.peerDependencies) {\n const componentPeers = new Set(components.peerDependencies.map(({ packageName }) => packageName));\n this.allDependencies.dependencies = this.allDependencies.dependencies.filter(\n (dep) => !dep.packageName || !componentPeers.has(dep.packageName)\n );\n }\n }\n\n /**\n * The function `removeCompDepsFromPackages` removes component dependencies from different package dependency fields\n * based on certain conditions.\n */\n private removeCompDepsFromPackages() {\n const currPackagesKeys = ['packageDependencies', 'devPackageDependencies', 'peerPackageDependencies'].reduce(\n (acc, field) => {\n acc[field] = Object.keys(this.allPackagesDependencies[field]);\n return acc;\n },\n {}\n );\n\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (this.allDependencies[depField].length) {\n this.allDependencies[depField].forEach((dep) => {\n ['packageDependencies', 'devPackageDependencies', 'peerPackageDependencies'].forEach((field) => {\n const keys = currPackagesKeys[field];\n if (keys.includes(dep.packageName)) {\n delete this.allPackagesDependencies[field][dep.packageName];\n }\n });\n });\n }\n });\n }\n\n /**\n * Remove the dependencies which appear both in dev and regular deps from the dev\n * Because if a dependency is both dev dependency and regular dependency it should be treated as regular one\n * Apply for both packages and components dependencies\n */\n private removeDevAndEnvDepsIfTheyAlsoRegulars() {\n // remove dev and env packages that are also regular packages\n const getNotRegularPackages = (packages) =>\n difference(Object.keys(packages), Object.keys(this.allPackagesDependencies.packageDependencies));\n this.allPackagesDependencies.devPackageDependencies = pick(\n this.allPackagesDependencies.devPackageDependencies,\n getNotRegularPackages(this.allPackagesDependencies.devPackageDependencies)\n );\n // remove dev dependencies that are also regular dependencies\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const componentDepsIds = new ComponentIdList(...this.allDependencies.dependencies.map((c) => c.id));\n this.allDependencies.devDependencies = this.allDependencies.devDependencies.filter(\n (d) => !componentDepsIds.has(d.id)\n );\n }\n\n private applyPeersFromComponentModel(): void {\n const getPeerDependencies = (): Record<string, any> => {\n const packageJson = this._getPackageJsonFromComponentModel();\n if (packageJson && packageJson.peerDependencies) return packageJson.peerDependencies;\n return {};\n };\n const projectPeerDependencies = getPeerDependencies();\n const peerPackages = {};\n if (isEmpty(projectPeerDependencies)) return;\n\n // check whether the peer-dependencies was actually require in the code. if so, remove it from\n // the packages/dev-packages and add it as a peer-package.\n // if it was not required in the code, don't add it to the peerPackages\n Object.keys(projectPeerDependencies).forEach((pkg) => {\n if (this.overridesDependencies.shouldIgnorePeerPackage(pkg)) return;\n ['packageDependencies', 'devPackageDependencies'].forEach((field) => {\n if (Object.keys(this.allPackagesDependencies[field]).includes(pkg)) {\n delete this.allPackagesDependencies[field][pkg];\n peerPackages[pkg] = projectPeerDependencies[pkg];\n }\n });\n });\n this.allPackagesDependencies.peerPackageDependencies = peerPackages;\n }\n\n private applyPackageJson(): void {\n const packageJson = this._getPackageJson();\n if (!packageJson) return;\n const pkgJsonPeer = packageJson.peerDependencies || {};\n const pkgJsonRegularDeps = packageJson.dependencies || {};\n const peerDeps = this.allPackagesDependencies.peerPackageDependencies || {};\n ['packageDependencies', 'devPackageDependencies', 'peerPackageDependencies'].forEach((field) => {\n forEach(this.allPackagesDependencies[field], (_pkgVal, pkgName) => {\n const peerVersionFromPkgJson = pkgJsonPeer[pkgName];\n const regularVersionFromPkgJson = pkgJsonRegularDeps[pkgName];\n if (peerVersionFromPkgJson) {\n delete this.allPackagesDependencies[field][pkgName];\n peerDeps[pkgName] = peerVersionFromPkgJson;\n } else if (regularVersionFromPkgJson) {\n delete this.allPackagesDependencies.peerPackageDependencies?.[pkgName];\n this.allPackagesDependencies[field][pkgName] = regularVersionFromPkgJson;\n }\n });\n });\n this.allPackagesDependencies.peerPackageDependencies = peerDeps;\n }\n\n private applyWorkspacePolicy(): void {\n const wsPolicy = this.depsResolver.getWorkspacePolicyManifest();\n if (!wsPolicy) return;\n const wsPeer = wsPolicy.peerDependencies || {};\n const wsRegular = wsPolicy.dependencies || {};\n const peerPackageDeps = this.allPackagesDependencies.peerPackageDependencies || {};\n // we are not iterate component deps since they are resolved from what actually installed\n // the policy used for installation only in that case\n ['packageDependencies', 'devPackageDependencies', 'peerPackageDependencies'].forEach((field) => {\n forEach(this.allPackagesDependencies[field], (_pkgVal, pkgName) => {\n const peerVersionFromWsPolicy = wsPeer[pkgName];\n const regularVersionFromWsPolicy = wsRegular[pkgName];\n if (peerVersionFromWsPolicy) {\n delete this.allPackagesDependencies[field][pkgName];\n peerPackageDeps[pkgName] = peerVersionFromWsPolicy;\n } else if (regularVersionFromWsPolicy) {\n delete this.allPackagesDependencies.peerPackageDependencies?.[pkgName];\n this.allPackagesDependencies[field][pkgName] = regularVersionFromWsPolicy;\n }\n });\n });\n this.allPackagesDependencies.peerPackageDependencies = peerPackageDeps;\n\n const peerDeps = this.allDependencies.peerDependencies ?? [];\n ['dependencies', 'devDependencies'].forEach((field) => {\n for (const dep of this.allDependencies[field]) {\n const pkgName = dep.packageName;\n const peerVersionFromWsPolicy = wsPeer[pkgName];\n const regularVersionFromWsPolicy = wsRegular[pkgName];\n if (peerVersionFromWsPolicy) {\n dep.versionRange = peerVersionFromWsPolicy;\n peerDeps.push(dep);\n } else if (regularVersionFromWsPolicy) {\n dep.versionRange = regularVersionFromWsPolicy;\n }\n }\n this.allDependencies[field] = this.allDependencies[field].filter(({ packageName }) => !wsPeer[packageName]);\n });\n this.allDependencies.peerDependencies = peerDeps;\n }\n\n /**\n * It removes the @teambit/legacy dependency from the dependencies/devDeps and adds it as a peer dependency with ^.\n */\n private makeLegacyAsPeer(): void {\n let version;\n if (this.allPackagesDependencies.packageDependencies['@teambit/legacy']) {\n version = this.allPackagesDependencies.packageDependencies['@teambit/legacy'];\n delete this.allPackagesDependencies.packageDependencies['@teambit/legacy'];\n }\n if (this.allPackagesDependencies.devPackageDependencies['@teambit/legacy']) {\n if (!version) version = this.allPackagesDependencies.devPackageDependencies['@teambit/legacy'];\n delete this.allPackagesDependencies.devPackageDependencies['@teambit/legacy'];\n }\n if (version) {\n if (!Number.isNaN(version[0])) version = `^${version}`;\n this.allPackagesDependencies.peerPackageDependencies['@teambit/legacy'] = version;\n }\n }\n\n private async applyAutoDetectOverridesOnComponent(): Promise<void> {\n const autoDetectOverrides = this.autoDetectOverrides;\n\n if (!autoDetectOverrides || !Object.keys(autoDetectOverrides).length) {\n return;\n }\n\n const originallyExists: string[] = [];\n let missingPackages: string[] = [];\n // We want to also add missing packages to the peer list as we know to resolve the version from the env anyway\n const missingData = this.issues.getIssueByName('MissingPackagesDependenciesOnFs')?.data as\n | MissingPackagesData[]\n | undefined;\n if (missingData) {\n missingPackages = uniq(missingData.map((d) => d.missingPackages).flat());\n }\n ['dependencies', 'devDependencies', 'peerDependencies'].forEach((field) => {\n forEach(autoDetectOverrides[field], (pkgVal, pkgName) => {\n if (this.overridesDependencies.shouldIgnorePeerPackage(pkgName)) {\n return;\n }\n\n const existsInCompsDeps = this.allDependencies.dependencies.find((dep) => dep.packageName === pkgName);\n const existsInCompsDevDeps = this.allDependencies.devDependencies.find((dep) => dep.packageName === pkgName);\n const existsInCompsPeerDeps = this.allDependencies.peerDependencies.find((dep) => dep.packageName === pkgName);\n\n // Validate it was auto detected, we only affect stuff that were detected\n const isAutoDetected =\n existsInCompsDeps ||\n existsInCompsDevDeps ||\n existsInCompsPeerDeps ||\n // We are checking originAllPackagesDependencies instead of allPackagesDependencies\n // as it might be already removed from allPackagesDependencies at this point if it was set with\n // \"-\" in runtime/dev\n // in such case we still want to apply it here\n this.originAllPackagesDependencies.packageDependencies[pkgName] ||\n this.originAllPackagesDependencies.devPackageDependencies[pkgName] ||\n this.originAllPackagesDependencies.peerPackageDependencies[pkgName] ||\n // Check if it was originally exists in the component\n // as we might have a policy which looks like this:\n // \"components\": {\n // \"dependencies\": {\n // \"my-dep\": \"-\"\n // },\n // \"devDependencies\": {\n // \"my-dep\": \"1.0.0\"\n // },\n // }\n // in that case we might remove it before getting to the devDeps then we will think that it wasn't required in the component\n // which is incorrect\n originallyExists.includes(pkgName) ||\n missingPackages.includes(pkgName);\n\n if (!isAutoDetected) {\n return;\n }\n originallyExists.push(pkgName);\n const key = DepsKeysToAllPackagesDepsKeys[field];\n delete this.allPackagesDependencies[key][pkgName];\n // When changing peer dependency we want it to be stronger than the other types\n if (field === 'peerDependencies') {\n delete this.allPackagesDependencies.devPackageDependencies[pkgName];\n delete this.allPackagesDependencies.packageDependencies[pkgName];\n if (existsInCompsDeps) {\n this.allDependencies.dependencies = this.allDependencies.dependencies.filter(\n (dep) => dep.packageName !== pkgName\n );\n }\n if (existsInCompsDevDeps) {\n this.allDependencies.devDependencies = this.allDependencies.devDependencies.filter(\n (dep) => dep.packageName !== pkgName\n );\n }\n }\n\n // This was restored to fix an issue with a case where\n // You have a package dep in env.jsonc under peers (like @testing-library/react)\n // Then you change the env.jsonc and move it from peer to devDependencies\n // the deps resolver data will be correct, but in the legacy data\n // it will still be in the peerPackageDependencies, so we need to remove it from there\n // to avoid having it in package.json as a peer dependency\n // which then will affect the installation of the component\n delete this.allPackagesDependencies.packageDependencies[pkgName];\n delete this.allPackagesDependencies.devPackageDependencies[pkgName];\n delete this.allPackagesDependencies.peerPackageDependencies[pkgName];\n\n // If it exists in comps deps / comp dev deps, we don't want to add it to the allPackagesDependencies\n // as it will make the same dep both a dev and runtime dep\n // since we are here only for auto detected deps, it means we already resolved the version correctly\n // so we don't need to really modify the version\n // also the version here might have a range (^ or ~ for example) so we can't\n // just put it as is, as it is not valid for component deps to have range\n if (\n pkgVal !== MANUALLY_REMOVE_DEPENDENCY &&\n ((!existsInCompsDeps && !existsInCompsDevDeps) || field === 'peerDependencies')\n ) {\n if ((existsInCompsDeps || existsInCompsDevDeps) && field === 'peerDependencies') {\n const comp = (existsInCompsDeps ?? existsInCompsDevDeps) as Dependency;\n comp.versionRange = pkgVal;\n this.allDependencies.peerDependencies.push(comp);\n } else {\n this.allPackagesDependencies[key][pkgName] = pkgVal;\n }\n if (existsInCompsPeerDeps) {\n existsInCompsPeerDeps.versionRange = pkgVal;\n }\n }\n });\n });\n }\n\n private async applyAutoDetectedPeersFromEnvOnEnvItSelf(): Promise<void> {\n const envPolicy = await this.depsResolver.getEnvPolicyFromEnvId(\n this.component.id,\n this.component.files,\n this.getEnvExtendsDeps()\n );\n if (!envPolicy) return;\n const envPolicyManifest = envPolicy.selfPolicy.toVersionManifest();\n\n if (!envPolicyManifest || !Object.keys(envPolicyManifest).length) {\n return;\n }\n const deps = this.allPackagesDependencies.packageDependencies || {};\n // we are not iterate component deps since they are resolved from what actually installed\n // the policy used for installation only in that case\n ['packageDependencies', 'devPackageDependencies', 'peerPackageDependencies'].forEach((field) => {\n forEach(this.allPackagesDependencies[field], (_pkgVal, pkgName) => {\n const peerVersionFromEnvPolicy = envPolicyManifest[pkgName];\n if (peerVersionFromEnvPolicy) {\n delete this.allPackagesDependencies[field][pkgName];\n }\n });\n });\n const resolvedEnvPolicyManifest = Object.keys(envPolicyManifest).reduce((acc, pkgName) => {\n const version = envPolicyManifest[pkgName];\n if (version !== '+') {\n acc[pkgName] = version;\n return acc;\n }\n acc[pkgName] = this.resolveEnvPeerDepVersion(pkgName);\n return acc;\n }, {});\n // TODO: handle component deps once we support peers between components\n this.allPackagesDependencies.packageDependencies = {\n ...deps,\n ...resolvedEnvPolicyManifest,\n };\n }\n\n /**\n * in the env.jsonc file, a policy-peer package can have `+` sign in the version. it means that it should be resolved\n * from the workspace. whatever version is installed/imported in the workspace, it should be used here.\n * in some cases, the package is not installed in the workspace, for example, the env is now imported without the\n * dep. so the dep is not in the node_modules.\n * strategy should be: .bitmap, workspace.jsonc, then model.\n * it's not in .bitmap, otherwise, it was linked and `_resolvePackageData` would have found it.\n * so either, it's in the workspace.jsonc or in the model.\n */\n private resolveEnvPeerDepVersion(pkgName: string): string {\n const resolved = this._resolvePackageData(pkgName);\n if (resolved && resolved.concreteVersion) {\n return resolved.concreteVersion;\n }\n const wsPolicy = this.depsResolver.getWorkspacePolicyManifest();\n const wsVersion = wsPolicy?.dependencies?.[pkgName] || wsPolicy?.peerDependencies?.[pkgName];\n if (wsVersion) {\n return wsVersion;\n }\n const fromModelDep = this.componentFromModel?.dependencies.get().find((dep) => dep.packageName === pkgName);\n if (fromModelDep) {\n return fromModelDep.id.version;\n }\n const fromModelPkg = this.componentFromModel?.packageDependencies[pkgName];\n if (fromModelPkg) {\n return fromModelPkg;\n }\n // no where to be found. instead of throwing an error, return the \"latest\" version\n return '*';\n }\n\n /**\n * returns `package.json` of the component when it's imported, or `package.json` of the workspace\n * when it's authored.\n */\n private _getPackageJson(): Record<string, any> | undefined {\n return this.consumer?.packageJson.packageJsonObject;\n }\n\n private _getPackageJsonFromComponentModel(): Record<string, any> | undefined {\n if (this.componentFromModel && this.component.componentMap) {\n // a component is imported but the package.json file is missing or never written\n // read the values from the model\n const packageJson = PackageJsonFile.createFromComponent(\n this.component.componentMap.rootDir,\n this.componentFromModel\n );\n return packageJson.packageJsonObject;\n }\n return undefined;\n }\n\n private setLegacyInsideHarmonyIssue() {\n if (this.componentFromModel && this.componentFromModel.isLegacy) {\n this.issues.getOrCreate(IssuesClasses.LegacyInsideHarmony).data = true;\n }\n }\n\n private _pkgFieldMapping(field: string) {\n switch (field) {\n case 'dependencies':\n return 'packageDependencies';\n case 'devDependencies':\n return 'devPackageDependencies';\n case 'peerDependencies':\n return 'peerPackageDependencies';\n default:\n throw new Error(`${field} is not recognized`);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -41,7 +41,7 @@ class DependentsCmd {
41
41
  description: 'component name or component id'
42
42
  }]);
43
43
  _defineProperty(this, "description", 'show dependents of the given component');
44
- _defineProperty(this, "group", 'info');
44
+ _defineProperty(this, "group", 'dependencies');
45
45
  _defineProperty(this, "alias", '');
46
46
  _defineProperty(this, "options", [['j', 'json', 'return the dependents in JSON format']]);
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_dependents","_template","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DependentsCmd","constructor","workspace","name","description","report","id","results","dependents","scopeDependents","workspaceDependents","toString","toStringWithoutVersion","scopeTable","generateDependentsInfoTable","workspaceTable","chalk","bold","json","depInfoToString","depInfo","map","exports"],"sources":["dependents-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { dependents, DependentsResults } from './dependents';\nimport { generateDependentsInfoTable } from './template';\nimport { Workspace } from '@teambit/workspace';\n\nexport class DependentsCmd implements Command {\n name = 'dependents <component-name>';\n helpUrl = 'reference/dependencies/inspecting-dependencies#review-dependents';\n arguments = [\n {\n name: 'component-name',\n description: 'component name or component id',\n },\n ];\n description = 'show dependents of the given component';\n group = 'info';\n alias = '';\n options = [['j', 'json', 'return the dependents in JSON format']] as CommandOptions;\n\n constructor(private workspace: Workspace) {}\n\n async report([id]: [string]) {\n const results: DependentsResults = await dependents(id, this.workspace);\n if (!results.scopeDependents.length && !results.workspaceDependents.length) {\n return `no dependents found for ${results.id.toString()}.\ntry running \"bit cat-component ${results.id.toStringWithoutVersion()}\" to see whether the component/version exists locally`;\n }\n const scopeTable = generateDependentsInfoTable(results.scopeDependents, results.id);\n const workspaceTable = generateDependentsInfoTable(results.workspaceDependents, results.id);\n return `${chalk.bold('Dependents originated from workspace')}\n${workspaceTable || '<none>'}\n\n${chalk.bold('Dependents originated from scope')}\n${scopeTable || '<none>'}`;\n }\n\n async json([id]: [string]) {\n const results: DependentsResults = await dependents(id, this.workspace);\n const depInfoToString = (depInfo) => {\n return {\n ...depInfo,\n id: depInfo.id.toString(),\n };\n };\n return {\n scopeDependents: results.scopeDependents.map(depInfoToString),\n workspaceDependents: results.workspaceDependents.map(depInfoToString),\n id: results.id.toString(),\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_dependents","_template","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DependentsCmd","constructor","workspace","name","description","report","id","results","dependents","scopeDependents","workspaceDependents","toString","toStringWithoutVersion","scopeTable","generateDependentsInfoTable","workspaceTable","chalk","bold","json","depInfoToString","depInfo","map","exports"],"sources":["dependents-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { dependents, DependentsResults } from './dependents';\nimport { generateDependentsInfoTable } from './template';\nimport { Workspace } from '@teambit/workspace';\n\nexport class DependentsCmd implements Command {\n name = 'dependents <component-name>';\n helpUrl = 'reference/dependencies/inspecting-dependencies#review-dependents';\n arguments = [\n {\n name: 'component-name',\n description: 'component name or component id',\n },\n ];\n description = 'show dependents of the given component';\n group = 'dependencies';\n alias = '';\n options = [['j', 'json', 'return the dependents in JSON format']] as CommandOptions;\n\n constructor(private workspace: Workspace) {}\n\n async report([id]: [string]) {\n const results: DependentsResults = await dependents(id, this.workspace);\n if (!results.scopeDependents.length && !results.workspaceDependents.length) {\n return `no dependents found for ${results.id.toString()}.\ntry running \"bit cat-component ${results.id.toStringWithoutVersion()}\" to see whether the component/version exists locally`;\n }\n const scopeTable = generateDependentsInfoTable(results.scopeDependents, results.id);\n const workspaceTable = generateDependentsInfoTable(results.workspaceDependents, results.id);\n return `${chalk.bold('Dependents originated from workspace')}\n${workspaceTable || '<none>'}\n\n${chalk.bold('Dependents originated from scope')}\n${scopeTable || '<none>'}`;\n }\n\n async json([id]: [string]) {\n const results: DependentsResults = await dependents(id, this.workspace);\n const depInfoToString = (depInfo) => {\n return {\n ...depInfo,\n id: depInfo.id.toString(),\n };\n };\n return {\n scopeDependents: results.scopeDependents.map(depInfoToString),\n workspaceDependents: results.workspaceDependents.map(depInfoToString),\n id: results.id.toString(),\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/dependencies",
3
- "version": "1.0.623",
3
+ "version": "1.0.624",
4
4
  "homepage": "https://bit.cloud/teambit/dependencies/dependencies",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.dependencies",
8
8
  "name": "dependencies",
9
- "version": "1.0.623"
9
+ "version": "1.0.624"
10
10
  },
11
11
  "dependencies": {
12
12
  "archy": "1.0.0",
@@ -20,35 +20,35 @@
20
20
  "fs-extra": "10.0.0",
21
21
  "semver": "7.7.1",
22
22
  "debug": "4.3.4",
23
+ "resolve-dependency-path": "2.0.0",
24
+ "stylus-lookup": "3.0.2",
23
25
  "detective-amd": "3.0.1",
24
26
  "detective-stylus": "1.0.0",
25
27
  "module-definition": "3.3.1",
26
28
  "node-source-walk": "4.2.0",
27
- "resolve-dependency-path": "2.0.0",
28
- "stylus-lookup": "3.0.2",
29
29
  "@teambit/harmony": "0.4.7",
30
30
  "@teambit/component-id": "1.2.4",
31
31
  "@teambit/bit-error": "0.0.404",
32
32
  "@teambit/component-version": "1.0.4",
33
+ "@teambit/styling.deps-lookups.lookup-styling": "0.0.4",
34
+ "@teambit/typescript.deps-lookups.lookup-typescript": "0.0.2",
33
35
  "@teambit/node.deps-detectors.detective-es6": "0.0.6",
34
36
  "@teambit/styling.deps-detectors.detective-css": "0.0.6",
35
37
  "@teambit/styling.deps-detectors.detective-less": "0.0.6",
36
38
  "@teambit/styling.deps-detectors.detective-sass": "0.0.9",
37
39
  "@teambit/styling.deps-detectors.detective-scss": "0.0.9",
38
40
  "@teambit/typescript.deps-detectors.detective-typescript": "0.0.9",
39
- "@teambit/styling.deps-lookups.lookup-styling": "0.0.4",
40
- "@teambit/typescript.deps-lookups.lookup-typescript": "0.0.2",
41
- "@teambit/cli": "0.0.1200",
42
- "@teambit/graph": "1.0.623",
41
+ "@teambit/cli": "0.0.1201",
42
+ "@teambit/graph": "1.0.624",
43
43
  "@teambit/legacy.constants": "0.0.11",
44
- "@teambit/workspace": "1.0.623",
45
- "@teambit/aspect-loader": "1.0.623",
44
+ "@teambit/workspace": "1.0.624",
45
+ "@teambit/aspect-loader": "1.0.624",
46
46
  "@teambit/component-package-version": "0.0.438",
47
- "@teambit/dependency-resolver": "1.0.623",
48
- "@teambit/dev-files": "1.0.623",
47
+ "@teambit/dependency-resolver": "1.0.624",
48
+ "@teambit/dev-files": "1.0.624",
49
49
  "@teambit/legacy.consumer-component": "0.0.51",
50
- "@teambit/logger": "0.0.1293",
51
- "@teambit/scope": "1.0.623",
50
+ "@teambit/logger": "0.0.1294",
51
+ "@teambit/scope": "1.0.624",
52
52
  "@teambit/legacy.dependency-graph": "0.0.53",
53
53
  "@teambit/component.sources": "0.0.102",
54
54
  "@teambit/legacy.utils": "0.0.21",