@teambit/dependencies 1.0.176 → 1.0.178

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.
@@ -52,6 +52,12 @@ export type DebugComponentsDependency = {
52
52
  packageName?: string;
53
53
  };
54
54
 
55
+ type PushToDepsArrayOpts = {
56
+ fileType: FileType;
57
+ depDebug: DebugComponentsDependency;
58
+ isPeer?: boolean;
59
+ };
60
+
55
61
  export class AutoDetectDeps {
56
62
  componentId: ComponentID;
57
63
  componentMap: ComponentMap;
@@ -348,7 +354,7 @@ export class AutoDetectDeps {
348
354
  id: currentComponentsDeps.id,
349
355
  importSource,
350
356
  };
351
- this.pushToDependenciesArray(currentComponentsDeps, fileType, depDebug);
357
+ this.pushToDependenciesArray(currentComponentsDeps, { fileType, depDebug });
352
358
  }
353
359
  return false;
354
360
  }
@@ -399,8 +405,28 @@ export class AutoDetectDeps {
399
405
  return;
400
406
  }
401
407
  this.addImportNonMainIssueIfNeeded(originFile, compDep);
402
- const currentComponentsDeps = new Dependency(existingId, [], compDep.name);
403
- this._pushToDependenciesIfNotExist(currentComponentsDeps, fileType, depDebug);
408
+ const isPeer = compDep.packageJsonContent?.bit?.peer;
409
+ let peerVersionRange: string | undefined;
410
+ if (isPeer) {
411
+ const defaultPeerRange = compDep.packageJsonContent?.bit?.defaultPeerRange;
412
+ if (!defaultPeerRange) {
413
+ peerVersionRange = '*';
414
+ } else if (['~', '^', '>='].includes(defaultPeerRange)) {
415
+ if (semver.valid(compDep.concreteVersion)) {
416
+ peerVersionRange = `${defaultPeerRange}${compDep.concreteVersion}`;
417
+ } else {
418
+ peerVersionRange = `${defaultPeerRange}0.0.0-${compDep.concreteVersion}`;
419
+ }
420
+ } else {
421
+ peerVersionRange = defaultPeerRange;
422
+ }
423
+ }
424
+ const currentComponentsDeps = new Dependency(existingId, [], compDep.name, peerVersionRange);
425
+ this._pushToDependenciesIfNotExist(currentComponentsDeps, {
426
+ fileType,
427
+ depDebug,
428
+ isPeer,
429
+ });
404
430
  });
405
431
  }
406
432
 
@@ -578,34 +604,28 @@ export class AutoDetectDeps {
578
604
  this.debugDependenciesData.unidentifiedPackages = unidentifiedPackages;
579
605
  }
580
606
 
