@teambit/install 0.0.28 → 0.0.30

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.
Files changed (42) hide show
  1. package/dist/exceptions/dependency-type-not-supported-in-policy.js +0 -6
  2. package/dist/exceptions/dependency-type-not-supported-in-policy.js.map +1 -1
  3. package/dist/exceptions/index.js +0 -3
  4. package/dist/exceptions/index.js.map +1 -1
  5. package/dist/index.js +0 -5
  6. package/dist/index.js.map +1 -1
  7. package/dist/install.aspect.js +0 -5
  8. package/dist/install.aspect.js.map +1 -1
  9. package/dist/install.cmd.js +0 -17
  10. package/dist/install.cmd.js.map +1 -1
  11. package/dist/install.main.runtime.js +11 -142
  12. package/dist/install.main.runtime.js.map +1 -1
  13. package/dist/link/component-list-links.js +0 -18
  14. package/dist/link/component-list-links.js.map +1 -1
  15. package/dist/link/core-aspects-links.js +0 -18
  16. package/dist/link/core-aspects-links.js.map +1 -1
  17. package/dist/link/get-package-name-from-target.js +0 -2
  18. package/dist/link/get-package-name-from-target.js.map +1 -1
  19. package/dist/link/index.js +0 -3
  20. package/dist/link/index.js.map +1 -1
  21. package/dist/link/link-row.js +0 -6
  22. package/dist/link/link-row.js.map +1 -1
  23. package/dist/link/link-to-dir.js +0 -10
  24. package/dist/link/link-to-dir.js.map +1 -1
  25. package/dist/link/link.cmd.js +2 -36
  26. package/dist/link/link.cmd.js.map +1 -1
  27. package/dist/link/nested-deps-in-nm-links.js +0 -15
  28. package/dist/link/nested-deps-in-nm-links.js.map +1 -1
  29. package/dist/link/rewire-row.js +0 -5
  30. package/dist/link/rewire-row.js.map +1 -1
  31. package/dist/pick-outdated-pkgs.js +3 -64
  32. package/dist/pick-outdated-pkgs.js.map +1 -1
  33. package/dist/pick-outdated-pkgs.spec.js +10 -13
  34. package/dist/pick-outdated-pkgs.spec.js.map +1 -1
  35. package/dist/uninstall.cmd.js +0 -10
  36. package/dist/uninstall.cmd.js.map +1 -1
  37. package/dist/update.cmd.js +0 -9
  38. package/dist/update.cmd.js.map +1 -1
  39. package/package-tar/teambit-install-0.0.30.tgz +0 -0
  40. package/package.json +4 -4
  41. /package/{preview-1666409808293.js → preview-1666669368175.js} +0 -0
  42. package/package-tar/teambit-install-0.0.28.tgz +0 -0
@@ -1,96 +1,68 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.LinkCommand = void 0;
13
-
14
10
  function _defineProperty2() {
15
11
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
12
  _defineProperty2 = function () {
18
13
  return data;
19
14
  };
20
-
21
15
  return data;
22
16
  }
23
-
24
17
  function _toolboxTime() {
25
18
  const data = require("@teambit/toolbox.time.time-format");
26
-
27
19
  _toolboxTime = function () {
28
20
  return data;
29
21
  };
30
-
31
22
  return data;
32
23
  }
33
-
34
24
  function _chalk() {
35
25
  const data = _interopRequireDefault(require("chalk"));
36
-
37
26
  _chalk = function () {
38
27
  return data;
39
28
  };
40
-
41
29
  return data;
42
30
  }
43
-
44
31
  function _componentListLinks() {
45
32
  const data = require("./component-list-links");
46
-
47
33
  _componentListLinks = function () {
48
34
  return data;
49
35
  };
50
-
51
36
  return data;
52
37
  }
53
-
54
38
  function _coreAspectsLinks() {
55
39
  const data = require("./core-aspects-links");
56
-
57
40
  _coreAspectsLinks = function () {
58
41
  return data;
59
42
  };
60
-
61
43
  return data;
62
44
  }
63
-
64
45
  function _nestedDepsInNmLinks() {
65
46
  const data = require("./nested-deps-in-nm-links");
66
-
67
47
  _nestedDepsInNmLinks = function () {
68
48
  return data;
69
49
  };
70
-
71
50
  return data;
72
51
  }
73
-
74
52
  function _rewireRow() {
75
53
  const data = require("./rewire-row");
76
-
77
54
  _rewireRow = function () {
78
55
  return data;
79
56
  };
80
-
81
57
  return data;
82
58
  }
83
-
84
59
  function _linkToDir() {
85
60
  const data = require("./link-to-dir");
86
-
87
61
  _linkToDir = function () {
88
62
  return data;
89
63
  };
90
-
91
64
  return data;
92
65
  }
