@teambit/component-issues 0.0.136 → 0.0.138

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 (70) hide show
  1. package/circular-dependencies.ts +11 -0
  2. package/component-issue.ts +75 -0
  3. package/dist/circular-dependencies.js +12 -26
  4. package/dist/circular-dependencies.js.map +1 -1
  5. package/dist/component-issue.js +57 -79
  6. package/dist/component-issue.js.map +1 -1
  7. package/dist/duplicate-component-and-package.js +12 -26
  8. package/dist/duplicate-component-and-package.js.map +1 -1
  9. package/dist/external-env-without-version.js +15 -29
  10. package/dist/external-env-without-version.js.map +1 -1
  11. package/dist/import-non-main-files.js +10 -23
  12. package/dist/import-non-main-files.js.map +1 -1
  13. package/dist/index.js +10 -81
  14. package/dist/index.js.map +1 -1
  15. package/dist/issues-list.js +131 -263
  16. package/dist/issues-list.js.map +1 -1
  17. package/dist/legacy-inside-harmony.js +12 -26
  18. package/dist/legacy-inside-harmony.js.map +1 -1
  19. package/dist/merge-config-has-conflict.js +12 -26
  20. package/dist/merge-config-has-conflict.js.map +1 -1
  21. package/dist/missing-dependencies-on-fs.js +9 -22
  22. package/dist/missing-dependencies-on-fs.js.map +1 -1
  23. package/dist/missing-dists.js +12 -26
  24. package/dist/missing-dists.js.map +1 -1
  25. package/dist/missing-links-from-nm-to-src.js +12 -26
  26. package/dist/missing-links-from-nm-to-src.js.map +1 -1
  27. package/dist/missing-manually-configured-packages.js +12 -26
  28. package/dist/missing-manually-configured-packages.js.map +1 -1
  29. package/dist/missing-packages-dependencies-on-fs.js +14 -25
  30. package/dist/missing-packages-dependencies-on-fs.js.map +1 -1
  31. package/dist/multiple-envs.js +12 -27
  32. package/dist/multiple-envs.js.map +1 -1
  33. package/dist/non-loaded-env.js +12 -26
  34. package/dist/non-loaded-env.js.map +1 -1
  35. package/dist/parse-errors.js +9 -22
  36. package/dist/parse-errors.js.map +1 -1
  37. package/dist/relative-components-authored.js +36 -55
  38. package/dist/relative-components-authored.js.map +1 -1
  39. package/dist/relative-components.js +13 -26
  40. package/dist/relative-components.js.map +1 -1
  41. package/dist/removed-dependencies.js +12 -27
  42. package/dist/removed-dependencies.js.map +1 -1
  43. package/dist/resolve-errors.js +9 -22
  44. package/dist/resolve-errors.js.map +1 -1
  45. package/dist/tsconfig.json +32 -0
  46. package/dist/untracked-dependencies.js +32 -47
  47. package/dist/untracked-dependencies.js.map +1 -1
  48. package/duplicate-component-and-package.ts +11 -0
  49. package/external-env-without-version.ts +19 -0
  50. package/import-non-main-files.ts +8 -0
  51. package/index.ts +5 -0
  52. package/issues-list.ts +162 -0
  53. package/legacy-inside-harmony.ts +11 -0
  54. package/merge-config-has-conflict.ts +11 -0
  55. package/missing-dependencies-on-fs.ts +7 -0
  56. package/missing-dists.ts +11 -0
  57. package/missing-links-from-nm-to-src.ts +11 -0
  58. package/missing-manually-configured-packages.ts +10 -0
  59. package/missing-packages-dependencies-on-fs.ts +18 -0
  60. package/multiple-envs.ts +12 -0
  61. package/non-loaded-env.ts +11 -0
  62. package/package.json +7 -39
  63. package/parse-errors.ts +7 -0
  64. package/relative-components-authored.ts +49 -0
  65. package/relative-components.ts +12 -0
  66. package/removed-dependencies.ts +11 -0
  67. package/resolve-errors.ts +7 -0
  68. package/tsconfig.json +2 -11
  69. package/untracked-dependencies.ts +41 -0
  70. /package/dist/{preview-1703387662836.js → preview-1703647408454.js} +0 -0