581
- private _pushToDependenciesIfNotExist(
582
- dependency: Dependency,
583
- fileType: FileType,
584
- depDebug: DebugComponentsDependency
585
- ) {
607
+ private _pushToDependenciesIfNotExist(dependency: Dependency, opts: PushToDepsArrayOpts) {
586
608
  const existingDependency = this.getExistingDependency(this.allDependencies.dependencies, dependency.id);
587
609
  const existingDevDependency = this.getExistingDependency(this.allDependencies.devDependencies, dependency.id);
588
610
  // no need to enter dev dependency to devDependencies if it exists already in dependencies
589
- if (existingDependency || (existingDevDependency && fileType.isTestFile)) {
611
+ if (existingDependency || (existingDevDependency && opts.fileType.isTestFile)) {
590
612
  return;
591
613
  }
592
614
  // at this point, either, it doesn't exist at all and should be entered.
593
615
  // or it exists in devDependencies but now it comes from non-dev file, which should be entered
594
616
  // as non-dev.
595
- this.pushToDependenciesArray(dependency, fileType, depDebug);
617
+ this.pushToDependenciesArray(dependency, opts);
596
618
  }
597
619
 
598
- private pushToDependenciesArray(
599
- currentComponentsDeps: Dependency,
600
- fileType: FileType,
601
- depDebug: DebugComponentsDependency
602
- ) {
603
- if (fileType.isTestFile) {
620
+ private pushToDependenciesArray(currentComponentsDeps: Dependency, opts: PushToDepsArrayOpts) {
621
+ if (opts.fileType.isTestFile) {
604
622
  this.allDependencies.devDependencies.push(currentComponentsDeps);
623
+ } else if (opts.isPeer) {
624
+ this.allDependencies.peerDependencies.push(currentComponentsDeps);
605
625
  } else {
606
626
  this.allDependencies.dependencies.push(currentComponentsDeps);
607
627
  }
608
- this.debugDependenciesData.components.push(depDebug);
628
+ this.debugDependenciesData.components.push(opts.depDebug);
609
629
  }
610
630
 
611
631
  private getExistingDependency(dependencies: Dependency[], id: ComponentID): Dependency | null | undefined {
@@ -152,4 +152,18 @@ export declare class DependenciesCmd implements Command {
152
152
  helpUrl: string;
153
153
  report([unrecognizedSubcommand]: [string]): Promise<string>;
154
154
  }
155
+ export declare class SetPeerCmd implements Command {
156
+ private deps;
157
+ name: string;
158
+ arguments: {
159
+ name: string;
160
+ description: string;
161
+ }[];
162
+ group: string;
163
+ description: string;
164
+ alias: string;
165
+ options: never[];
166
+ constructor(deps: DependenciesMain);
167
+ report([componentId, range]: [string, string]): Promise<string>;
168
+ }
155
169
  export {};
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WhyCmd = exports.DependenciesUsageCmd = exports.DependenciesUnsetCmd = exports.DependenciesSetCmd = exports.DependenciesResetCmd = exports.DependenciesRemoveCmd = exports.DependenciesGetCmd = exports.DependenciesEjectCmd = exports.DependenciesDebugCmd = exports.DependenciesCmd = exports.DependenciesBlameCmd = void 0;
6
+ exports.WhyCmd = exports.SetPeerCmd = exports.DependenciesUsageCmd = exports.DependenciesUnsetCmd = exports.DependenciesSetCmd = exports.DependenciesResetCmd = exports.DependenciesRemoveCmd = exports.DependenciesGetCmd = exports.DependenciesEjectCmd = exports.DependenciesDebugCmd = exports.DependenciesCmd = exports.DependenciesBlameCmd = void 0;
7
7
  function _cliTable() {
8
8
  const data = _interopRequireDefault(require("cli-table"));
9
9
  _cliTable = function () {
@@ -334,5 +334,27 @@ class DependenciesCmd {
334
334
  }
335
335
  }
336
336
  exports.DependenciesCmd = DependenciesCmd;
337
+ class SetPeerCmd {
338
+ constructor(deps) {
339
+ this.deps = deps;
340
+ _defineProperty(this, "name", 'set-peer <component-id> <range>');
341
+ _defineProperty(this, "arguments", [{
342
+ name: 'component-id',
343
+ description: 'the component to set as always peer'
344
+ }, {
345
+ name: 'range',
346
+ description: 'the default range to use for the componnent, when added to peerDependencies'
347
+ }]);
348
+ _defineProperty(this, "group", 'info');
349
+ _defineProperty(this, "description", 'set a component as always peer');
350
+ _defineProperty(this, "alias", '');
351
+ _defineProperty(this, "options", []);
352
+ }
353
+ async report([componentId, range]) {
354
+ await this.deps.setPeer(componentId, range != null ? range.toString() : range);
355
+ return `${_chalk().default.green('successfully marked the component as a peer component')}`;
356
+ }
357
+ }
358
+ exports.SetPeerCmd = SetPeerCmd;
337
359
 
338
360
  //# sourceMappingURL=dependencies-cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_cliTable","data","_interopRequireDefault","require","_chalk","_archy","_componentTemplate","_constants","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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"],"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 { generateDependenciesInfoTable } from '@teambit/legacy/dist/cli/templates/component-template';\nimport { ComponentIdGraph } from '@teambit/graph';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { DependenciesMain } from './dependencies.main.runtime';\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', 'EXPERIMENTAL. 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 to component(s)';\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 previously set by \"bit deps set\"';\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 = 'EXPERIMENTAL. 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 = 'EXPERIMENTAL. 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"],"mappings":"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"}
1
+ {"version":3,"names":["_cliTable","data","_interopRequireDefault","require","_chalk","_archy","_componentTemplate","_constants","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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"],"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 { generateDependenciesInfoTable } from '@teambit/legacy/dist/cli/templates/component-template';\nimport { ComponentIdGraph } from '@teambit/graph';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { DependenciesMain } from './dependencies.main.runtime';\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', 'EXPERIMENTAL. 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 to component(s)';\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 previously set by \"bit deps set\"';\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 = 'EXPERIMENTAL. 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 = 'EXPERIMENTAL. 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"],"mappings":"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"}
@@ -376,7 +376,10 @@ class AutoDetectDeps {
376
376
  id: currentComponentsDeps.id,
377
377
  importSource
378
378
  };
379
- this.pushToDependenciesArray(currentComponentsDeps, fileType, depDebug);
379
+ this.pushToDependenciesArray(currentComponentsDeps, {
380
+ fileType,
381
+ depDebug
382
+ });
380
383
  }
381
384
  return false;
382
385
  }
@@ -427,8 +430,28 @@ class AutoDetectDeps {
427
430
  return;
428
431
  }
429
432
  this.addImportNonMainIssueIfNeeded(originFile, compDep);
430
- const currentComponentsDeps = new (_dependencies().Dependency)(existingId, [], compDep.name);
431
- this._pushToDependenciesIfNotExist(currentComponentsDeps, fileType, depDebug);
433
+ const isPeer = compDep.packageJsonContent?.bit?.peer;
434
+ let peerVersionRange;
435
+ if (isPeer) {
436
+ const defaultPeerRange = compDep.packageJsonContent?.bit?.defaultPeerRange;
437
+ if (!defaultPeerRange) {
438
+ peerVersionRange = '*';
439
+ } else if (['~', '^', '>='].includes(defaultPeerRange)) {
440
+ if (_semver().default.valid(compDep.concreteVersion)) {
441
+ peerVersionRange = `${defaultPeerRange}${compDep.concreteVersion}`;
442
+ } else {
443
+ peerVersionRange = `${defaultPeerRange}0.0.0-${compDep.concreteVersion}`;
444
+ }
445
+ } else {
446
+ peerVersionRange = defaultPeerRange;
447
+ }
448
+ }
449
+ const currentComponentsDeps = new (_dependencies().Dependency)(existingId, [], compDep.name, peerVersionRange);
450
+ this._pushToDependenciesIfNotExist(currentComponentsDeps, {
451
+ fileType,
452
+ depDebug,
453
+ isPeer
454
+ });
432
455
  });
433
456
  }