93
-
94
66
  class LinkCommand {
95
67
  constructor(install,
96
68
  /**
@@ -118,21 +90,17 @@ class LinkCommand {
118
90
  (0, _defineProperty2().default)(this, "options", [['j', 'json', 'return the output as JSON'], ['', 'verbose', 'verbose output'], ['r', 'rewire', 'Replace relative paths with module paths in code (e.g. "../foo" => "@bit/foo")'], ['', 'target <dir>', 'EXPERIMENTAL. link to an external directory (similar to npm-link) so other projects could use these components'], ['', 'skip-fetching-objects', 'skip fetch missing objects from remotes before linking']]);
119
91
  this.extendedDescription = `https://${this.docsDomain}/workspace/component-links`;
120
92
  }
121
-
122
93
  async report([ids], opts) {
123
94
  var _linkResults$legacyLi;
124
-
125
95
  const startTime = Date.now();
126
96
  const linkResults = await this.json([ids], opts);
127
97
  const endTime = Date.now();
128
98
  const numOfComponents = (_linkResults$legacyLi = linkResults.legacyLinkResults) === null || _linkResults$legacyLi === void 0 ? void 0 : _linkResults$legacyLi.length;
129
99
  const timeDiff = (0, _toolboxTime().timeFormat)(endTime - startTime);
130
100
  const coreAspectsLinksWithMainAspect = linkResults.coreAspectsLinks || [];
131
-
132
101
  if (linkResults.teambitBitLink) {
133
102
  coreAspectsLinksWithMainAspect.unshift(linkResults.teambitBitLink);
134
103
  }
135
-
136
104
  const numOfCoreAspects = coreAspectsLinksWithMainAspect.length;
137
105
  const title = `Linked ${numOfComponents} components and ${numOfCoreAspects} core aspects to node_modules for workspace: ${this.workspace.name}`;
138
106
  const coreLinks = (0, _coreAspectsLinks().CoreAspectsLinks)({
@@ -153,9 +121,9 @@ class LinkCommand {
153
121
  const targetLinks = (0, _linkToDir().linkToDir)(linkResults.linkToDirResults);
154
122
  const footer = `Finished. ${timeDiff}`;
155
123
  return `${title}\n${coreLinks}\n${compsLinks}\n${rewireRow}${nestedLinks}${targetLinks}${footer}`;
156
- } // eslint-disable-next-line @typescript-eslint/no-unused-vars
157
-
124
+ }
158
125
 
126
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
159
127
  async json([ids], opts) {
160
128
  this.logger.console(`Linking components and core aspects to node_modules for workspaces: '${_chalk().default.cyan(this.workspace.name)}'`);
161
129
  const linkOpts = {
@@ -169,9 +137,7 @@ class LinkCommand {
169
137
  const linkResults = await this.install.link(linkOpts);
170
138
  return linkResults;
171
139
  }
172
-
173
140
  }
174
-
175
141
  exports.LinkCommand = LinkCommand;
176
142
 
177
143
  //# sourceMappingURL=link.cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LinkCommand","constructor","install","workspace","logger","docsDomain","name","description","extendedDescription","report","ids","opts","startTime","Date","now","linkResults","json","endTime","numOfComponents","legacyLinkResults","length","timeDiff","timeFormat","coreAspectsLinksWithMainAspect","coreAspectsLinks","teambitBitLink","unshift","numOfCoreAspects","title","coreLinks","CoreAspectsLinks","verbose","compsLinks","ComponentListLinks","componentListLinks","rewireRow","RewireRow","legacyCodemodResults","legacyLinkCodemodResults","nestedLinks","NestedComponentLinksLinks","nestedDepsInNmLinks","targetLinks","linkToDir","linkToDirResults","footer","console","chalk","cyan","linkOpts","legacyLink","rewire","linkCoreAspects","linkTeambitBit","target","fetchObject","skipFetchingObjects","link"],"sources":["link.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { LinkResults } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { timeFormat } from '@teambit/toolbox.time.time-format';\nimport chalk from 'chalk';\nimport { Workspace } from '@teambit/workspace';\nimport { InstallMain, WorkspaceLinkOptions } from '../install.main.runtime';\nimport { ComponentListLinks } from './component-list-links';\nimport { CoreAspectsLinks } from './core-aspects-links';\nimport { NestedComponentLinksLinks } from './nested-deps-in-nm-links';\nimport { RewireRow } from './rewire-row';\nimport { linkToDir } from './link-to-dir';\n\ntype LinkCommandOpts = {\n rewire: boolean;\n verbose: boolean;\n target: string;\n skipFetchingObjects?: boolean;\n};\nexport class LinkCommand implements Command {\n name = 'link [component-names...]';\n alias = '';\n description = 'create links in the node_modules directory, to core aspects and to components in the workspace';\n extendedDescription: string;\n group = 'development';\n private = false;\n arguments = [{ name: 'component-names...', description: 'names or IDs of the components to link' }];\n options = [\n ['j', 'json', 'return the output as JSON'],\n ['', 'verbose', 'verbose output'],\n ['r', 'rewire', 'Replace relative paths with module paths in code (e.g. \"../foo\" => \"@bit/foo\")'],\n [\n '',\n 'target <dir>',\n 'EXPERIMENTAL. link to an external directory (similar to npm-link) so other projects could use these components',\n ],\n ['', 'skip-fetching-objects', 'skip fetch missing objects from remotes before linking'],\n ] as CommandOptions;\n\n constructor(\n private install: InstallMain,\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * logger extension.\n */\n private logger: Logger,\n\n private docsDomain: string\n ) {\n this.extendedDescription = `https://${this.docsDomain}/workspace/component-links`;\n }\n\n async report([ids]: [string[]], opts: LinkCommandOpts) {\n const startTime = Date.now();\n const linkResults = await this.json([ids], opts);\n const endTime = Date.now();\n const numOfComponents = linkResults.legacyLinkResults?.length;\n const timeDiff = timeFormat(endTime - startTime);\n const coreAspectsLinksWithMainAspect = linkResults.coreAspectsLinks || [];\n if (linkResults.teambitBitLink) {\n coreAspectsLinksWithMainAspect.unshift(linkResults.teambitBitLink);\n }\n const numOfCoreAspects = coreAspectsLinksWithMainAspect.length;\n\n const title = `Linked ${numOfComponents} components and ${numOfCoreAspects} core aspects to node_modules for workspace: ${this.workspace.name}`;\n const coreLinks = CoreAspectsLinks({\n coreAspectsLinks: coreAspectsLinksWithMainAspect,\n verbose: opts.verbose,\n });\n const compsLinks = ComponentListLinks({ componentListLinks: linkResults.legacyLinkResults, verbose: opts.verbose });\n const rewireRow = RewireRow({ legacyCodemodResults: linkResults.legacyLinkCodemodResults });\n const nestedLinks = NestedComponentLinksLinks({\n nestedDepsInNmLinks: linkResults.nestedDepsInNmLinks,\n verbose: opts.verbose,\n });\n const targetLinks = linkToDir(linkResults.linkToDirResults);\n const footer = `Finished. ${timeDiff}`;\n return `${title}\\n${coreLinks}\\n${compsLinks}\\n${rewireRow}${nestedLinks}${targetLinks}${footer}`;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async json([ids]: [string[]], opts: LinkCommandOpts): Promise<LinkResults> {\n this.logger.console(\n `Linking components and core aspects to node_modules for workspaces: '${chalk.cyan(this.workspace.name)}'`\n );\n\n const linkOpts: WorkspaceLinkOptions = {\n legacyLink: true,\n rewire: opts.rewire,\n linkCoreAspects: true,\n linkTeambitBit: true,\n linkToDir: opts.target,\n fetchObject: !opts.skipFetchingObjects,\n };\n const linkResults = await this.install.link(linkOpts);\n return linkResults;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["LinkCommand","constructor","install","workspace","logger","docsDomain","name","description","extendedDescription","report","ids","opts","startTime","Date","now","linkResults","json","endTime","numOfComponents","legacyLinkResults","length","timeDiff","timeFormat","coreAspectsLinksWithMainAspect","coreAspectsLinks","teambitBitLink","unshift","numOfCoreAspects","title","coreLinks","CoreAspectsLinks","verbose","compsLinks","ComponentListLinks","componentListLinks","rewireRow","RewireRow","legacyCodemodResults","legacyLinkCodemodResults","nestedLinks","NestedComponentLinksLinks","nestedDepsInNmLinks","targetLinks","linkToDir","linkToDirResults","footer","console","chalk","cyan","linkOpts","legacyLink","rewire","linkCoreAspects","linkTeambitBit","target","fetchObject","skipFetchingObjects","link"],"sources":["link.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { LinkResults } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { timeFormat } from '@teambit/toolbox.time.time-format';\nimport chalk from 'chalk';\nimport { Workspace } from '@teambit/workspace';\nimport { InstallMain, WorkspaceLinkOptions } from '../install.main.runtime';\nimport { ComponentListLinks } from './component-list-links';\nimport { CoreAspectsLinks } from './core-aspects-links';\nimport { NestedComponentLinksLinks } from './nested-deps-in-nm-links';\nimport { RewireRow } from './rewire-row';\nimport { linkToDir } from './link-to-dir';\n\ntype LinkCommandOpts = {\n rewire: boolean;\n verbose: boolean;\n target: string;\n skipFetchingObjects?: boolean;\n};\nexport class LinkCommand implements Command {\n name = 'link [component-names...]';\n alias = '';\n description = 'create links in the node_modules directory, to core aspects and to components in the workspace';\n extendedDescription: string;\n group = 'development';\n private = false;\n arguments = [{ name: 'component-names...', description: 'names or IDs of the components to link' }];\n options = [\n ['j', 'json', 'return the output as JSON'],\n ['', 'verbose', 'verbose output'],\n ['r', 'rewire', 'Replace relative paths with module paths in code (e.g. \"../foo\" => \"@bit/foo\")'],\n [\n '',\n 'target <dir>',\n 'EXPERIMENTAL. link to an external directory (similar to npm-link) so other projects could use these components',\n ],\n ['', 'skip-fetching-objects', 'skip fetch missing objects from remotes before linking'],\n ] as CommandOptions;\n\n constructor(\n private install: InstallMain,\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * logger extension.\n */\n private logger: Logger,\n\n private docsDomain: string\n ) {\n this.extendedDescription = `https://${this.docsDomain}/workspace/component-links`;\n }\n\n async report([ids]: [string[]], opts: LinkCommandOpts) {\n const startTime = Date.now();\n const linkResults = await this.json([ids], opts);\n const endTime = Date.now();\n const numOfComponents = linkResults.legacyLinkResults?.length;\n const timeDiff = timeFormat(endTime - startTime);\n const coreAspectsLinksWithMainAspect = linkResults.coreAspectsLinks || [];\n if (linkResults.teambitBitLink) {\n coreAspectsLinksWithMainAspect.unshift(linkResults.teambitBitLink);\n }\n const numOfCoreAspects = coreAspectsLinksWithMainAspect.length;\n\n const title = `Linked ${numOfComponents} components and ${numOfCoreAspects} core aspects to node_modules for workspace: ${this.workspace.name}`;\n const coreLinks = CoreAspectsLinks({\n coreAspectsLinks: coreAspectsLinksWithMainAspect,\n verbose: opts.verbose,\n });\n const compsLinks = ComponentListLinks({ componentListLinks: linkResults.legacyLinkResults, verbose: opts.verbose });\n const rewireRow = RewireRow({ legacyCodemodResults: linkResults.legacyLinkCodemodResults });\n const nestedLinks = NestedComponentLinksLinks({\n nestedDepsInNmLinks: linkResults.nestedDepsInNmLinks,\n verbose: opts.verbose,\n });\n const targetLinks = linkToDir(linkResults.linkToDirResults);\n const footer = `Finished. ${timeDiff}`;\n return `${title}\\n${coreLinks}\\n${compsLinks}\\n${rewireRow}${nestedLinks}${targetLinks}${footer}`;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async json([ids]: [string[]], opts: LinkCommandOpts): Promise<LinkResults> {\n this.logger.console(\n `Linking components and core aspects to node_modules for workspaces: '${chalk.cyan(this.workspace.name)}'`\n );\n\n const linkOpts: WorkspaceLinkOptions = {\n legacyLink: true,\n rewire: opts.rewire,\n linkCoreAspects: true,\n linkTeambitBit: true,\n linkToDir: opts.target,\n fetchObject: !opts.skipFetchingObjects,\n };\n const linkResults = await this.install.link(linkOpts);\n return linkResults;\n }\n}\n"],"mappings":"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"}
@@ -1,51 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.NestedComponentLinksLinks = NestedComponentLinksLinks;
9
-
10
8
  function _chalk() {
11
9
  const data = _interopRequireDefault(require("chalk"));
12
-
13
10
  _chalk = function () {
14
11
  return data;
15
12
  };
16
-
17
13
  return data;
18
14
  }
19
-
20
15
  function _linkRow() {
21
16
  const data = require("./link-row");
22
-
23
17
  _linkRow = function () {
24
18
  return data;
25
19
  };
26
-
27
20
  return data;
28
21
  }
29
-
30
22
  function NestedComponentLinksLinks({
31
23
  nestedDepsInNmLinks,
32
24
  verbose = false
33
25
  }) {
34
26
  if (!verbose) return '';
35
-
36
27
  if (!nestedDepsInNmLinks || !nestedDepsInNmLinks.length) {
37
28
  return '';
38
29
  }
39
-
40
30
  const title = _chalk().default.bold.cyan('Nested dependencies links');
41
-
42
31
  const links = nestedDepsInNmLinks.map(nestedComponentLinks => NestedComponentLinks({
43
32
  nestedComponentLinks,
44
33
  verbose
45
34
  })).join('\n');
46
35
  return `${title}\n${links}\n`;
47
36
  }
48
-
49
37
  function NestedComponentLinks({
50
38
  nestedComponentLinks,
51
39
  verbose = false
@@ -56,14 +44,11 @@ function NestedComponentLinks({
56
44
  });
57
45
  return '';
58
46
  }
59
-
60
47
  function VerboseNestedComponentLinks({
61
48
  nestedComponentLinks
62
49
  }) {
63
50
  const id = nestedComponentLinks.componentId.toString();
64
-
65
51
  const title = _chalk().default.cyan.bold(id);
66
-
67
52
  const links = nestedComponentLinks.linksDetail.map(link => (0, _linkRow().VerboseLinkRow)({
68
53
  from: link.from,
69
54
  to: link.to
@@ -1 +1 @@
1
- {"version":3,"names":["NestedComponentLinksLinks","nestedDepsInNmLinks","verbose","length","title","chalk","bold","cyan","links","map","nestedComponentLinks","NestedComponentLinks","join","linksDetail","VerboseNestedComponentLinks","id","componentId","toString","link","VerboseLinkRow","from","to"],"sources":["nested-deps-in-nm-links.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { NestedNMDepsLinksResult } from '@teambit/dependency-resolver';\nimport { VerboseLinkRow } from './link-row';\n\ntype NestedComponentLinksLinksProps = {\n nestedDepsInNmLinks?: NestedNMDepsLinksResult[];\n verbose: boolean;\n};\n\nexport function NestedComponentLinksLinks({ nestedDepsInNmLinks, verbose = false }: NestedComponentLinksLinksProps) {\n if (!verbose) return '';\n if (!nestedDepsInNmLinks || !nestedDepsInNmLinks.length) {\n return '';\n }\n const title = chalk.bold.cyan('Nested dependencies links');\n const links = nestedDepsInNmLinks\n .map((nestedComponentLinks) =>\n NestedComponentLinks({\n nestedComponentLinks,\n verbose,\n })\n )\n .join('\\n');\n return `${title}\\n${links}\\n`;\n}\n\ntype NestedComponentLinksProps = {\n nestedComponentLinks: NestedNMDepsLinksResult;\n verbose: boolean;\n};\nfunction NestedComponentLinks({ nestedComponentLinks, verbose = false }: NestedComponentLinksProps) {\n if (!nestedComponentLinks.linksDetail || nestedComponentLinks.linksDetail.length < 1) return '';\n if (verbose) return VerboseNestedComponentLinks({ nestedComponentLinks });\n return '';\n}\n\ntype VerboseNestedComponentLinksProps = {\n nestedComponentLinks: NestedNMDepsLinksResult;\n};\nfunction VerboseNestedComponentLinks({ nestedComponentLinks }: VerboseNestedComponentLinksProps) {\n const id = nestedComponentLinks.componentId.toString();\n const title = chalk.cyan.bold(id);\n const links = nestedComponentLinks.linksDetail\n .map((link) => VerboseLinkRow({ from: link.from, to: link.to }))\n .join('\\n');\n return `${title}\\n${links}\\n`;\n}\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAOO,SAASA,yBAAT,CAAmC;EAAEC,mBAAF;EAAuBC,OAAO,GAAG;AAAjC,CAAnC,EAA6G;EAClH,IAAI,CAACA,OAAL,EAAc,OAAO,EAAP;;EACd,IAAI,CAACD,mBAAD,IAAwB,CAACA,mBAAmB,CAACE,MAAjD,EAAyD;IACvD,OAAO,EAAP;EACD;;EACD,MAAMC,KAAK,GAAGC,gBAAA,CAAMC,IAAN,CAAWC,IAAX,CAAgB,2BAAhB,CAAd;;EACA,MAAMC,KAAK,GAAGP,mBAAmB,CAC9BQ,GADW,CACNC,oBAAD,IACHC,oBAAoB,CAAC;IACnBD,oBADmB;IAEnBR;EAFmB,CAAD,CAFV,EAOXU,IAPW,CAON,IAPM,CAAd;EAQA,OAAQ,GAAER,KAAM,KAAII,KAAM,IAA1B;AACD;;AAMD,SAASG,oBAAT,CAA8B;EAAED,oBAAF;EAAwBR,OAAO,GAAG;AAAlC,CAA9B,EAAoG;EAClG,IAAI,CAACQ,oBAAoB,CAACG,WAAtB,IAAqCH,oBAAoB,CAACG,WAArB,CAAiCV,MAAjC,GAA0C,CAAnF,EAAsF,OAAO,EAAP;EACtF,IAAID,OAAJ,EAAa,OAAOY,2BAA2B,CAAC;IAAEJ;EAAF,CAAD,CAAlC;EACb,OAAO,EAAP;AACD;;AAKD,SAASI,2BAAT,CAAqC;EAAEJ;AAAF,CAArC,EAAiG;EAC/F,MAAMK,EAAE,GAAGL,oBAAoB,CAACM,WAArB,CAAiCC,QAAjC,EAAX;;EACA,MAAMb,KAAK,GAAGC,gBAAA,CAAME,IAAN,CAAWD,IAAX,CAAgBS,EAAhB,CAAd;;EACA,MAAMP,KAAK,GAAGE,oBAAoB,CAACG,WAArB,CACXJ,GADW,CACNS,IAAD,IAAU,IAAAC,yBAAA,EAAe;IAAEC,IAAI,EAAEF,IAAI,CAACE,IAAb;IAAmBC,EAAE,EAAEH,IAAI,CAACG;EAA5B,CAAf,CADH,EAEXT,IAFW,CAEN,IAFM,CAAd;EAGA,OAAQ,GAAER,KAAM,KAAII,KAAM,IAA1B;AACD"}
1
+ {"version":3,"names":["NestedComponentLinksLinks","nestedDepsInNmLinks","verbose","length","title","chalk","bold","cyan","links","map","nestedComponentLinks","NestedComponentLinks","join","linksDetail","VerboseNestedComponentLinks","id","componentId","toString","link","VerboseLinkRow","from","to"],"sources":["nested-deps-in-nm-links.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { NestedNMDepsLinksResult } from '@teambit/dependency-resolver';\nimport { VerboseLinkRow } from './link-row';\n\ntype NestedComponentLinksLinksProps = {\n nestedDepsInNmLinks?: NestedNMDepsLinksResult[];\n verbose: boolean;\n};\n\nexport function NestedComponentLinksLinks({ nestedDepsInNmLinks, verbose = false }: NestedComponentLinksLinksProps) {\n if (!verbose) return '';\n if (!nestedDepsInNmLinks || !nestedDepsInNmLinks.length) {\n return '';\n }\n const title = chalk.bold.cyan('Nested dependencies links');\n const links = nestedDepsInNmLinks\n .map((nestedComponentLinks) =>\n NestedComponentLinks({\n nestedComponentLinks,\n verbose,\n })\n )\n .join('\\n');\n return `${title}\\n${links}\\n`;\n}\n\ntype NestedComponentLinksProps = {\n nestedComponentLinks: NestedNMDepsLinksResult;\n verbose: boolean;\n};\nfunction NestedComponentLinks({ nestedComponentLinks, verbose = false }: NestedComponentLinksProps) {\n if (!nestedComponentLinks.linksDetail || nestedComponentLinks.linksDetail.length < 1) return '';\n if (verbose) return VerboseNestedComponentLinks({ nestedComponentLinks });\n return '';\n}\n\ntype VerboseNestedComponentLinksProps = {\n nestedComponentLinks: NestedNMDepsLinksResult;\n};\nfunction VerboseNestedComponentLinks({ nestedComponentLinks }: VerboseNestedComponentLinksProps) {\n const id = nestedComponentLinks.componentId.toString();\n const title = chalk.cyan.bold(id);\n const links = nestedComponentLinks.linksDetail\n .map((link) => VerboseLinkRow({ from: link.from, to: link.to }))\n .join('\\n');\n return `${title}\\n${links}\\n`;\n}\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAOO,SAASA,yBAAyB,CAAC;EAAEC,mBAAmB;EAAEC,OAAO,GAAG;AAAsC,CAAC,EAAE;EAClH,IAAI,CAACA,OAAO,EAAE,OAAO,EAAE;EACvB,IAAI,CAACD,mBAAmB,IAAI,CAACA,mBAAmB,CAACE,MAAM,EAAE;IACvD,OAAO,EAAE;EACX;EACA,MAAMC,KAAK,GAAGC,gBAAK,CAACC,IAAI,CAACC,IAAI,CAAC,2BAA2B,CAAC;EAC1D,MAAMC,KAAK,GAAGP,mBAAmB,CAC9BQ,GAAG,CAAEC,oBAAoB,IACxBC,oBAAoB,CAAC;IACnBD,oBAAoB;IACpBR;EACF,CAAC,CAAC,CACH,CACAU,IAAI,CAAC,IAAI,CAAC;EACb,OAAQ,GAAER,KAAM,KAAII,KAAM,IAAG;AAC/B;AAMA,SAASG,oBAAoB,CAAC;EAAED,oBAAoB;EAAER,OAAO,GAAG;AAAiC,CAAC,EAAE;EAClG,IAAI,CAACQ,oBAAoB,CAACG,WAAW,IAAIH,oBAAoB,CAACG,WAAW,CAACV,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EAC/F,IAAID,OAAO,EAAE,OAAOY,2BAA2B,CAAC;IAAEJ;EAAqB,CAAC,CAAC;EACzE,OAAO,EAAE;AACX;AAKA,SAASI,2BAA2B,CAAC;EAAEJ;AAAuD,CAAC,EAAE;EAC/F,MAAMK,EAAE,GAAGL,oBAAoB,CAACM,WAAW,CAACC,QAAQ,EAAE;EACtD,MAAMb,KAAK,GAAGC,gBAAK,CAACE,IAAI,CAACD,IAAI,CAACS,EAAE,CAAC;EACjC,MAAMP,KAAK,GAAGE,oBAAoB,CAACG,WAAW,CAC3CJ,GAAG,CAAES,IAAI,IAAK,IAAAC,yBAAc,EAAC;IAAEC,IAAI,EAAEF,IAAI,CAACE,IAAI;IAAEC,EAAE,EAAEH,IAAI,CAACG;EAAG,CAAC,CAAC,CAAC,CAC/DT,IAAI,CAAC,IAAI,CAAC;EACb,OAAQ,GAAER,KAAM,KAAII,KAAM,IAAG;AAC/B"}
@@ -1,22 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.RewireRow = RewireRow;
9
-
10
8
  function _chalk() {
11
9
  const data = _interopRequireDefault(require("chalk"));
12
-
13
10
  _chalk = function () {
14
11
  return data;
15
12
  };
16
-
17
13
  return data;
18
14
  }
19
-
20
15
  function RewireRow({
21
16
  legacyCodemodResults
22
17
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["RewireRow","legacyCodemodResults","length","totalComps","totalFiles","reduce","acc","curr","changedFiles","chalk","cyan","toString"],"sources":["rewire-row.ts"],"sourcesContent":["import { CodemodResult } from '@teambit/legacy/dist/consumer/component-ops/codemod-components';\nimport chalk from 'chalk';\n\ntype RewireRowProps = {\n legacyCodemodResults?: CodemodResult[];\n};\nexport function RewireRow({ legacyCodemodResults }: RewireRowProps) {\n if (!legacyCodemodResults || legacyCodemodResults.length < 1) return '';\n const totalComps = legacyCodemodResults?.length;\n const totalFiles = legacyCodemodResults.reduce((acc, curr) => {\n return acc + curr.changedFiles.length || 0;\n }, 0);\n\n return `rewired ${chalk.cyan(totalComps.toString())} components and total of ${chalk.cyan(\n totalFiles.toString()\n )} files\\n`;\n}\n"],"mappings":";;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAKO,SAASA,SAAT,CAAmB;EAAEC;AAAF,CAAnB,EAA6D;EAClE,IAAI,CAACA,oBAAD,IAAyBA,oBAAoB,CAACC,MAArB,GAA8B,CAA3D,EAA8D,OAAO,EAAP;EAC9D,MAAMC,UAAU,GAAGF,oBAAH,aAAGA,oBAAH,uBAAGA,oBAAoB,CAAEC,MAAzC;EACA,MAAME,UAAU,GAAGH,oBAAoB,CAACI,MAArB,CAA4B,CAACC,GAAD,EAAMC,IAAN,KAAe;IAC5D,OAAOD,GAAG,GAAGC,IAAI,CAACC,YAAL,CAAkBN,MAAxB,IAAkC,CAAzC;EACD,CAFkB,EAEhB,CAFgB,CAAnB;EAIA,OAAQ,WAAUO,gBAAA,CAAMC,IAAN,CAAWP,UAAU,CAACQ,QAAX,EAAX,CAAkC,4BAA2BF,gBAAA,CAAMC,IAAN,CAC7EN,UAAU,CAACO,QAAX,EAD6E,CAE7E,UAFF;AAGD"}
1
+ {"version":3,"names":["RewireRow","legacyCodemodResults","length","totalComps","totalFiles","reduce","acc","curr","changedFiles","chalk","cyan","toString"],"sources":["rewire-row.ts"],"sourcesContent":["import { CodemodResult } from '@teambit/legacy/dist/consumer/component-ops/codemod-components';\nimport chalk from 'chalk';\n\ntype RewireRowProps = {\n legacyCodemodResults?: CodemodResult[];\n};\nexport function RewireRow({ legacyCodemodResults }: RewireRowProps) {\n if (!legacyCodemodResults || legacyCodemodResults.length < 1) return '';\n const totalComps = legacyCodemodResults?.length;\n const totalFiles = legacyCodemodResults.reduce((acc, curr) => {\n return acc + curr.changedFiles.length || 0;\n }, 0);\n\n return `rewired ${chalk.cyan(totalComps.toString())} components and total of ${chalk.cyan(\n totalFiles.toString()\n )} files\\n`;\n}\n"],"mappings":";;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAKO,SAASA,SAAS,CAAC;EAAEC;AAAqC,CAAC,EAAE;EAClE,IAAI,CAACA,oBAAoB,IAAIA,oBAAoB,CAACC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EACvE,MAAMC,UAAU,GAAGF,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEC,MAAM;EAC/C,MAAME,UAAU,GAAGH,oBAAoB,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;IAC5D,OAAOD,GAAG,GAAGC,IAAI,CAACC,YAAY,CAACN,MAAM,IAAI,CAAC;EAC5C,CAAC,EAAE,CAAC,CAAC;EAEL,OAAQ,WAAUO,gBAAK,CAACC,IAAI,CAACP,UAAU,CAACQ,QAAQ,EAAE,CAAE,4BAA2BF,gBAAK,CAACC,IAAI,CACvFN,UAAU,CAACO,QAAQ,EAAE,CACrB,UAAS;AACb"}
@@ -1,105 +1,73 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.array.sort.js");
8
-
9
6
  require("core-js/modules/es.promise.js");
10
-
11
7
  require("core-js/modules/es.regexp.exec.js");
12
-
13
8
  Object.defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
11
  exports.makeOutdatedPkgChoices = makeOutdatedPkgChoices;
17
12
  exports.pickOutdatedPkgs = pickOutdatedPkgs;
18
-
19
13
  function _defineProperty2() {
20
14
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
15
  _defineProperty2 = function () {
23
16
  return data;
24
17
  };
25
-
26
18
  return data;
27
19
  }
28
-
29
20
  function _colorizeSemverDiff() {
30
21
  const data = _interopRequireDefault(require("@pnpm/colorize-semver-diff"));
31
-
32
22
  _colorizeSemverDiff = function () {
33
23
  return data;
34
24
  };
35
-
36
25
  return data;
37
26
  }
38
-
39
27
  function _semverDiff() {
40
28
  const data = _interopRequireDefault(require("@pnpm/semver-diff"));
41
-
42
29
  _semverDiff = function () {
43
30
  return data;
44
31
  };
45
-
46
32
  return data;
47
33
  }
48
-
49
34
  function _lodash() {
50
35
  const data = require("lodash");
51
-
52
36
  _lodash = function () {
53
37
  return data;
54
38
  };
55
-
56
39
  return data;
57
40
  }
58
-
59
41
  function _table() {
60
42
  const data = require("table");
61
-
62
43
  _table = function () {
63
44
  return data;
64
45
  };
65
-
66
46
  return data;
67
47
  }
68
-
69
48
  function _chalk() {
70
49
  const data = _interopRequireDefault(require("chalk"));
71
-
72
50
  _chalk = function () {
73
51
  return data;
74
52
  };
75
-
76
53
  return data;
77
54
  }
78
-
79
55
  function _enquirer() {
80
56
  const data = require("enquirer");
81
-
82
57
  _enquirer = function () {
83
58
  return data;
84
59
  };
85
-
86
60
  return data;
87
61
  }
88
-
89
62
  function _semver() {
90
63
  const data = _interopRequireDefault(require("semver"));
91
-
92
64
  _semver = function () {
93
65
  return data;
94
66
  };
95
-
96
67
  return data;
97
68
  }
98
-
99
69
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
100
-
101
70
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
102
-
103
71
  /**
104
72
  * Lets the user pick the packages that should be updated.
105
73
  */
@@ -121,48 +89,41 @@ ${_chalk().default.red('Red')} - indicates a semantically breaking change`,
121
89
  success: _chalk().default.white
122
90
  },
123
91
  type: 'multiselect',
124
-
125
92
  validate(value) {
126
93
  if (value.length === 0) {
127
94
  return 'You must choose at least one package.';
128
95
  }
129
-
130
96
  return true;
131
97
  },
132
-
133
98
  j() {
134
99
  return this.down();
135
100
  },
136
-
137
101
  k() {
138
102
  return this.up();
139
103
  },
140
-
141
104
  result(names) {
142
105
  // This is needed in order to have the values of the choices in the answer object.
143
106
  // Otherwise, only the names of the selected choices would've been included.
144
107
  return this.map(names);
145
108
  },
146
-
147
- cancel() {// By default, canceling the prompt via Ctrl+c throws an empty string.
109
+ cancel() {
110
+ // By default, canceling the prompt via Ctrl+c throws an empty string.
148
111
  // The custom cancel function prevents that behavior.
149
112
  // Otherwise, Bit CLI would print an error and confuse users.
150
113
  // See related issue: https://github.com/enquirer/enquirer/issues/225
151
114
  }
152
-
153
115
  });
154
116
  return Object.values(updateDependencies !== null && updateDependencies !== void 0 ? updateDependencies : {}).filter(updateDependency => typeof updateDependency !== 'string');
155
117
  }
156
-
157
118
  const DEP_TYPE_PRIORITY = {
158
119
  dependencies: 0,
159
120
  devDependencies: 1,
160
121
  peerDependencies: 2
161
122
  };
123
+
162
124
  /**
163
125
  * Groups the outdated packages and makes choices for enquirer's prompt.
164
126
  */
165
-
166
127
  function makeOutdatedPkgChoices(outdatedPkgs) {
167
128
  const mergedOutdatedPkgs = mergeOutdatedPkgs(outdatedPkgs);
168
129
  mergedOutdatedPkgs.sort((pkg1, pkg2) => {
@@ -173,11 +134,9 @@ function makeOutdatedPkgChoices(outdatedPkgs) {
173
134
  const groupedChoices = {};
174
135
  mergedOutdatedPkgs.forEach((outdatedPkg, index) => {
175
136
  const context = renderContext(outdatedPkg);
176
-
177
137
  if (!groupedChoices[context]) {
178
138
  groupedChoices[context] = [];
179
139
  }
180
-
181
140
  groupedChoices[context].push({
182
141
  message: renderedTable[index],
183
142
  name: outdatedPkg.name,
@@ -190,11 +149,9 @@ function makeOutdatedPkgChoices(outdatedPkgs) {
190
149
  }));
191
150
  return choices;
192
151
  }
193
-
194
152
  function mergeOutdatedPkgs(outdatedPkgs) {
195
153
  const mergedOutdatedPkgs = {};
196
154
  const outdatedPkgsNotFromComponentModel = [];
197
-
198
155
  for (const outdatedPkg of outdatedPkgs) {
199
156
  if (outdatedPkg.source === 'component-model' && outdatedPkg.componentId) {
200
157
  if (!mergedOutdatedPkgs[outdatedPkg.name]) {
@@ -206,10 +163,8 @@ function mergeOutdatedPkgs(outdatedPkgs) {
206
163
  if (mergedOutdatedPkgs[outdatedPkg.name].currentRange !== outdatedPkg.currentRange) {
207
164
  mergedOutdatedPkgs[outdatedPkg.name].hasDifferentRanges = true;
208
165
  }
209
-
210
166
  mergedOutdatedPkgs[outdatedPkg.name].currentRange = tryPickLowestRange(mergedOutdatedPkgs[outdatedPkg.name].currentRange, outdatedPkg.currentRange);
211
167
  mergedOutdatedPkgs[outdatedPkg.name].dependentComponents.push(outdatedPkg.componentId);
212
-
213
168
  if (outdatedPkg.targetField === 'dependencies') {
214
169
  mergedOutdatedPkgs[outdatedPkg.name].targetField = outdatedPkg.targetField;
215
170
  }
@@ -218,46 +173,36 @@ function mergeOutdatedPkgs(outdatedPkgs) {
218
173
  outdatedPkgsNotFromComponentModel.push(outdatedPkg);
219
174
  }
220
175
  }
221
-
222
176
  return [...Object.values(mergedOutdatedPkgs), ...outdatedPkgsNotFromComponentModel];
223
177
  }
224
-
225
178
  function tryPickLowestRange(range1, range2) {
226
179
  if (range1 === '*' || range2 === '*') return '*';
227
-
228
180
  try {
229
181
  return _semver().default.lt(rangeToVersion(range1), rangeToVersion(range2)) ? range1 : range2;
230
182
  } catch (_unused) {
231
183
  return '*';
232
184
  }
233
185
  }
234
-
235
186
  function rangeToVersion(range) {
236
187
  if (range.startsWith('~') || range.startsWith('^')) {
237
188
  return range.substring(1);
238
189
  }
239
-
240
190
  return range;
241
191
  }
242
-
243
192
  function renderContext(outdatedPkg) {
244
193
  if (outdatedPkg.variantPattern) {
245
194
  return `${outdatedPkg.variantPattern} (variant)`;
246
195
  }
247
-
248
196
  if (outdatedPkg.componentId) {
249
197
  return `${outdatedPkg.componentId} (component)`;
250
198
  }
251
-
252
199
  return 'Root policies';
253
200
  }
254
-
255
201
  const TARGET_FIELD_TO_DEP_TYPE = {
256
202
  devDependencies: 'dev',
257
203
  dependencies: 'runtime',
258
204
  peerDependencies: 'peer'
259
205
  };
260
-
261
206
  function outdatedPkgsRows(outdatedPkgs) {
262
207
  return outdatedPkgs.map(outdatedPkg => {
263
208
  const {
@@ -265,11 +210,9 @@ function outdatedPkgsRows(outdatedPkgs) {
265
210
  diff
266
211
  } = (0, _semverDiff().default)(outdatedPkg.currentRange, outdatedPkg.latestRange);
267
212
  let colorizeChange = change !== null && change !== void 0 ? change : 'breaking';
268
-
269
213
  if (change === 'feature') {
270
214
  colorizeChange = 'fix';
271
215
  }
272
-
273
216
  const latest = (0, _colorizeSemverDiff().default)({
274
217
  change: colorizeChange,
275
218
  diff
@@ -277,17 +220,13 @@ function outdatedPkgsRows(outdatedPkgs) {
277
220
  return [outdatedPkg.name, _chalk().default.grey(`(${TARGET_FIELD_TO_DEP_TYPE[outdatedPkg.targetField]})`), outdatedPkg.hasDifferentRanges ? '*' : outdatedPkg.currentRange, '❯', latest, outdatedPkg.dependentComponents ? renderDependents(outdatedPkg.dependentComponents) : ' '];
278
221
  });
279
222
  }
280
-
281
223
  function renderDependents(dependentComponents) {
282
224
  let result = `because of ${dependentComponents[0]}`;
283
-
284
225
  if (dependentComponents.length > 1) {
285
226
  result += ` and ${dependentComponents.length - 1} other components`;
286
227
  }
287
-
288
228
  return result;
289
229
  }
290
-
291
230
  function alignColumns(rows) {
292
231
  return (0, _table().table)(rows, {
293
232
  border: (0, _table().getBorderCharacters)('void'),
@@ -1 +1 @@
1
- {"version":3,"names":["pickOutdatedPkgs","outdatedPkgs","updateDependencies","prompt","choices","makeOutdatedPkgChoices","footer","indicator","state","choice","enabled","message","chalk","cyan","green","red","name","pointer","styles","dark","white","em","bgBlack","whiteBright","success","type","validate","value","length","j","down","k","up","result","names","map","cancel","Object","values","filter","updateDependency","DEP_TYPE_PRIORITY","dependencies","devDependencies","peerDependencies","mergedOutdatedPkgs","mergeOutdatedPkgs","sort","pkg1","pkg2","targetField","localeCompare","renderedTable","alignColumns","outdatedPkgsRows","groupedChoices","forEach","outdatedPkg","index","context","renderContext","push","entries","subChoices","outdatedPkgsNotFromComponentModel","source","componentId","omit","dependentComponents","currentRange","hasDifferentRanges","tryPickLowestRange","range1","range2","semver","lt","rangeToVersion","range","startsWith","substring","variantPattern","TARGET_FIELD_TO_DEP_TYPE","change","diff","semverDiff","latestRange","colorizeChange","latest","colorizeSemverDiff","grey","renderDependents","rows","table","border","getBorderCharacters","columnDefault","paddingLeft","paddingRight","columns","alignment","drawHorizontalLine","split"],"sources":["pick-outdated-pkgs.ts"],"sourcesContent":["import colorizeSemverDiff from '@pnpm/colorize-semver-diff';\nimport semverDiff from '@pnpm/semver-diff';\nimport { OutdatedPkg } from '@teambit/dependency-resolver';\nimport { omit } from 'lodash';\nimport { getBorderCharacters, table } from 'table';\nimport chalk from 'chalk';\nimport { prompt } from 'enquirer';\nimport semver from 'semver';\n\n/**\n * Lets the user pick the packages that should be updated.\n */\nexport async function pickOutdatedPkgs(outdatedPkgs: OutdatedPkg[]): Promise<MergedOutdatedPkg[]> {\n const { updateDependencies } = (await prompt({\n choices: makeOutdatedPkgChoices(outdatedPkgs),\n footer: '\\nEnter to start updating. Ctrl-c to cancel.',\n indicator: (state: any, choice: any) => ` ${choice.enabled ? '●' : '○'}`,\n message:\n 'Choose which packages to update ' +\n `(Press ${chalk.cyan('<space>')} to select, ` +\n `${chalk.cyan('<a>')} to toggle all, ` +\n `${chalk.cyan('<i>')} to invert selection)\n${chalk.green('Green')} - indicates a semantically safe update\n${chalk.red('Red')} - indicates a semantically breaking change`,\n name: 'updateDependencies',\n pointer: '❯',\n styles: {\n dark: chalk.white,\n em: chalk.bgBlack.whiteBright,\n success: chalk.white,\n },\n type: 'multiselect',\n validate(value: string[]) {\n if (value.length === 0) {\n return 'You must choose at least one package.';\n }\n return true;\n },\n j() {\n return this.down();\n },\n k() {\n return this.up();\n },\n result(names: string[]) {\n // This is needed in order to have the values of the choices in the answer object.\n // Otherwise, only the names of the selected choices would've been included.\n return this.map(names);\n },\n cancel() {\n // By default, canceling the prompt via Ctrl+c throws an empty string.\n // The custom cancel function prevents that behavior.\n // Otherwise, Bit CLI would print an error and confuse users.\n // See related issue: https://github.com/enquirer/enquirer/issues/225\n },\n } as any)) as { updateDependencies: Record<string, string | MergedOutdatedPkg> };\n return Object.values(updateDependencies ?? {}).filter(\n (updateDependency) => typeof updateDependency !== 'string'\n ) as OutdatedPkg[];\n}\n\nconst DEP_TYPE_PRIORITY = {\n dependencies: 0,\n devDependencies: 1,\n peerDependencies: 2,\n};\n\n/**\n * Groups the outdated packages and makes choices for enquirer's prompt.\n */\nexport function makeOutdatedPkgChoices(outdatedPkgs: OutdatedPkg[]) {\n const mergedOutdatedPkgs = mergeOutdatedPkgs(outdatedPkgs);\n mergedOutdatedPkgs.sort((pkg1, pkg2) => {\n if (pkg1.targetField === pkg2.targetField) return pkg1.name.localeCompare(pkg2.name);\n return DEP_TYPE_PRIORITY[pkg1.targetField] - DEP_TYPE_PRIORITY[pkg2.targetField];\n });\n const renderedTable = alignColumns(outdatedPkgsRows(mergedOutdatedPkgs));\n const groupedChoices = {};\n mergedOutdatedPkgs.forEach((outdatedPkg, index) => {\n const context = renderContext(outdatedPkg);\n if (!groupedChoices[context]) {\n groupedChoices[context] = [];\n }\n groupedChoices[context].push({\n message: renderedTable[index],\n name: outdatedPkg.name,\n value: outdatedPkg,\n });\n });\n const choices = Object.entries(groupedChoices).map(([context, subChoices]) => ({\n message: chalk.cyan(context),\n choices: subChoices,\n }));\n return choices;\n}\n\nexport interface MergedOutdatedPkg extends OutdatedPkg {\n dependentComponents?: string[];\n hasDifferentRanges?: boolean;\n}\n\nfunction mergeOutdatedPkgs(outdatedPkgs: OutdatedPkg[]): MergedOutdatedPkg[] {\n const mergedOutdatedPkgs: Record<\n string,\n MergedOutdatedPkg & Required<Pick<MergedOutdatedPkg, 'dependentComponents'>>\n > = {};\n const outdatedPkgsNotFromComponentModel: OutdatedPkg[] = [];\n for (const outdatedPkg of outdatedPkgs) {\n if (outdatedPkg.source === 'component-model' && outdatedPkg.componentId) {\n if (!mergedOutdatedPkgs[outdatedPkg.name]) {\n mergedOutdatedPkgs[outdatedPkg.name] = {\n ...omit(outdatedPkg, ['componentId']),\n source: 'rootPolicy',\n dependentComponents: [outdatedPkg.componentId],\n };\n } else {\n if (mergedOutdatedPkgs[outdatedPkg.name].currentRange !== outdatedPkg.currentRange) {\n mergedOutdatedPkgs[outdatedPkg.name].hasDifferentRanges = true;\n }\n mergedOutdatedPkgs[outdatedPkg.name].currentRange = tryPickLowestRange(\n mergedOutdatedPkgs[outdatedPkg.name].currentRange,\n outdatedPkg.currentRange\n );\n mergedOutdatedPkgs[outdatedPkg.name].dependentComponents.push(outdatedPkg.componentId);\n if (outdatedPkg.targetField === 'dependencies') {\n mergedOutdatedPkgs[outdatedPkg.name].targetField = outdatedPkg.targetField;\n }\n }\n } else {\n outdatedPkgsNotFromComponentModel.push(outdatedPkg);\n }\n }\n return [...Object.values(mergedOutdatedPkgs), ...outdatedPkgsNotFromComponentModel];\n}\n\nfunction tryPickLowestRange(range1: string, range2: string) {\n if (range1 === '*' || range2 === '*') return '*';\n try {\n return semver.lt(rangeToVersion(range1), rangeToVersion(range2)) ? range1 : range2;\n } catch {\n return '*';\n }\n}\n\nfunction rangeToVersion(range: string) {\n if (range.startsWith('~') || range.startsWith('^')) {\n return range.substring(1);\n }\n return range;\n}\n\nfunction renderContext(outdatedPkg: MergedOutdatedPkg) {\n if (outdatedPkg.variantPattern) {\n return `${outdatedPkg.variantPattern} (variant)`;\n }\n if (outdatedPkg.componentId) {\n return `${outdatedPkg.componentId} (component)`;\n }\n return 'Root policies';\n}\n\nconst TARGET_FIELD_TO_DEP_TYPE = {\n devDependencies: 'dev',\n dependencies: 'runtime',\n peerDependencies: 'peer',\n};\n\nfunction outdatedPkgsRows(outdatedPkgs: MergedOutdatedPkg[]) {\n return outdatedPkgs.map((outdatedPkg) => {\n const { change, diff } = semverDiff(outdatedPkg.currentRange, outdatedPkg.latestRange);\n let colorizeChange = change ?? 'breaking';\n if (change === 'feature') {\n colorizeChange = 'fix';\n }\n const latest = colorizeSemverDiff({\n change: colorizeChange,\n diff,\n });\n return [\n outdatedPkg.name,\n chalk.grey(`(${TARGET_FIELD_TO_DEP_TYPE[outdatedPkg.targetField]})`),\n outdatedPkg.hasDifferentRanges ? '*' : outdatedPkg.currentRange,\n '❯',\n latest,\n outdatedPkg.dependentComponents ? renderDependents(outdatedPkg.dependentComponents) : ' ',\n ];\n });\n}\n\nfunction renderDependents(dependentComponents: string[]): string {\n let result = `because of ${dependentComponents[0]}`;\n if (dependentComponents.length > 1) {\n result += ` and ${dependentComponents.length - 1} other components`;\n }\n return result;\n}\n\nfunction alignColumns(rows: string[][]) {\n return table(rows, {\n border: getBorderCharacters('void'),\n columnDefault: {\n paddingLeft: 0,\n paddingRight: 1,\n },\n columns: {\n // This is the current range column\n 2: { alignment: 'right' },\n },\n drawHorizontalLine: () => false,\n }).split('\\n');\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["pickOutdatedPkgs","outdatedPkgs","updateDependencies","prompt","choices","makeOutdatedPkgChoices","footer","indicator","state","choice","enabled","message","chalk","cyan","green","red","name","pointer","styles","dark","white","em","bgBlack","whiteBright","success","type","validate","value","length","j","down","k","up","result","names","map","cancel","Object","values","filter","updateDependency","DEP_TYPE_PRIORITY","dependencies","devDependencies","peerDependencies","mergedOutdatedPkgs","mergeOutdatedPkgs","sort","pkg1","pkg2","targetField","localeCompare","renderedTable","alignColumns","outdatedPkgsRows","groupedChoices","forEach","outdatedPkg","index","context","renderContext","push","entries","subChoices","outdatedPkgsNotFromComponentModel","source","componentId","omit","dependentComponents","currentRange","hasDifferentRanges","tryPickLowestRange","range1","range2","semver","lt","rangeToVersion","range","startsWith","substring","variantPattern","TARGET_FIELD_TO_DEP_TYPE","change","diff","semverDiff","latestRange","colorizeChange","latest","colorizeSemverDiff","grey","renderDependents","rows","table","border","getBorderCharacters","columnDefault","paddingLeft","paddingRight","columns","alignment","drawHorizontalLine","split"],"sources":["pick-outdated-pkgs.ts"],"sourcesContent":["import colorizeSemverDiff from '@pnpm/colorize-semver-diff';\nimport semverDiff from '@pnpm/semver-diff';\nimport { OutdatedPkg } from '@teambit/dependency-resolver';\nimport { omit } from 'lodash';\nimport { getBorderCharacters, table } from 'table';\nimport chalk from 'chalk';\nimport { prompt } from 'enquirer';\nimport semver from 'semver';\n\n/**\n * Lets the user pick the packages that should be updated.\n */\nexport async function pickOutdatedPkgs(outdatedPkgs: OutdatedPkg[]): Promise<MergedOutdatedPkg[]> {\n const { updateDependencies } = (await prompt({\n choices: makeOutdatedPkgChoices(outdatedPkgs),\n footer: '\\nEnter to start updating. Ctrl-c to cancel.',\n indicator: (state: any, choice: any) => ` ${choice.enabled ? '●' : '○'}`,\n message:\n 'Choose which packages to update ' +\n `(Press ${chalk.cyan('<space>')} to select, ` +\n `${chalk.cyan('<a>')} to toggle all, ` +\n `${chalk.cyan('<i>')} to invert selection)\n${chalk.green('Green')} - indicates a semantically safe update\n${chalk.red('Red')} - indicates a semantically breaking change`,\n name: 'updateDependencies',\n pointer: '❯',\n styles: {\n dark: chalk.white,\n em: chalk.bgBlack.whiteBright,\n success: chalk.white,\n },\n type: 'multiselect',\n validate(value: string[]) {\n if (value.length === 0) {\n return 'You must choose at least one package.';\n }\n return true;\n },\n j() {\n return this.down();\n },\n k() {\n return this.up();\n },\n result(names: string[]) {\n // This is needed in order to have the values of the choices in the answer object.\n // Otherwise, only the names of the selected choices would've been included.\n return this.map(names);\n },\n cancel() {\n // By default, canceling the prompt via Ctrl+c throws an empty string.\n // The custom cancel function prevents that behavior.\n // Otherwise, Bit CLI would print an error and confuse users.\n // See related issue: https://github.com/enquirer/enquirer/issues/225\n },\n } as any)) as { updateDependencies: Record<string, string | MergedOutdatedPkg> };\n return Object.values(updateDependencies ?? {}).filter(\n (updateDependency) => typeof updateDependency !== 'string'\n ) as OutdatedPkg[];\n}\n\nconst DEP_TYPE_PRIORITY = {\n dependencies: 0,\n devDependencies: 1,\n peerDependencies: 2,\n};\n\n/**\n * Groups the outdated packages and makes choices for enquirer's prompt.\n */\nexport function makeOutdatedPkgChoices(outdatedPkgs: OutdatedPkg[]) {\n const mergedOutdatedPkgs = mergeOutdatedPkgs(outdatedPkgs);\n mergedOutdatedPkgs.sort((pkg1, pkg2) => {\n if (pkg1.targetField === pkg2.targetField) return pkg1.name.localeCompare(pkg2.name);\n return DEP_TYPE_PRIORITY[pkg1.targetField] - DEP_TYPE_PRIORITY[pkg2.targetField];\n });\n const renderedTable = alignColumns(outdatedPkgsRows(mergedOutdatedPkgs));\n const groupedChoices = {};\n mergedOutdatedPkgs.forEach((outdatedPkg, index) => {\n const context = renderContext(outdatedPkg);\n if (!groupedChoices[context]) {\n groupedChoices[context] = [];\n }\n groupedChoices[context].push({\n message: renderedTable[index],\n name: outdatedPkg.name,\n value: outdatedPkg,\n });\n });\n const choices = Object.entries(groupedChoices).map(([context, subChoices]) => ({\n message: chalk.cyan(context),\n choices: subChoices,\n }));\n return choices;\n}\n\nexport interface MergedOutdatedPkg extends OutdatedPkg {\n dependentComponents?: string[];\n hasDifferentRanges?: boolean;\n}\n\nfunction mergeOutdatedPkgs(outdatedPkgs: OutdatedPkg[]): MergedOutdatedPkg[] {\n const mergedOutdatedPkgs: Record<\n string,\n MergedOutdatedPkg & Required<Pick<MergedOutdatedPkg, 'dependentComponents'>>\n > = {};\n const outdatedPkgsNotFromComponentModel: OutdatedPkg[] = [];\n for (const outdatedPkg of outdatedPkgs) {\n if (outdatedPkg.source === 'component-model' && outdatedPkg.componentId) {\n if (!mergedOutdatedPkgs[outdatedPkg.name]) {\n mergedOutdatedPkgs[outdatedPkg.name] = {\n ...omit(outdatedPkg, ['componentId']),\n source: 'rootPolicy',\n dependentComponents: [outdatedPkg.componentId],\n };\n } else {\n if (mergedOutdatedPkgs[outdatedPkg.name].currentRange !== outdatedPkg.currentRange) {\n mergedOutdatedPkgs[outdatedPkg.name].hasDifferentRanges = true;\n }\n mergedOutdatedPkgs[outdatedPkg.name].currentRange = tryPickLowestRange(\n mergedOutdatedPkgs[outdatedPkg.name].currentRange,\n outdatedPkg.currentRange\n );\n mergedOutdatedPkgs[outdatedPkg.name].dependentComponents.push(outdatedPkg.componentId);\n if (outdatedPkg.targetField === 'dependencies') {\n mergedOutdatedPkgs[outdatedPkg.name].targetField = outdatedPkg.targetField;\n }\n }\n } else {\n outdatedPkgsNotFromComponentModel.push(outdatedPkg);\n }\n }\n return [...Object.values(mergedOutdatedPkgs), ...outdatedPkgsNotFromComponentModel];\n}\n\nfunction tryPickLowestRange(range1: string, range2: string) {\n if (range1 === '*' || range2 === '*') return '*';\n try {\n return semver.lt(rangeToVersion(range1), rangeToVersion(range2)) ? range1 : range2;\n } catch {\n return '*';\n }\n}\n\nfunction rangeToVersion(range: string) {\n if (range.startsWith('~') || range.startsWith('^')) {\n return range.substring(1);\n }\n return range;\n}\n\nfunction renderContext(outdatedPkg: MergedOutdatedPkg) {\n if (outdatedPkg.variantPattern) {\n return `${outdatedPkg.variantPattern} (variant)`;\n }\n if (outdatedPkg.componentId) {\n return `${outdatedPkg.componentId} (component)`;\n }\n return 'Root policies';\n}\n\nconst TARGET_FIELD_TO_DEP_TYPE = {\n devDependencies: 'dev',\n dependencies: 'runtime',\n peerDependencies: 'peer',\n};\n\nfunction outdatedPkgsRows(outdatedPkgs: MergedOutdatedPkg[]) {\n return outdatedPkgs.map((outdatedPkg) => {\n const { change, diff } = semverDiff(outdatedPkg.currentRange, outdatedPkg.latestRange);\n let colorizeChange = change ?? 'breaking';\n if (change === 'feature') {\n colorizeChange = 'fix';\n }\n const latest = colorizeSemverDiff({\n change: colorizeChange,\n diff,\n });\n return [\n outdatedPkg.name,\n chalk.grey(`(${TARGET_FIELD_TO_DEP_TYPE[outdatedPkg.targetField]})`),\n outdatedPkg.hasDifferentRanges ? '*' : outdatedPkg.currentRange,\n '❯',\n latest,\n outdatedPkg.dependentComponents ? renderDependents(outdatedPkg.dependentComponents) : ' ',\n ];\n });\n}\n\nfunction renderDependents(dependentComponents: string[]): string {\n let result = `because of ${dependentComponents[0]}`;\n if (dependentComponents.length > 1) {\n result += ` and ${dependentComponents.length - 1} other components`;\n }\n return result;\n}\n\nfunction alignColumns(rows: string[][]) {\n return table(rows, {\n border: getBorderCharacters('void'),\n columnDefault: {\n paddingLeft: 0,\n paddingRight: 1,\n },\n columns: {\n // This is the current range column\n 2: { alignment: 'right' },\n },\n drawHorizontalLine: () => false,\n }).split('\\n');\n}\n"],"mappings":"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"}