@@ -1,32 +1,17 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.RemovedDependencies = void 0;
7
- function _componentIssue() {
8
- const data = require("./component-issue");
9
- _componentIssue = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
- class RemovedDependencies extends _componentIssue().ComponentIssue {
18
- constructor(...args) {
19
- super(...args);
20
- _defineProperty(this, "description", 'removed dependencies');
21
- _defineProperty(this, "solution", 'run "bit install <missing-dep>" or remove any unneeded references to that component from your code');
22
- _defineProperty(this, "data", void 0);
23
- // deps ids
24
- _defineProperty(this, "isTagBlocker", true);
25
- }
26
- dataToString() {
27
- return _componentIssue().ISSUE_FORMAT_SPACE + this.data.join(', ');
28
- }
4
+ const component_issue_1 = require("./component-issue");
5
+ class RemovedDependencies extends component_issue_1.ComponentIssue {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.description = 'removed dependencies';
9
+ this.solution = 'run "bit install <missing-dep>" or remove any unneeded references to that component from your code';
10
+ this.isTagBlocker = true;
11
+ }
12
+ dataToString() {
13
+ return component_issue_1.ISSUE_FORMAT_SPACE + this.data.join(', ');
14
+ }
29
15
  }
30
16
  exports.RemovedDependencies = RemovedDependencies;
31
-
32
17
  //# sourceMappingURL=removed-dependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_componentIssue","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","RemovedDependencies","ComponentIssue","constructor","args","dataToString","ISSUE_FORMAT_SPACE","join","exports"],"sources":["removed-dependencies.ts"],"sourcesContent":["import { ComponentIssue, ISSUE_FORMAT_SPACE } from './component-issue';\n\nexport class RemovedDependencies extends ComponentIssue {\n description = 'removed dependencies';\n solution = 'run \"bit install <missing-dep>\" or remove any unneeded references to that component from your code';\n data: string[]; // deps ids\n isTagBlocker = true;\n dataToString() {\n return ISSUE_FORMAT_SPACE + this.data.join(', ');\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuE,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAEhE,MAAMU,mBAAmB,SAASC,gCAAc,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA1B,eAAA,sBACxC,sBAAsB;IAAAA,eAAA,mBACzB,oGAAoG;IAAAA,eAAA;IAC/F;IAAAA,eAAA,uBACD,IAAI;EAAA;EACnB2B,YAAYA,CAAA,EAAG;IACb,OAAOC,oCAAkB,GAAG,IAAI,CAAC9B,IAAI,CAAC+B,IAAI,CAAC,IAAI,CAAC;EAClD;AACF;AAACC,OAAA,CAAAP,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"file":"removed-dependencies.js","sourceRoot":"","sources":["../removed-dependencies.ts"],"names":[],"mappings":";;;AAAA,uDAAuE;AAEvE,MAAa,mBAAoB,SAAQ,gCAAc;IAAvD;;QACE,gBAAW,GAAG,sBAAsB,CAAC;QACrC,aAAQ,GAAG,oGAAoG,CAAC;QAEhH,iBAAY,GAAG,IAAI,CAAC;IAItB,CAAC;IAHC,YAAY;QACV,OAAO,oCAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;CACF;AARD,kDAQC"}
@@ -1,27 +1,14 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.ResolveErrors = void 0;
7
- function _componentIssue() {
8
- const data = require("./component-issue");
9
- _componentIssue = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
- class ResolveErrors extends _componentIssue().ComponentIssue {
18
- constructor(...args) {
19
- super(...args);
20
- _defineProperty(this, "description", 'error found while resolving the file dependencies');
21
- _defineProperty(this, "solution", 'see the log for the full error');
22
- _defineProperty(this, "data", {});
23
- }
4
+ const component_issue_1 = require("./component-issue");
5
+ class ResolveErrors extends component_issue_1.ComponentIssue {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.description = 'error found while resolving the file dependencies';
9
+ this.solution = 'see the log for the full error';
10
+ this.data = {};
11
+ }
24
12
  }
25
13
  exports.ResolveErrors = ResolveErrors;
26
-
27
14
  //# sourceMappingURL=resolve-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_componentIssue","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ResolveErrors","ComponentIssue","constructor","args","exports"],"sources":["resolve-errors.ts"],"sourcesContent":["import { ComponentIssue } from './component-issue';\n\nexport class ResolveErrors extends ComponentIssue {\n description = 'error found while resolving the file dependencies';\n solution = 'see the log for the full error';\n data: { [filePath: string]: string } = {};\n}\n"],"mappings":";;;;;;AAAA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAmD,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAE5C,MAAMU,aAAa,SAASC,gCAAc,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA1B,eAAA,sBAClC,mDAAmD;IAAAA,eAAA,mBACtD,gCAAgC;IAAAA,eAAA,eACJ,CAAC,CAAC;EAAA;AAC3C;AAAC2B,OAAA,CAAAJ,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"file":"resolve-errors.js","sourceRoot":"","sources":["../resolve-errors.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AAEnD,MAAa,aAAc,SAAQ,gCAAc;IAAjD;;QACE,gBAAW,GAAG,mDAAmD,CAAC;QAClE,aAAQ,GAAG,gCAAgC,CAAC;QAC5C,SAAI,GAAmC,EAAE,CAAC;IAC5C,CAAC;CAAA;AAJD,sCAIC"}
@@ -0,0 +1,32 @@
1
+ {
2
+ "compilerOptions": {
3
+ "lib": [
4
+ "es2019",
5
+ "DOM",
6
+ "ES6",
7
+ "DOM.Iterable"
8
+ ],
9
+ "target": "es2015",
10
+ "module": "CommonJS",
11
+ "jsx": "react",
12
+ "allowJs": true,
13
+ "composite": true,
14
+ "declaration": true,
15
+ "sourceMap": true,
16
+ "skipLibCheck": true,
17
+ "experimentalDecorators": true,
18
+ "outDir": "dist",
19
+ "moduleResolution": "node",
20
+ "esModuleInterop": true,
21
+ "rootDir": ".",
22
+ "resolveJsonModule": true
23
+ },
24
+ "exclude": [
25
+ "dist",
26
+ "package.json"
27
+ ],
28
+ "include": [
29
+ "**/*",
30
+ "**/*.json"
31
+ ]
32
+ }
@@ -1,54 +1,39 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.UntrackedDependencies = exports.MISSING_NESTED_DEPS_SPACE = void 0;
7
- function _chalk() {
8
- const data = _interopRequireDefault(require("chalk"));
9
- _chalk = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _componentIssue() {
15
- const data = require("./component-issue");
16
- _componentIssue = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
24
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
25
- const MISSING_NESTED_DEPS_SPACE = exports.MISSING_NESTED_DEPS_SPACE = ' '.repeat(_componentIssue().ISSUE_FORMAT_SPACE_COUNT + 2);
26
- class UntrackedDependencies extends _componentIssue().ComponentIssue {
27
- constructor(...args) {
28
- super(...args);
29
- _defineProperty(this, "description", 'untracked file dependencies');
30
- _defineProperty(this, "solution", 'use "bit add <file>" to track untracked files as components');
31
- _defineProperty(this, "data", {});
32
- }
33
- dataToString() {
34
- return Object.keys(this.data).map(k => {
35
- let space = _componentIssue().ISSUE_FORMAT_SPACE;
36
- if (this.data[k].nested) {
37
- space = MISSING_NESTED_DEPS_SPACE;
38
- }
39
- return `${space}${k} -> ${untrackedFilesComponentIssueToString(this.data[k])}`;
40
- }).join('\n');
41
- }
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const component_issue_1 = require("./component-issue");
9
+ exports.MISSING_NESTED_DEPS_SPACE = ' '.repeat(component_issue_1.ISSUE_FORMAT_SPACE_COUNT + 2);
10
+ class UntrackedDependencies extends component_issue_1.ComponentIssue {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.description = 'untracked file dependencies';
14
+ this.solution = 'use "bit add <file>" to track untracked files as components';
15
+ this.data = {};
16
+ }
17
+ dataToString() {
18
+ return Object.keys(this.data)
19
+ .map((k) => {
20
+ let space = component_issue_1.ISSUE_FORMAT_SPACE;
21
+ if (this.data[k].nested) {
22
+ space = exports.MISSING_NESTED_DEPS_SPACE;
23
+ }
24
+ return `${space}${k} -> ${untrackedFilesComponentIssueToString(this.data[k])}`;
25
+ })
26
+ .join('\n');
27
+ }
42
28
  }
43
29
  exports.UntrackedDependencies = UntrackedDependencies;
44
30
  function untrackedFilesComponentIssueToString(value) {
45
- const colorizedMap = value.untrackedFiles.map(curr => {
46
- if (curr.existing) {
47
- return `${_chalk().default.yellow(curr.relativePath)}`;
48
- }
49
- return curr.relativePath;
50
- });
51
- return colorizedMap.join(', ');
31
+ const colorizedMap = value.untrackedFiles.map((curr) => {
32
+ if (curr.existing) {
33
+ return `${chalk_1.default.yellow(curr.relativePath)}`;
34
+ }
35
+ return curr.relativePath;
36
+ });
37
+ return colorizedMap.join(', ');
52
38
  }
53
-
54
39
  //# sourceMappingURL=untracked-dependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssue","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","MISSING_NESTED_DEPS_SPACE","exports","repeat","ISSUE_FORMAT_SPACE_COUNT","UntrackedDependencies","ComponentIssue","constructor","args","dataToString","keys","map","k","space","ISSUE_FORMAT_SPACE","nested","untrackedFilesComponentIssueToString","join","colorizedMap","untrackedFiles","curr","existing","chalk","yellow","relativePath"],"sources":["untracked-dependencies.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { ComponentIssue, ISSUE_FORMAT_SPACE, ISSUE_FORMAT_SPACE_COUNT } from './component-issue';\n\nexport const MISSING_NESTED_DEPS_SPACE = ' '.repeat(ISSUE_FORMAT_SPACE_COUNT + 2);\n\ninterface UntrackedFileEntry {\n relativePath: string;\n existing: boolean;\n}\n\nexport interface UntrackedFileDependencyEntry {\n nested: boolean;\n untrackedFiles: Array<UntrackedFileEntry>;\n}\n\nexport class UntrackedDependencies extends ComponentIssue {\n description = 'untracked file dependencies';\n solution = 'use \"bit add <file>\" to track untracked files as components';\n data: { [filePath: string]: UntrackedFileDependencyEntry } = {};\n dataToString() {\n return Object.keys(this.data)\n .map((k) => {\n let space = ISSUE_FORMAT_SPACE;\n if (this.data[k].nested) {\n space = MISSING_NESTED_DEPS_SPACE;\n }\n return `${space}${k} -> ${untrackedFilesComponentIssueToString(this.data[k])}`;\n })\n .join('\\n');\n }\n}\n\nfunction untrackedFilesComponentIssueToString(value: UntrackedFileDependencyEntry) {\n const colorizedMap = value.untrackedFiles.map((curr) => {\n if (curr.existing) {\n return `${chalk.yellow(curr.relativePath)}`;\n }\n return curr.relativePath;\n });\n return colorizedMap.join(', ');\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;AACA,SAAAG,gBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiG,SAAAC,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAE1F,MAAMU,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,GAAG,CAACE,MAAM,CAACC,0CAAwB,GAAG,CAAC,CAAC;AAY1E,MAAMC,qBAAqB,SAASC,gCAAc,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA7B,eAAA,sBAC1C,6BAA6B;IAAAA,eAAA,mBAChC,6DAA6D;IAAAA,eAAA,eACX,CAAC,CAAC;EAAA;EAC/D8B,YAAYA,CAAA,EAAG;IACb,OAAO1B,MAAM,CAAC2B,IAAI,CAAC,IAAI,CAACtC,IAAI,CAAC,CAC1BuC,GAAG,CAAEC,CAAC,IAAK;MACV,IAAIC,KAAK,GAAGC,oCAAkB;MAC9B,IAAI,IAAI,CAAC1C,IAAI,CAACwC,CAAC,CAAC,CAACG,MAAM,EAAE;QACvBF,KAAK,GAAGZ,yBAAyB;MACnC;MACA,OAAQ,GAAEY,KAAM,GAAED,CAAE,OAAMI,oCAAoC,CAAC,IAAI,CAAC5C,IAAI,CAACwC,CAAC,CAAC,CAAE,EAAC;IAChF,CAAC,CAAC,CACDK,IAAI,CAAC,IAAI,CAAC;EACf;AACF;AAACf,OAAA,CAAAG,qBAAA,GAAAA,qBAAA;AAED,SAASW,oCAAoCA,CAACnC,KAAmC,EAAE;EACjF,MAAMqC,YAAY,GAAGrC,KAAK,CAACsC,cAAc,CAACR,GAAG,CAAES,IAAI,IAAK;IACtD,IAAIA,IAAI,CAACC,QAAQ,EAAE;MACjB,OAAQ,GAAEC,gBAAK,CAACC,MAAM,CAACH,IAAI,CAACI,YAAY,CAAE,EAAC;IAC7C;IACA,OAAOJ,IAAI,CAACI,YAAY;EAC1B,CAAC,CAAC;EACF,OAAON,YAAY,CAACD,IAAI,CAAC,IAAI,CAAC;AAChC"}
1
+ {"version":3,"file":"untracked-dependencies.js","sourceRoot":"","sources":["../untracked-dependencies.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uDAAiG;AAEpF,QAAA,yBAAyB,GAAG,GAAG,CAAC,MAAM,CAAC,0CAAwB,GAAG,CAAC,CAAC,CAAC;AAYlF,MAAa,qBAAsB,SAAQ,gCAAc;IAAzD;;QACE,gBAAW,GAAG,6BAA6B,CAAC;QAC5C,aAAQ,GAAG,6DAA6D,CAAC;QACzE,SAAI,GAAyD,EAAE,CAAC;IAYlE,CAAC;IAXC,YAAY;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,KAAK,GAAG,oCAAkB,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;gBACvB,KAAK,GAAG,iCAAyB,CAAC;aACnC;YACD,OAAO,GAAG,KAAK,GAAG,CAAC,OAAO,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;CACF;AAfD,sDAeC;AAED,SAAS,oCAAoC,CAAC,KAAmC;IAC/E,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACrD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,GAAG,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ComponentIssue, ISSUE_FORMAT_SPACE } from './component-issue';
2
+
3
+ export class DuplicateComponentAndPackage extends ComponentIssue {
4
+ description = 'tracked component added as a package';
5
+ solution = 'either remove the package from the workspace.jsonc (bit uninstall) or remove the component (bit remove)';
6
+ data: string;
7
+ isTagBlocker = true;
8
+ dataToString() {
9
+ return ISSUE_FORMAT_SPACE + this.data;
10
+ }
11
+ }
@@ -0,0 +1,19 @@
1
+ import { ComponentIssue, ISSUE_FORMAT_SPACE } from './component-issue';
2
+
3
+ type DataType = {
4
+ envId: string;
5
+ componentId: string;
6
+ };
7
+
8
+ export class ExternalEnvWithoutVersion extends ComponentIssue {
9
+ description = 'failed loading env - external env without a version';
10
+ data: DataType;
11
+ solution = '';
12
+ isTagBlocker = true;
13
+ formatSolution(): string {
14
+ return `(run "bit env set ${this.data.componentId} ${this.data.envId}")`;
15
+ }
16
+ dataToString() {
17
+ return ISSUE_FORMAT_SPACE + this.data.envId;
18
+ }
19
+ }
@@ -0,0 +1,8 @@
1
+ import { ComponentIssue, StringsPerFilePath } from './component-issue';
2
+
3
+ export class ImportNonMainFiles extends ComponentIssue {
4
+ description = 'importing non-main files';
5
+ solution = 'the dependency should expose its API from the main file';
6
+ data: StringsPerFilePath = {};
7
+ isCacheBlocker = false;
8
+ }
package/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ export { IssuesList, IssuesClasses, IssuesNames } from './issues-list';
2
+ export { ISSUE_FORMAT_SPACE as MISSING_DEPS_SPACE, ComponentIssue } from './component-issue';
3
+ export { UntrackedFileDependencyEntry, MISSING_NESTED_DEPS_SPACE } from './untracked-dependencies';
4
+ export { RelativeComponentsAuthoredEntry } from './relative-components-authored';
5
+ export type { MissingPackagesData } from './missing-packages-dependencies-on-fs';
package/issues-list.ts ADDED
@@ -0,0 +1,162 @@
1
+ import { ComponentIssue, IssueObject } from './component-issue';
2
+ import { ImportNonMainFiles } from './import-non-main-files';
3
+ import { MissingDependenciesOnFs } from './missing-dependencies-on-fs';
4
+ import { MissingDists } from './missing-dists';
5
+ import { MissingPackagesDependenciesOnFs } from './missing-packages-dependencies-on-fs';
6
+ import { MissingManuallyConfiguredPackages } from './missing-manually-configured-packages';
7
+ import { ParseErrors } from './parse-errors';
8
+ import { RelativeComponents } from './relative-components';
9
+ import { RelativeComponentsAuthored } from './relative-components-authored';
10
+ import { ResolveErrors } from './resolve-errors';
11
+ import { UntrackedDependencies } from './untracked-dependencies';
12
+ import { LegacyInsideHarmony } from './legacy-inside-harmony';
13
+ import { MultipleEnvs } from './multiple-envs';
14
+ import { MissingLinksFromNodeModulesToSrc } from './missing-links-from-nm-to-src';
15
+ import { CircularDependencies } from './circular-dependencies';
16
+ import { DuplicateComponentAndPackage } from './duplicate-component-and-package';
17
+ import { MergeConfigHasConflict } from './merge-config-has-conflict';
18
+ import { NonLoadedEnv } from './non-loaded-env';
19
+ import { ExternalEnvWithoutVersion } from './external-env-without-version';
20
+ import { RemovedDependencies } from './removed-dependencies';
21
+
22
+ export const IssuesClasses = {
23
+ MissingPackagesDependenciesOnFs,
24
+ MissingManuallyConfiguredPackages,
25
+ UntrackedDependencies,
26
+ ResolveErrors,
27
+ RelativeComponents,
28
+ RelativeComponentsAuthored,
29
+ ParseErrors,
30
+ MissingDists,
31
+ LegacyInsideHarmony,
32
+ MissingDependenciesOnFs,
33
+ ImportNonMainFiles,
34
+ MultipleEnvs,
35
+ MissingLinksFromNodeModulesToSrc,
36
+ CircularDependencies,
37
+ DuplicateComponentAndPackage,
38
+ MergeConfigHasConflict,
39
+ NonLoadedEnv,
40
+ ExternalEnvWithoutVersion,
41
+ RemovedDependencies,
42
+ };
43
+ export type IssuesNames = keyof typeof IssuesClasses;
44
+
45
+ export class IssuesList {
46
+ constructor(
47
+ /**
48
+ * only reason to have "issues" as public is to avoid the error "Types have separate declarations of a private property"
49
+ * because it is used in the legacy as well. it's possible to remove it from bit-repo and install as a package, but it's not
50
+ * convenient for now.
51
+ */
52
+ public _issues: ComponentIssue[] = []
53
+ ) {}
54
+
55
+ get count() {
56
+ return this._issues.length;
57
+ }
58
+
59
+ isEmpty() {
60
+ return this._issues.length === 0;
61
+ }
62
+
63
+ outputForCLI() {
64
+ return this._issues.map((issue) => issue.outputForCLI()).join('');
65
+ }
66
+
67
+ toObject(): { type: string; description: string; data: any }[] {
68
+ return this._issues.map((issue) => issue.toObject());
69
+ }
70
+
71
+ /**
72
+ * @deprecated use toObjectIncludeDataAsString instead
73
+ * this method changes the "data" prop to string, which can be unexpected, and at times both are needed, the raw and the string.
74
+ * if you change to use `toObjectIncludeDataAsString`, make sure to call "dataAsString" instead of "data" when needed.
75
+ */
76
+ toObjectWithDataAsString(): { type: string; description: string; data: string }[] {
77
+ return this._issues.map((issue) => ({
78
+ ...issue.toObject(),
79
+ data: issue.dataToString().trim(),
80
+ }));
81
+ }
82
+
83
+ add(issue: ComponentIssue) {
84
+ this._issues.push(issue);
85
+ }
86
+
87
+ delete(IssueClass: typeof ComponentIssue) {
88
+ this._issues = this._issues.filter((issue) => issue.constructor.name !== IssueClass.name);
89
+ }
90
+
91
+ /**
92
+ * Use getIssueByName to prevent issues when getting different instances while using both bit from bvm and from the repo
93
+ * @param IssueClass
94
+ * @returns
95
+ */
96
+ getIssue<T extends ComponentIssue>(IssueClass: { new (): T }): T | undefined {
97
+ return this._issues.find((issue) => issue instanceof IssueClass) as T | undefined;
98
+ }
99
+
100
+ getIssueByName<T extends ComponentIssue>(issueType: IssuesNames): T | undefined {
101
+ return this._issues.find((issue) => issue.constructor.name === issueType) as T | undefined;
102
+ }
103
+
104
+ getAllIssues(): ComponentIssue[] {
105
+ return this._issues;
106
+ }
107
+
108
+ getAllIssueNames(): string[] {
109
+ return this._issues.map((issue) => issue.constructor.name);
110
+ }
111
+
112
+ createIssue<T extends ComponentIssue>(IssueClass: { new (): T }): T {
113
+ const newIssue = new IssueClass();
114
+ this.add(newIssue);
115
+ return newIssue;
116
+ }
117
+
118
+ getOrCreate<T extends ComponentIssue>(IssueClass: { new (): T }): T {
119
+ return this.getIssue(IssueClass) || this.createIssue(IssueClass);
120
+ }
121
+
122
+ shouldBlockSavingInCache(): boolean {
123
+ return this._issues.some((issue) => issue.isCacheBlocker);
124
+ }
125
+
126
+ shouldBlockTagging(): boolean {
127
+ return this._issues.some((issue) => issue.isTagBlocker);
128
+ }
129
+
130
+ filterNonTagBlocking(): IssuesList {
131
+ return new IssuesList(this._issues.filter((issue) => issue.isTagBlocker));
132
+ }
133
+
134
+ toObjectIncludeDataAsString(): Array<IssueObject & { dataAsString: string }> {
135
+ return this._issues.map((issue) => ({
136
+ ...issue.toObject(),
137
+ dataAsString: issue.dataToString(),
138
+ }));
139
+ }
140
+
141
+ serialize() {
142
+ return this._issues.map((issue) => ({ type: issue.constructor.name, data: issue.serialize() }));
143
+ }
144
+
145
+ static deserialize(data: Record<string, any>) {
146
+ if (!Array.isArray(data)) {
147
+ // probably old format, ignore it and return an empty IssuesList
148
+ return new IssuesList();
149
+ }
150
+ const issues = data.map((issue) => {
151
+ const ClassName = issue.type;
152
+ if (!Object.keys(IssuesClasses).includes(ClassName)) {
153
+ throw new Error(`issue type "${ClassName}" is not recognized.
154
+ the following are permitted ${Object.keys(IssuesClasses).join(', ')}`);
155
+ }
156
+ const issueInstance: ComponentIssue = new IssuesClasses[ClassName]();
157
+ issueInstance.data = issueInstance.deserialize(issue.data);
158
+ return issueInstance;
159
+ });
160
+ return new IssuesList(issues);
161
+ }
162
+ }
@@ -0,0 +1,11 @@
1
+ import { ComponentIssue, formatTitle } from './component-issue';
2
+
3
+ export class LegacyInsideHarmony extends ComponentIssue {
4
+ description = 'legacy component inside Harmony workspace';
5
+ solution = 'remove the component and re-create it via Harmony';
6
+ data: boolean;
7
+ isTagBlocker = true;
8
+ outputForCLI() {
9
+ return formatTitle(this.descriptionWithSolution, false);
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ import { ComponentIssue, formatTitle } from './component-issue';
2
+
3
+ export class MergeConfigHasConflict extends ComponentIssue {
4
+ description = 'merge-conflict file has unresolved conflicts';
5
+ solution = `edit the merge-conflict file in the workspace root and resolve the conflicts`;
6
+ data: boolean;
7
+ isTagBlocker = true;
8
+ outputForCLI() {
9
+ return formatTitle(this.descriptionWithSolution, false);
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ import { ComponentIssue, StringsPerFilePath } from './component-issue';
2
+
3
+ export class MissingDependenciesOnFs extends ComponentIssue {
4
+ description = 'non-existing dependency files';
5
+ solution = 'make sure all files exists on your workspace';
6
+ data: StringsPerFilePath = {};
7
+ }
@@ -0,0 +1,11 @@
1
+ import { ComponentIssue, formatTitle } from './component-issue';
2
+
3
+ export class MissingDists extends ComponentIssue {
4
+ description = 'missing dists';
5
+ solution = 'run "bit compile"';
6
+ data: boolean;
7
+ isTagBlocker = false;
8
+ outputForCLI() {
9
+ return formatTitle(this.descriptionWithSolution, false);
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ import { ComponentIssue, formatTitle } from './component-issue';
2
+
3
+ export class MissingLinksFromNodeModulesToSrc extends ComponentIssue {
4
+ description = 'missing links from node_modules to source';
5
+ solution = 'run "bit link"';
6
+ data: boolean;
7
+ isTagBlocker = false;
8
+ outputForCLI() {
9
+ return formatTitle(this.descriptionWithSolution, false);
10
+ }
11
+ }
@@ -0,0 +1,10 @@
1
+ import { ComponentIssue, ISSUE_FORMAT_SPACE } from './component-issue';
2
+
3
+ export class MissingManuallyConfiguredPackages extends ComponentIssue {
4
+ description = `missing packages that were manually set`;
5
+ solution = `run "bit install"`;
6
+ data: string[] = []; // package names
7
+ dataToString() {
8
+ return ISSUE_FORMAT_SPACE + this.data.join(', ');
9
+ }
10
+ }
@@ -0,0 +1,18 @@
1
+ import { ComponentIssue, ISSUE_FORMAT_SPACE } from './component-issue';
2
+
3
+ export type MissingPackagesData = {
4
+ filePath: string;
5
+ isDevFile: boolean;
6
+ missingPackages: string[];
7
+ };
8
+
9
+ export class MissingPackagesDependenciesOnFs extends ComponentIssue {
10
+ description = `missing packages or links from node_modules to the source`;
11
+ solution = `run "bit install --add-missing-deps" to fix both issues`;
12
+ data: MissingPackagesData[] = [];
13
+ dataToString(): string {
14
+ return this.data
15
+ .map((d) => `${ISSUE_FORMAT_SPACE}${d.filePath} -> ${this.formatDataFunction(d.missingPackages)}`)
16
+ .join('\n');
17
+ }
18
+ }
@@ -0,0 +1,12 @@
1
+ import { ComponentIssue, ISSUE_FORMAT_SPACE } from './component-issue';
2
+
3
+ export class MultipleEnvs extends ComponentIssue {
4
+ description = 'multiple envs';
5
+ solution =
6
+ 'set the desired env by running "bit env set <component> <env>", if it doesn\'t work, run "bit aspect unset <component> <unwanted-env-id>". to keep troubleshooting run "bit aspect list <component-id>"';
7
+ data: string[]; // env ids
8
+ isTagBlocker = true;
9
+ dataToString() {
10
+ return ISSUE_FORMAT_SPACE + this.data.join(', ');
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ import { ComponentIssue, ISSUE_FORMAT_SPACE } from './component-issue';
2
+
3
+ export class NonLoadedEnv extends ComponentIssue {
4
+ description = 'failed loading env';
5
+ solution = `run "bit install"`;
6
+ data: string;
7
+ isTagBlocker = true;
8
+ dataToString() {
9
+ return ISSUE_FORMAT_SPACE + this.data;
10
+ }
11
+ }
package/package.json CHANGED
@@ -1,59 +1,27 @@
1
1
  {
2
2
  "name": "@teambit/component-issues",
3
- "version": "0.0.136",
3
+ "version": "0.0.138",
4
4
  "homepage": "https://bit.cloud/teambit/component/component-issues",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "component-issues",
9
- "version": "0.0.136"
9
+ "version": "0.0.138"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
13
- "core-js": "^3.0.0",
14
- "@babel/runtime": "7.20.0",
15
13
  "@teambit/component-id": "1.2.0"
16
14
  },
17
15
  "devDependencies": {
18
16
  "@types/mocha": "9.1.0",
17
+ "@types/jest": "26.0.20",
19
18
  "@types/node": "12.20.4",
20
- "@types/react": "^17.0.8",
21
- "@types/react-dom": "^17.0.5",
22
- "@types/jest": "^26.0.0",
23
- "@types/testing-library__jest-dom": "5.9.5"
19
+ "@babel/runtime": "7.20.0"
24
20
  },
25
21
  "peerDependencies": {
26
- "@teambit/legacy": "1.0.623",
27
- "react": "^16.8.0 || ^17.0.0",
28
- "react-dom": "^16.8.0 || ^17.0.0"
22
+ "@teambit/legacy": "1.0.624"
29
23
  },
30
- "license": "Apache-2.0",
24
+ "license": "SEE LICENSE IN LICENSE",
31
25
  "optionalDependencies": {},
32
- "peerDependenciesMeta": {},
33
- "exports": {
34
- "node": {
35
- "require": "./dist/index.js",
36
- "import": "./dist/esm.mjs"
37
- },
38
- "default": "./dist/index.js"
39
- },
40
- "private": false,
41
- "engines": {
42
- "node": ">=12.22.0"
43
- },
44
- "repository": {
45
- "type": "git",
46
- "url": "https://github.com/teambit/bit"
47
- },
48
- "keywords": [
49
- "bit",
50
- "bit-aspect",
51
- "components",
52
- "collaboration",
53
- "web",
54
- "react",
55
- "react-components",
56
- "angular",
57
- "angular-components"
58
- ]
26
+ "peerDependenciesMeta": {}
59
27
  }