434
457
  isPkgInWorkspacePolicies(pkgName) {
@@ -592,25 +615,27 @@ class AutoDetectDeps {
592
615
  if (!unidentifiedPackages || !unidentifiedPackages.length) return;
593
616
  this.debugDependenciesData.unidentifiedPackages = unidentifiedPackages;
594
617
  }
595
- _pushToDependenciesIfNotExist(dependency, fileType, depDebug) {
618
+ _pushToDependenciesIfNotExist(dependency, opts) {
596
619
  const existingDependency = this.getExistingDependency(this.allDependencies.dependencies, dependency.id);
597
620
  const existingDevDependency = this.getExistingDependency(this.allDependencies.devDependencies, dependency.id);
598
621
  // no need to enter dev dependency to devDependencies if it exists already in dependencies
599
- if (existingDependency || existingDevDependency && fileType.isTestFile) {
622
+ if (existingDependency || existingDevDependency && opts.fileType.isTestFile) {
600
623
  return;
601
624
  }
602
625
  // at this point, either, it doesn't exist at all and should be entered.
603
626
  // or it exists in devDependencies but now it comes from non-dev file, which should be entered
604
627
  // as non-dev.
605
- this.pushToDependenciesArray(dependency, fileType, depDebug);
628
+ this.pushToDependenciesArray(dependency, opts);
606
629
  }
607
- pushToDependenciesArray(currentComponentsDeps, fileType, depDebug) {
608
- if (fileType.isTestFile) {
630
+ pushToDependenciesArray(currentComponentsDeps, opts) {
631
+ if (opts.fileType.isTestFile) {
609
632
  this.allDependencies.devDependencies.push(currentComponentsDeps);
633
+ } else if (opts.isPeer) {
634
+ this.allDependencies.peerDependencies.push(currentComponentsDeps);
610
635
  } else {
611
636
  this.allDependencies.dependencies.push(currentComponentsDeps);
612
637
  }
613
- this.debugDependenciesData.components.push(depDebug);
638
+ this.debugDependenciesData.components.push(opts.depDebug);
614
639
  }
615
640
  getExistingDependency(dependencies, id) {
616
641
  return dependencies.find(d => d.id.isEqualWithoutVersion(id));