@teambit/install 0.0.0-0494a1bc1f010e387719d84abc70a90c0e5b6b7d

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 (77) hide show
  1. package/dist/esm.mjs +7 -0
  2. package/dist/exceptions/dependency-type-not-supported-in-policy.d.ts +4 -0
  3. package/dist/exceptions/dependency-type-not-supported-in-policy.js +21 -0
  4. package/dist/exceptions/dependency-type-not-supported-in-policy.js.map +1 -0
  5. package/dist/exceptions/index.d.ts +1 -0
  6. package/dist/exceptions/index.js +20 -0
  7. package/dist/exceptions/index.js.map +1 -0
  8. package/dist/index.d.ts +5 -0
  9. package/dist/index.js +35 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/install.aspect.d.ts +2 -0
  12. package/dist/install.aspect.js +18 -0
  13. package/dist/install.aspect.js.map +1 -0
  14. package/dist/install.cmd.d.ts +55 -0
  15. package/dist/install.cmd.js +154 -0
  16. package/dist/install.cmd.js.map +1 -0
  17. package/dist/install.main.runtime.d.ts +246 -0
  18. package/dist/install.main.runtime.js +1397 -0
  19. package/dist/install.main.runtime.js.map +1 -0
  20. package/dist/link/component-list-links.d.ts +9 -0
  21. package/dist/link/component-list-links.js +97 -0
  22. package/dist/link/component-list-links.js.map +1 -0
  23. package/dist/link/core-aspects-links.d.ts +7 -0
  24. package/dist/link/core-aspects-links.js +77 -0
  25. package/dist/link/core-aspects-links.js.map +1 -0
  26. package/dist/link/get-package-name-from-target.d.ts +1 -0
  27. package/dist/link/get-package-name-from-target.js +13 -0
  28. package/dist/link/get-package-name-from-target.js.map +1 -0
  29. package/dist/link/index.d.ts +1 -0
  30. package/dist/link/index.js +20 -0
  31. package/dist/link/index.js.map +1 -0
  32. package/dist/link/link-row.d.ts +12 -0
  33. package/dist/link/link-row.js +32 -0
  34. package/dist/link/link-row.js.map +1 -0
  35. package/dist/link/link-to-dir.d.ts +2 -0
  36. package/dist/link/link-to-dir.js +35 -0
  37. package/dist/link/link-to-dir.js.map +1 -0
  38. package/dist/link/link.cmd.d.ts +46 -0
  39. package/dist/link/link.cmd.js +144 -0
  40. package/dist/link/link.cmd.js.map +1 -0
  41. package/dist/link/nested-deps-in-nm-links.d.ts +7 -0
  42. package/dist/link/nested-deps-in-nm-links.js +59 -0
  43. package/dist/link/nested-deps-in-nm-links.js.map +1 -0
  44. package/dist/link/rewire-row.d.ts +6 -0
  45. package/dist/link/rewire-row.js +26 -0
  46. package/dist/link/rewire-row.js.map +1 -0
  47. package/dist/pick-outdated-pkgs.d.ts +12 -0
  48. package/dist/pick-outdated-pkgs.js +180 -0
  49. package/dist/pick-outdated-pkgs.js.map +1 -0
  50. package/dist/pick-outdated-pkgs.spec.d.ts +1 -0
  51. package/dist/pick-outdated-pkgs.spec.js +171 -0
  52. package/dist/pick-outdated-pkgs.spec.js.map +1 -0
  53. package/dist/preview-1752093506725.js +7 -0
  54. package/dist/uninstall.cmd.d.ts +12 -0
  55. package/dist/uninstall.cmd.js +26 -0
  56. package/dist/uninstall.cmd.js.map +1 -0
  57. package/dist/update.cmd.d.ts +26 -0
  58. package/dist/update.cmd.js +52 -0
  59. package/dist/update.cmd.js.map +1 -0
  60. package/esm.mjs +7 -0
  61. package/exceptions/dependency-type-not-supported-in-policy.ts +7 -0
  62. package/exceptions/index.ts +1 -0
  63. package/install.cmd.tsx +189 -0
  64. package/link/component-list-links.ts +66 -0
  65. package/link/core-aspects-links.ts +50 -0
  66. package/link/get-package-name-from-target.ts +5 -0
  67. package/link/index.ts +1 -0
  68. package/link/link-row.ts +20 -0
  69. package/link/link-to-dir.ts +13 -0
  70. package/link/link.cmd.ts +112 -0
  71. package/link/nested-deps-in-nm-links.ts +47 -0
  72. package/link/rewire-row.ts +17 -0
  73. package/package.json +95 -0
  74. package/types/asset.d.ts +41 -0
  75. package/types/style.d.ts +42 -0
  76. package/uninstall.cmd.tsx +18 -0
  77. package/update.cmd.tsx +67 -0
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.linkToDir = linkToDir;
7
+ function _chalk() {
8
+ const data = _interopRequireDefault(require("chalk"));
9
+ _chalk = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _linkRow() {
15
+ const data = require("./link-row");
16
+ _linkRow = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ function linkToDir(links) {
23
+ if (!links || !links.length) return '';
24
+ const title = _chalk().default.bold.cyan('Target Links');
25
+ const linksOutput = links.map(({
26
+ componentId,
27
+ linksDetail
28
+ }) => (0, _linkRow().LinkRow)({
29
+ title: componentId,
30
+ target: linksDetail.to
31
+ })).join('\n');
32
+ return `${title}\n${linksOutput}`;
33
+ }
34
+
35
+ //# sourceMappingURL=link-to-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_linkRow","e","__esModule","default","linkToDir","links","length","title","chalk","bold","cyan","linksOutput","map","componentId","linksDetail","LinkRow","target","to","join"],"sources":["link-to-dir.ts"],"sourcesContent":["import { LinkToDirResult } from '@teambit/dependency-resolver';\nimport chalk from 'chalk';\nimport { LinkRow } from './link-row';\n\nexport function linkToDir(links?: LinkToDirResult[]) {\n if (!links || !links.length) return '';\n const title = chalk.bold.cyan('Target Links');\n const linksOutput = links\n .map(({ componentId, linksDetail }) => LinkRow({ title: componentId, target: linksDetail.to }))\n .join('\\n');\n\n return `${title}\\n${linksOutput}`;\n}\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAqC,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9B,SAASG,SAASA,CAACC,KAAyB,EAAE;EACnD,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACC,MAAM,EAAE,OAAO,EAAE;EACtC,MAAMC,KAAK,GAAGC,gBAAK,CAACC,IAAI,CAACC,IAAI,CAAC,cAAc,CAAC;EAC7C,MAAMC,WAAW,GAAGN,KAAK,CACtBO,GAAG,CAAC,CAAC;IAAEC,WAAW;IAAEC;EAAY,CAAC,KAAK,IAAAC,kBAAO,EAAC;IAAER,KAAK,EAAEM,WAAW;IAAEG,MAAM,EAAEF,WAAW,CAACG;EAAG,CAAC,CAAC,CAAC,CAC9FC,IAAI,CAAC,IAAI,CAAC;EAEb,OAAO,GAAGX,KAAK,KAAKI,WAAW,EAAE;AACnC","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ import { Command, CommandOptions } from '@teambit/cli';
2
+ import { Logger } from '@teambit/logger';
3
+ import { Workspace } from '@teambit/workspace';
4
+ import { InstallMain, WorkspaceLinkResults } from '../install.main.runtime';
5
+ type LinkCommandOpts = {
6
+ rewire: boolean;
7
+ verbose: boolean;
8
+ target: string;
9
+ skipFetchingObjects?: boolean;
10
+ peers?: boolean;
11
+ };
12
+ export declare class LinkCommand implements Command {
13
+ private install;
14
+ /**
15
+ * workspace extension.
16
+ */
17
+ private workspace;
18
+ /**
19
+ * logger extension.
20
+ */
21
+ private logger;
22
+ name: string;
23
+ alias: string;
24
+ description: string;
25
+ helpUrl: string;
26
+ extendedDescription: string;
27
+ group: string;
28
+ private: boolean;
29
+ arguments: {
30
+ name: string;
31
+ description: string;
32
+ }[];
33
+ options: CommandOptions;
34
+ constructor(install: InstallMain,
35
+ /**
36
+ * workspace extension.
37
+ */
38
+ workspace: Workspace,
39
+ /**
40
+ * logger extension.
41
+ */
42
+ logger: Logger);
43
+ report([ids]: [string[]], opts: LinkCommandOpts): Promise<string>;
44
+ json([ids]: [string[]], opts: LinkCommandOpts): Promise<WorkspaceLinkResults>;
45
+ }
46
+ export {};
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LinkCommand = void 0;
7
+ function _toolboxTime() {
8
+ const data = require("@teambit/toolbox.time.time-format");
9
+ _toolboxTime = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _lodash() {
15
+ const data = require("lodash");
16
+ _lodash = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _chalk() {
22
+ const data = _interopRequireDefault(require("chalk"));
23
+ _chalk = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _componentListLinks() {
29
+ const data = require("./component-list-links");
30
+ _componentListLinks = function () {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _coreAspectsLinks() {
36
+ const data = require("./core-aspects-links");
37
+ _coreAspectsLinks = function () {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ function _nestedDepsInNmLinks() {
43
+ const data = require("./nested-deps-in-nm-links");
44
+ _nestedDepsInNmLinks = function () {
45
+ return data;
46
+ };
47
+ return data;
48
+ }
49
+ function _rewireRow() {
50
+ const data = require("./rewire-row");
51
+ _rewireRow = function () {
52
+ return data;
53
+ };
54
+ return data;
55
+ }
56
+ function _linkToDir() {
57
+ const data = require("./link-to-dir");
58
+ _linkToDir = function () {
59
+ return data;
60
+ };
61
+ return data;
62
+ }
63
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
64
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
65
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
66
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
67
+ class LinkCommand {
68
+ constructor(install,
69
+ /**
70
+ * workspace extension.
71
+ */
72
+ workspace,
73
+ /**
74
+ * logger extension.
75
+ */
76
+ logger) {
77
+ this.install = install;
78
+ this.workspace = workspace;
79
+ this.logger = logger;
80
+ _defineProperty(this, "name", 'link [component-names...]');
81
+ _defineProperty(this, "alias", '');
82
+ _defineProperty(this, "description", 'create links in the node_modules directory, to core aspects and to components in the workspace');
83
+ _defineProperty(this, "helpUrl", 'reference/workspace/component-links');
84
+ _defineProperty(this, "extendedDescription", void 0);
85
+ _defineProperty(this, "group", 'dependencies');
86
+ _defineProperty(this, "private", false);
87
+ _defineProperty(this, "arguments", [{
88
+ name: 'component-names...',
89
+ description: 'names or IDs of the components to link'
90
+ }]);
91
+ _defineProperty(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>', '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'], ['', 'peers', 'link peer dependencies of the components too']]);
92
+ }
93
+ async report([ids], opts) {
94
+ const startTime = Date.now();
95
+ const linkResults = await this.json([ids], opts);
96
+ const endTime = Date.now();
97
+ const numOfComponents = linkResults.legacyLinkResults?.length;
98
+ const timeDiff = (0, _toolboxTime().timeFormat)(endTime - startTime);
99
+ const coreAspectsLinksWithMainAspect = linkResults.coreAspectsLinks || [];
100
+ if (linkResults.teambitBitLink) {
101
+ coreAspectsLinksWithMainAspect.unshift(linkResults.teambitBitLink);
102
+ }
103
+ const numOfCoreAspects = coreAspectsLinksWithMainAspect.length;
104
+ const title = `Linked ${numOfComponents} components and ${numOfCoreAspects} core aspects to node_modules for workspace: ${this.workspace.name}`;
105
+ const coreLinks = (0, _coreAspectsLinks().CoreAspectsLinks)({
106
+ coreAspectsLinks: coreAspectsLinksWithMainAspect,
107
+ verbose: opts.verbose
108
+ });
109
+ const nonCorePackagesLinks = (0, _componentListLinks().packageListLinks)(linkResults.slotOriginatedLinks);
110
+ const compsLinks = (0, _componentListLinks().ComponentListLinks)({
111
+ componentListLinks: linkResults.legacyLinkResults,
112
+ verbose: opts.verbose
113
+ });
114
+ const rewireRow = (0, _rewireRow().RewireRow)({
115
+ legacyCodemodResults: linkResults.legacyLinkCodemodResults
116
+ });
117
+ const nestedLinks = (0, _nestedDepsInNmLinks().NestedComponentLinksLinks)({
118
+ nestedDepsInNmLinks: linkResults.nestedDepsInNmLinks,
119
+ verbose: opts.verbose
120
+ });
121
+ const targetLinks = (0, _linkToDir().linkToDir)(linkResults.linkToDirResults);
122
+ const footer = `Finished. ${timeDiff}`;
123
+ return (0, _lodash().compact)([title, coreLinks, nonCorePackagesLinks, compsLinks, rewireRow, nestedLinks, targetLinks, footer]).join('\n');
124
+ }
125
+
126
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
127
+ async json([ids], opts) {
128
+ this.logger.console(`Linking components and core aspects to node_modules for workspaces: '${_chalk().default.cyan(this.workspace.name)}'`);
129
+ const linkOpts = {
130
+ linkToBitRoots: true,
131
+ rewire: opts.rewire,
132
+ linkCoreAspects: true,
133
+ linkTeambitBit: true,
134
+ linkToDir: opts.target,
135
+ fetchObject: !opts.skipFetchingObjects,
136
+ includePeers: opts.peers
137
+ };
138
+ const linkResults = await this.install.link(linkOpts);
139
+ return linkResults;
140
+ }
141
+ }
142
+ exports.LinkCommand = LinkCommand;
143
+
144
+ //# sourceMappingURL=link.cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_toolboxTime","data","require","_lodash","_chalk","_interopRequireDefault","_componentListLinks","_coreAspectsLinks","_nestedDepsInNmLinks","_rewireRow","_linkToDir","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","LinkCommand","constructor","install","workspace","logger","name","description","report","ids","opts","startTime","Date","now","linkResults","json","endTime","numOfComponents","legacyLinkResults","length","timeDiff","timeFormat","coreAspectsLinksWithMainAspect","coreAspectsLinks","teambitBitLink","unshift","numOfCoreAspects","title","coreLinks","CoreAspectsLinks","verbose","nonCorePackagesLinks","packageListLinks","slotOriginatedLinks","compsLinks","ComponentListLinks","componentListLinks","rewireRow","RewireRow","legacyCodemodResults","legacyLinkCodemodResults","nestedLinks","NestedComponentLinksLinks","nestedDepsInNmLinks","targetLinks","linkToDir","linkToDirResults","footer","compact","join","console","chalk","cyan","linkOpts","linkToBitRoots","rewire","linkCoreAspects","linkTeambitBit","target","fetchObject","skipFetchingObjects","includePeers","peers","link","exports"],"sources":["link.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { timeFormat } from '@teambit/toolbox.time.time-format';\nimport { compact } from 'lodash';\nimport chalk from 'chalk';\nimport { Workspace } from '@teambit/workspace';\nimport { InstallMain, WorkspaceLinkOptions, WorkspaceLinkResults } from '../install.main.runtime';\nimport { ComponentListLinks, packageListLinks } 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 peers?: boolean;\n};\nexport class LinkCommand implements Command {\n name = 'link [component-names...]';\n alias = '';\n description = 'create links in the node_modules directory, to core aspects and to components in the workspace';\n helpUrl = 'reference/workspace/component-links';\n extendedDescription: string;\n group = 'dependencies';\n private = false;\n arguments = [{ name: 'component-names...', description: 'names or IDs of the components to link' }];\n options = [\n ['j', 'json', 'return the output as JSON'],\n ['', 'verbose', 'verbose output'],\n ['r', 'rewire', 'Replace relative paths with module paths in code (e.g. \"../foo\" => \"@bit/foo\")'],\n [\n '',\n 'target <dir>',\n 'link to an external directory (similar to npm-link) so other projects could use these components',\n ],\n ['', 'skip-fetching-objects', 'skip fetch missing objects from remotes before linking'],\n ['', 'peers', 'link peer dependencies of the components too'],\n ] as CommandOptions;\n\n constructor(\n private install: InstallMain,\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * logger extension.\n */\n private logger: Logger\n ) {}\n\n async report([ids]: [string[]], opts: LinkCommandOpts) {\n const startTime = Date.now();\n const linkResults = await this.json([ids], opts);\n const endTime = Date.now();\n const numOfComponents = linkResults.legacyLinkResults?.length;\n const timeDiff = timeFormat(endTime - startTime);\n const coreAspectsLinksWithMainAspect = linkResults.coreAspectsLinks || [];\n if (linkResults.teambitBitLink) {\n coreAspectsLinksWithMainAspect.unshift(linkResults.teambitBitLink);\n }\n const numOfCoreAspects = coreAspectsLinksWithMainAspect.length;\n\n const title = `Linked ${numOfComponents} components and ${numOfCoreAspects} core aspects to node_modules for workspace: ${this.workspace.name}`;\n const coreLinks = CoreAspectsLinks({\n coreAspectsLinks: coreAspectsLinksWithMainAspect,\n verbose: opts.verbose,\n });\n const nonCorePackagesLinks = packageListLinks(linkResults.slotOriginatedLinks);\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 compact([\n title,\n coreLinks,\n nonCorePackagesLinks,\n compsLinks,\n rewireRow,\n nestedLinks,\n targetLinks,\n footer,\n ]).join('\\n');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async json([ids]: [string[]], opts: LinkCommandOpts): Promise<WorkspaceLinkResults> {\n this.logger.console(\n `Linking components and core aspects to node_modules for workspaces: '${chalk.cyan(this.workspace.name)}'`\n );\n\n const linkOpts: WorkspaceLinkOptions = {\n linkToBitRoots: true,\n rewire: opts.rewire,\n linkCoreAspects: true,\n linkTeambitBit: true,\n linkToDir: opts.target,\n fetchObject: !opts.skipFetchingObjects,\n includePeers: opts.peers,\n };\n const linkResults = await this.install.link(linkOpts);\n return linkResults;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { NestedNMDepsLinksResult } from '@teambit/dependency-resolver';
2
+ type NestedComponentLinksLinksProps = {
3
+ nestedDepsInNmLinks?: NestedNMDepsLinksResult[];
4
+ verbose: boolean;
5
+ };
6
+ export declare function NestedComponentLinksLinks({ nestedDepsInNmLinks, verbose }: NestedComponentLinksLinksProps): string;
7
+ export {};
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NestedComponentLinksLinks = NestedComponentLinksLinks;
7
+ function _chalk() {
8
+ const data = _interopRequireDefault(require("chalk"));
9
+ _chalk = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _linkRow() {
15
+ const data = require("./link-row");
16
+ _linkRow = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ function NestedComponentLinksLinks({
23
+ nestedDepsInNmLinks,
24
+ verbose = false
25
+ }) {
26
+ if (!verbose) return '';
27
+ if (!nestedDepsInNmLinks || !nestedDepsInNmLinks.length) {
28
+ return '';
29
+ }
30
+ const title = _chalk().default.bold.cyan('Nested dependencies links');
31
+ const links = nestedDepsInNmLinks.map(nestedComponentLinks => NestedComponentLinks({
32
+ nestedComponentLinks,
33
+ verbose
34
+ })).join('\n');
35
+ return `${title}\n${links}`;
36
+ }
37
+ function NestedComponentLinks({
38
+ nestedComponentLinks,
39
+ verbose = false
40
+ }) {
41
+ if (!nestedComponentLinks.linksDetail || nestedComponentLinks.linksDetail.length < 1) return '';
42
+ if (verbose) return VerboseNestedComponentLinks({
43
+ nestedComponentLinks
44
+ });
45
+ return '';
46
+ }
47
+ function VerboseNestedComponentLinks({
48
+ nestedComponentLinks
49
+ }) {
50
+ const id = nestedComponentLinks.componentId.toString();
51
+ const title = _chalk().default.cyan.bold(id);
52
+ const links = nestedComponentLinks.linksDetail.map(link => (0, _linkRow().VerboseLinkRow)({
53
+ from: link.from,
54
+ to: link.to
55
+ })).join('\n');
56
+ return `${title}\n${links}\n`;
57
+ }
58
+
59
+ //# sourceMappingURL=nested-deps-in-nm-links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_linkRow","e","__esModule","default","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\ntype NestedComponentLinksProps = {\n nestedComponentLinks: NestedNMDepsLinksResult;\n verbose: boolean;\n};\nfunction NestedComponentLinks({ nestedComponentLinks, verbose = false }: NestedComponentLinksProps) {\n if (!nestedComponentLinks.linksDetail || nestedComponentLinks.linksDetail.length < 1) return '';\n if (verbose) return VerboseNestedComponentLinks({ nestedComponentLinks });\n return '';\n}\n\ntype VerboseNestedComponentLinksProps = {\n nestedComponentLinks: NestedNMDepsLinksResult;\n};\nfunction VerboseNestedComponentLinks({ nestedComponentLinks }: VerboseNestedComponentLinksProps) {\n const id = nestedComponentLinks.componentId.toString();\n const title = chalk.cyan.bold(id);\n const links = nestedComponentLinks.linksDetail\n .map((link) => VerboseLinkRow({ from: link.from, to: link.to }))\n .join('\\n');\n return `${title}\\n${links}\\n`;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOrC,SAASG,yBAAyBA,CAAC;EAAEC,mBAAmB;EAAEC,OAAO,GAAG;AAAsC,CAAC,EAAE;EAClH,IAAI,CAACA,OAAO,EAAE,OAAO,EAAE;EACvB,IAAI,CAACD,mBAAmB,IAAI,CAACA,mBAAmB,CAACE,MAAM,EAAE;IACvD,OAAO,EAAE;EACX;EACA,MAAMC,KAAK,GAAGC,gBAAK,CAACC,IAAI,CAACC,IAAI,CAAC,2BAA2B,CAAC;EAC1D,MAAMC,KAAK,GAAGP,mBAAmB,CAC9BQ,GAAG,CAAEC,oBAAoB,IACxBC,oBAAoB,CAAC;IACnBD,oBAAoB;IACpBR;EACF,CAAC,CACH,CAAC,CACAU,IAAI,CAAC,IAAI,CAAC;EACb,OAAO,GAAGR,KAAK,KAAKI,KAAK,EAAE;AAC7B;AAMA,SAASG,oBAAoBA,CAAC;EAAED,oBAAoB;EAAER,OAAO,GAAG;AAAiC,CAAC,EAAE;EAClG,IAAI,CAACQ,oBAAoB,CAACG,WAAW,IAAIH,oBAAoB,CAACG,WAAW,CAACV,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EAC/F,IAAID,OAAO,EAAE,OAAOY,2BAA2B,CAAC;IAAEJ;EAAqB,CAAC,CAAC;EACzE,OAAO,EAAE;AACX;AAKA,SAASI,2BAA2BA,CAAC;EAAEJ;AAAuD,CAAC,EAAE;EAC/F,MAAMK,EAAE,GAAGL,oBAAoB,CAACM,WAAW,CAACC,QAAQ,CAAC,CAAC;EACtD,MAAMb,KAAK,GAAGC,gBAAK,CAACE,IAAI,CAACD,IAAI,CAACS,EAAE,CAAC;EACjC,MAAMP,KAAK,GAAGE,oBAAoB,CAACG,WAAW,CAC3CJ,GAAG,CAAES,IAAI,IAAK,IAAAC,yBAAc,EAAC;IAAEC,IAAI,EAAEF,IAAI,CAACE,IAAI;IAAEC,EAAE,EAAEH,IAAI,CAACG;EAAG,CAAC,CAAC,CAAC,CAC/DT,IAAI,CAAC,IAAI,CAAC;EACb,OAAO,GAAGR,KAAK,KAAKI,KAAK,IAAI;AAC/B","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import { CodemodResult } from '@teambit/workspace.modules.node-modules-linker';
2
+ type RewireRowProps = {
3
+ legacyCodemodResults?: CodemodResult[];
4
+ };
5
+ export declare function RewireRow({ legacyCodemodResults }: RewireRowProps): string;
6
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RewireRow = RewireRow;
7
+ function _chalk() {
8
+ const data = _interopRequireDefault(require("chalk"));
9
+ _chalk = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function RewireRow({
16
+ legacyCodemodResults
17
+ }) {
18
+ if (!legacyCodemodResults || legacyCodemodResults.length < 1) return '';
19
+ const totalComps = legacyCodemodResults?.length;
20
+ const totalFiles = legacyCodemodResults.reduce((acc, curr) => {
21
+ return acc + curr.changedFiles.length || 0;
22
+ }, 0);
23
+ return `rewired ${_chalk().default.cyan(totalComps.toString())} components and total of ${_chalk().default.cyan(totalFiles.toString())} files`;
24
+ }
25
+
26
+ //# sourceMappingURL=rewire-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","e","__esModule","default","RewireRow","legacyCodemodResults","length","totalComps","totalFiles","reduce","acc","curr","changedFiles","chalk","cyan","toString"],"sources":["rewire-row.ts"],"sourcesContent":["import { CodemodResult } from '@teambit/workspace.modules.node-modules-linker';\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"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAKnB,SAASG,SAASA,CAAC;EAAEC;AAAqC,CAAC,EAAE;EAClE,IAAI,CAACA,oBAAoB,IAAIA,oBAAoB,CAACC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EACvE,MAAMC,UAAU,GAAGF,oBAAoB,EAAEC,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,OAAO,WAAWO,gBAAK,CAACC,IAAI,CAACP,UAAU,CAACQ,QAAQ,CAAC,CAAC,CAAC,4BAA4BF,gBAAK,CAACC,IAAI,CACvFN,UAAU,CAACO,QAAQ,CAAC,CACtB,CAAC,QAAQ;AACX","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { MergedOutdatedPkg } from '@teambit/dependency-resolver';
2
+ /**
3
+ * Lets the user pick the packages that should be updated.
4
+ */
5
+ export declare function pickOutdatedPkgs(outdatedPkgs: MergedOutdatedPkg[]): Promise<MergedOutdatedPkg[]>;
6
+ /**
7
+ * Groups the outdated packages and makes choices for enquirer's prompt.
8
+ */
9
+ export declare function makeOutdatedPkgChoices(outdatedPkgs: MergedOutdatedPkg[]): {
10
+ message: string;
11
+ choices: unknown;
12
+ }[];
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.makeOutdatedPkgChoices = makeOutdatedPkgChoices;
7
+ exports.pickOutdatedPkgs = pickOutdatedPkgs;
8
+ function _colorizeSemverDiff() {
9
+ const data = _interopRequireDefault(require("@pnpm/colorize-semver-diff"));
10
+ _colorizeSemverDiff = function () {
11
+ return data;
12
+ };
13
+ return data;
14
+ }
15
+ function _semverDiff() {
16
+ const data = _interopRequireDefault(require("@pnpm/semver-diff"));
17
+ _semverDiff = function () {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
22
+ function _table() {
23
+ const data = require("table");
24
+ _table = function () {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _chalk() {
30
+ const data = _interopRequireDefault(require("chalk"));
31
+ _chalk = function () {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ function _enquirer() {
37
+ const data = require("enquirer");
38
+ _enquirer = function () {
39
+ return data;
40
+ };
41
+ return data;
42
+ }
43
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
44
+ /**
45
+ * Lets the user pick the packages that should be updated.
46
+ */
47
+ async function pickOutdatedPkgs(outdatedPkgs) {
48
+ if (outdatedPkgs.length === 0) return [];
49
+ const {
50
+ updateDependencies
51
+ } = await (0, _enquirer().prompt)({
52
+ choices: makeOutdatedPkgChoices(outdatedPkgs),
53
+ footer: '\nEnter to start updating. Ctrl-c to cancel.',
54
+ indicator: (state, choice) => ` ${choice.enabled ? '●' : '○'}`,
55
+ message: 'Choose which packages to update ' + `(Press ${_chalk().default.cyan('<space>')} to select, ` + `${_chalk().default.cyan('<a>')} to toggle all, ` + `${_chalk().default.cyan('<i>')} to invert selection)
56
+ ${_chalk().default.green('Green')} - indicates a semantically safe update
57
+ ${_chalk().default.red('Red')} - indicates a semantically breaking change`,
58
+ name: 'updateDependencies',
59
+ pointer: '❯',
60
+ styles: {
61
+ dark: _chalk().default.white,
62
+ em: _chalk().default.bgBlack.whiteBright,
63
+ success: _chalk().default.white
64
+ },
65
+ type: 'multiselect',
66
+ validate(value) {
67
+ if (value.length === 0) {
68
+ return 'You must choose at least one package.';
69
+ }
70
+ return true;
71
+ },
72
+ j() {
73
+ return this.down();
74
+ },
75
+ k() {
76
+ return this.up();
77
+ },
78
+ result(names) {
79
+ // This is needed in order to have the values of the choices in the answer object.
80
+ // Otherwise, only the names of the selected choices would've been included.
81
+ return this.map(names);
82
+ },
83
+ cancel() {
84
+ // By default, canceling the prompt via Ctrl+c throws an empty string.
85
+ // The custom cancel function prevents that behavior.
86
+ // Otherwise, Bit CLI would print an error and confuse users.
87
+ // See related issue: https://github.com/enquirer/enquirer/issues/225
88
+ }
89
+ });
90
+ return Object.values(updateDependencies ?? {}).filter(updateDependency => typeof updateDependency !== 'string');
91
+ }
92
+ const DEP_TYPE_PRIORITY = {
93
+ dependencies: 0,
94
+ devDependencies: 1,
95
+ peerDependencies: 2
96
+ };
97
+
98
+ /**
99
+ * Groups the outdated packages and makes choices for enquirer's prompt.
100
+ */
101
+ function makeOutdatedPkgChoices(outdatedPkgs) {
102
+ outdatedPkgs.sort((pkg1, pkg2) => {
103
+ if (pkg1.targetField === pkg2.targetField) return pkg1.name.localeCompare(pkg2.name);
104
+ return DEP_TYPE_PRIORITY[pkg1.targetField] - DEP_TYPE_PRIORITY[pkg2.targetField];
105
+ });
106
+ const renderedTable = alignColumns(outdatedPkgsRows(outdatedPkgs));
107
+ const groupedChoices = {};
108
+ outdatedPkgs.forEach((outdatedPkg, index) => {
109
+ const context = renderContext(outdatedPkg);
110
+ if (!groupedChoices[context]) {
111
+ groupedChoices[context] = [];
112
+ }
113
+ groupedChoices[context].push({
114
+ message: renderedTable[index],
115
+ name: outdatedPkg.name,
116
+ value: outdatedPkg
117
+ });
118
+ });
119
+ const choices = Object.entries(groupedChoices).map(([context, subChoices]) => ({
120
+ message: _chalk().default.cyan(context),
121
+ choices: subChoices
122
+ }));
123
+ return choices;
124
+ }
125
+ function renderContext(outdatedPkg) {
126
+ if (outdatedPkg.variantPattern) {
127
+ return `${outdatedPkg.variantPattern} (variant)`;
128
+ }
129
+ if (outdatedPkg.componentId) {
130
+ return `${outdatedPkg.componentId} (component)`;
131
+ }
132
+ return 'Root policies';
133
+ }
134
+ const TARGET_FIELD_TO_DEP_TYPE = {
135
+ devDependencies: 'dev',
136
+ dependencies: 'runtime',
137
+ peerDependencies: 'peer'
138
+ };
139
+ function outdatedPkgsRows(outdatedPkgs) {
140
+ return outdatedPkgs.map(outdatedPkg => {
141
+ const {
142
+ change,
143
+ diff
144
+ } = (0, _semverDiff().default)(outdatedPkg.currentRange, outdatedPkg.latestRange);
145
+ let colorizeChange = change ?? 'breaking';
146
+ if (change === 'feature') {
147
+ colorizeChange = 'fix';
148
+ }
149
+ const latest = (0, _colorizeSemverDiff().default)({
150
+ change: colorizeChange,
151
+ diff
152
+ });
153
+ return [outdatedPkg.name, _chalk().default.grey(`(${TARGET_FIELD_TO_DEP_TYPE[outdatedPkg.targetField]})`), outdatedPkg.hasDifferentRanges ? '*' : outdatedPkg.currentRange, '❯', latest, outdatedPkg.dependentComponents ? renderDependents(outdatedPkg.dependentComponents) : ' '];
154
+ });
155
+ }
156
+ function renderDependents(dependentComponents) {
157
+ let result = `because of ${dependentComponents[0]}`;
158
+ if (dependentComponents.length > 1) {
159
+ result += ` and ${dependentComponents.length - 1} other components`;
160
+ }
161
+ return result;
162
+ }
163
+ function alignColumns(rows) {
164
+ return (0, _table().table)(rows, {
165
+ border: (0, _table().getBorderCharacters)('void'),
166
+ columnDefault: {
167
+ paddingLeft: 0,
168
+ paddingRight: 1
169
+ },
170
+ columns: {
171
+ // This is the current range column
172
+ 2: {
173
+ alignment: 'right'
174
+ }
175
+ },
176
+ drawHorizontalLine: () => false
177
+ }).split('\n');
178
+ }
179
+
180
+ //# sourceMappingURL=pick-outdated-pkgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_colorizeSemverDiff","data","_interopRequireDefault","require","_semverDiff","_table","_chalk","_enquirer","e","__esModule","default","pickOutdatedPkgs","outdatedPkgs","length","updateDependencies","prompt","choices","makeOutdatedPkgChoices","footer","indicator","state","choice","enabled","message","chalk","cyan","green","red","name","pointer","styles","dark","white","em","bgBlack","whiteBright","success","type","validate","value","j","down","k","up","result","names","map","cancel","Object","values","filter","updateDependency","DEP_TYPE_PRIORITY","dependencies","devDependencies","peerDependencies","sort","pkg1","pkg2","targetField","localeCompare","renderedTable","alignColumns","outdatedPkgsRows","groupedChoices","forEach","outdatedPkg","index","context","renderContext","push","entries","subChoices","variantPattern","componentId","TARGET_FIELD_TO_DEP_TYPE","change","diff","semverDiff","currentRange","latestRange","colorizeChange","latest","colorizeSemverDiff","grey","hasDifferentRanges","dependentComponents","renderDependents","rows","table","border","getBorderCharacters","columnDefault","paddingLeft","paddingRight","columns","alignment","drawHorizontalLine","split"],"sources":["pick-outdated-pkgs.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport colorizeSemverDiff from '@pnpm/colorize-semver-diff';\nimport semverDiff from '@pnpm/semver-diff';\nimport { MergedOutdatedPkg } from '@teambit/dependency-resolver';\nimport { getBorderCharacters, table } from 'table';\nimport chalk from 'chalk';\nimport { prompt } from 'enquirer';\n\n/**\n * Lets the user pick the packages that should be updated.\n */\nexport async function pickOutdatedPkgs(outdatedPkgs: MergedOutdatedPkg[]): Promise<MergedOutdatedPkg[]> {\n if (outdatedPkgs.length === 0) return [];\n const { updateDependencies } = (await prompt({\n choices: makeOutdatedPkgChoices(outdatedPkgs),\n footer: '\\nEnter to start updating. Ctrl-c to cancel.',\n indicator: (state: any, choice: any) => ` ${choice.enabled ? '●' : '○'}`,\n message:\n 'Choose which packages to update ' +\n `(Press ${chalk.cyan('<space>')} to select, ` +\n `${chalk.cyan('<a>')} to toggle all, ` +\n `${chalk.cyan('<i>')} to invert selection)\n${chalk.green('Green')} - indicates a semantically safe update\n${chalk.red('Red')} - indicates a semantically breaking change`,\n name: 'updateDependencies',\n pointer: '❯',\n styles: {\n dark: chalk.white,\n em: chalk.bgBlack.whiteBright,\n success: chalk.white,\n },\n type: 'multiselect',\n validate(value: string[]) {\n if (value.length === 0) {\n return 'You must choose at least one package.';\n }\n return true;\n },\n j() {\n return this.down();\n },\n k() {\n return this.up();\n },\n result(names: string[]) {\n // This is needed in order to have the values of the choices in the answer object.\n // Otherwise, only the names of the selected choices would've been included.\n return this.map(names);\n },\n cancel() {\n // By default, canceling the prompt via Ctrl+c throws an empty string.\n // The custom cancel function prevents that behavior.\n // Otherwise, Bit CLI would print an error and confuse users.\n // See related issue: https://github.com/enquirer/enquirer/issues/225\n },\n } as any)) as { updateDependencies: Record<string, string | MergedOutdatedPkg> };\n return Object.values(updateDependencies ?? {}).filter(\n (updateDependency) => typeof updateDependency !== 'string'\n ) as MergedOutdatedPkg[];\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: MergedOutdatedPkg[]) {\n outdatedPkgs.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(outdatedPkgs));\n const groupedChoices = {};\n outdatedPkgs.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\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: ComponentID[]): 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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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export {};