@teambit/component-issues 0.0.187 → 0.0.189

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.
@@ -100,6 +100,10 @@ export declare class IssuesList {
100
100
  shouldBlockSavingInCache(): boolean;
101
101
  shouldBlockTagging(): boolean;
102
102
  filterNonTagBlocking(): IssuesList;
103
+ /**
104
+ * for non-terminal consumers (json output, IDE, GraphQL). dataToString() colors the output for the CLI, and chalk
105
+ * colors are process-global (bit-server enables them), so the ANSI codes are stripped here.
106
+ */
103
107
  toObjectIncludeDataAsString(): Array<IssueObject & {
104
108
  dataAsString: string;
105
109
  }>;
@@ -4,6 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.IssuesList = exports.IssuesClasses = void 0;
7
+ function _stripAnsi() {
8
+ const data = _interopRequireDefault(require("strip-ansi"));
9
+ _stripAnsi = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
7
14
  function _importNonMainFiles() {
8
15
  const data = require("./import-non-main-files");
9
16
  _importNonMainFiles = function () {
@@ -172,6 +179,7 @@ function _loadFailures() {
172
179
  };
173
180
  return data;
174
181
  }
182
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
175
183
  const IssuesClasses = exports.IssuesClasses = {
176
184
  MissingPackagesDependenciesOnFs: _missingPackagesDependenciesOnFs().MissingPackagesDependenciesOnFs,
177
185
  MissingManuallyConfiguredPackages: _missingManuallyConfiguredPackages().MissingManuallyConfiguredPackages,
@@ -229,7 +237,7 @@ class IssuesList {
229
237
  toObjectWithDataAsString() {
230
238
  return this._issues.map(issue => ({
231
239
  ...issue.toObject(),
232
- data: issue.dataToString().trim()
240
+ data: (0, _stripAnsi().default)(issue.dataToString()).trim()
233
241
  }));
234
242
  }
235
243
  add(issue) {
@@ -273,10 +281,15 @@ class IssuesList {
273
281
  filterNonTagBlocking() {
274
282
  return new IssuesList(this._issues.filter(issue => issue.isTagBlocker));
275
283
  }
284
+
285
+ /**
286
+ * for non-terminal consumers (json output, IDE, GraphQL). dataToString() colors the output for the CLI, and chalk
287
+ * colors are process-global (bit-server enables them), so the ANSI codes are stripped here.
288
+ */
276
289
  toObjectIncludeDataAsString() {
277
290
  return this._issues.map(issue => ({
278
291
  ...issue.toObject(),
279
- dataAsString: issue.dataToString()
292
+ dataAsString: (0, _stripAnsi().default)(issue.dataToString())
280
293
  }));
281
294
  }
282
295
  serialize() {
@@ -1 +1 @@
1
- {"version":3,"names":["_importNonMainFiles","data","require","_missingDependenciesOnFs","_missingDists","_missingPackagesDependenciesOnFs","_missingManuallyConfiguredPackages","_parseErrors","_relativeComponents","_relativeComponentsAuthored","_resolveErrors","_untrackedDependencies","_legacyInsideHarmony","_multipleEnvs","_missingLinksFromNmToSrc","_circularDependencies","_duplicateComponentAndPackage","_mergeConfigHasConflict","_nonLoadedEnv","_externalEnvWithoutVersion","_removedDependencies","_selfReference","_importFromDirectory","_deprecatedDependencies","_removedEnv","_loadFailures","IssuesClasses","exports","MissingPackagesDependenciesOnFs","MissingManuallyConfiguredPackages","UntrackedDependencies","ResolveErrors","RelativeComponents","RelativeComponentsAuthored","ParseErrors","MissingDists","LegacyInsideHarmony","MissingDependenciesOnFs","ImportNonMainFiles","MultipleEnvs","MissingLinksFromNodeModulesToSrc","CircularDependencies","DuplicateComponentAndPackage","MergeConfigHasConflict","NonLoadedEnv","ExternalEnvWithoutVersion","RemovedDependencies","RemovedEnv","DeprecatedDependencies","SelfReference","ImportFromDirectory","LoadFailures","IssuesList","constructor","_issues","count","length","isEmpty","outputForCLI","map","issue","join","toObject","toObjectWithDataAsString","dataToString","trim","add","push","delete","IssueClass","filter","name","hasTagBlockerIssues","some","isTagBlocker","getIssue","getIssueByName","issueType","find","getAllIssues","getAllIssueNames","createIssue","newIssue","getOrCreate","shouldBlockSavingInCache","isCacheBlocker","shouldBlockTagging","filterNonTagBlocking","toObjectIncludeDataAsString","dataAsString","serialize","type","deserialize","Array","isArray","issues","ClassName","Object","keys","includes","Error","issueInstance"],"sources":["issues-list.ts"],"sourcesContent":["import type { ComponentIssue, IssueObject } from './component-issue';\nimport { ImportNonMainFiles } from './import-non-main-files';\nimport { MissingDependenciesOnFs } from './missing-dependencies-on-fs';\nimport { MissingDists } from './missing-dists';\nimport { MissingPackagesDependenciesOnFs } from './missing-packages-dependencies-on-fs';\nimport { MissingManuallyConfiguredPackages } from './missing-manually-configured-packages';\nimport { ParseErrors } from './parse-errors';\nimport { RelativeComponents } from './relative-components';\nimport { RelativeComponentsAuthored } from './relative-components-authored';\nimport { ResolveErrors } from './resolve-errors';\nimport { UntrackedDependencies } from './untracked-dependencies';\nimport { LegacyInsideHarmony } from './legacy-inside-harmony';\nimport { MultipleEnvs } from './multiple-envs';\nimport { MissingLinksFromNodeModulesToSrc } from './missing-links-from-nm-to-src';\nimport { CircularDependencies } from './circular-dependencies';\nimport { DuplicateComponentAndPackage } from './duplicate-component-and-package';\nimport { MergeConfigHasConflict } from './merge-config-has-conflict';\nimport { NonLoadedEnv } from './non-loaded-env';\nimport { ExternalEnvWithoutVersion } from './external-env-without-version';\nimport { RemovedDependencies } from './removed-dependencies';\nimport { SelfReference } from './self-reference';\nimport { ImportFromDirectory } from './import-from-directory';\nimport { DeprecatedDependencies } from './deprecated-dependencies';\nimport { RemovedEnv } from './removed-env';\nimport { LoadFailures } from './load-failures';\n\nexport const IssuesClasses = {\n MissingPackagesDependenciesOnFs,\n MissingManuallyConfiguredPackages,\n UntrackedDependencies,\n ResolveErrors,\n RelativeComponents,\n RelativeComponentsAuthored,\n ParseErrors,\n MissingDists,\n LegacyInsideHarmony,\n MissingDependenciesOnFs,\n ImportNonMainFiles,\n MultipleEnvs,\n MissingLinksFromNodeModulesToSrc,\n CircularDependencies,\n DuplicateComponentAndPackage,\n MergeConfigHasConflict,\n NonLoadedEnv,\n ExternalEnvWithoutVersion,\n RemovedDependencies,\n RemovedEnv,\n DeprecatedDependencies,\n SelfReference,\n ImportFromDirectory,\n LoadFailures,\n};\nexport type IssuesNames = keyof typeof IssuesClasses;\n\nexport class IssuesList {\n constructor(\n /**\n * only reason to have \"issues\" as public is to avoid the error \"Types have separate declarations of a private property\"\n * 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\n * convenient for now.\n */\n public _issues: ComponentIssue[] = []\n ) {}\n\n get count() {\n return this._issues.length;\n }\n\n isEmpty() {\n return this._issues.length === 0;\n }\n\n outputForCLI() {\n return this._issues.map((issue) => issue.outputForCLI()).join('');\n }\n\n toObject(): { type: string; description: string; data: any }[] {\n return this._issues.map((issue) => issue.toObject());\n }\n\n /**\n * @deprecated use toObjectIncludeDataAsString instead\n * this method changes the \"data\" prop to string, which can be unexpected, and at times both are needed, the raw and the string.\n * if you change to use `toObjectIncludeDataAsString`, make sure to call \"dataAsString\" instead of \"data\" when needed.\n */\n toObjectWithDataAsString(): { type: string; description: string; data: string }[] {\n return this._issues.map((issue) => ({\n ...issue.toObject(),\n data: issue.dataToString().trim(),\n }));\n }\n\n add(issue: ComponentIssue) {\n this._issues.push(issue);\n }\n\n delete(IssueClass: typeof ComponentIssue) {\n this._issues = this._issues.filter((issue) => issue.constructor.name !== IssueClass.name);\n }\n\n hasTagBlockerIssues(): boolean {\n return this._issues.some((issue) => issue.isTagBlocker);\n }\n\n getIssue<T extends ComponentIssue>(IssueClass: { new (): T }): T | undefined {\n // don't use instanceof, e.g. `this._issues.find((issue) => issue instanceof IssueClass)`\n // the \"component-issues\" package can come from different sources, so the \"instanceof\" won't work.\n // use only getIssueByName for this.\n return this.getIssueByName(IssueClass.name as IssuesNames);\n }\n\n getIssueByName<T extends ComponentIssue>(issueType: IssuesNames): T | undefined {\n return this._issues.find((issue) => issue.constructor.name === issueType) as T | undefined;\n }\n\n getAllIssues(): ComponentIssue[] {\n return this._issues;\n }\n\n getAllIssueNames(): string[] {\n return this._issues.map((issue) => issue.constructor.name);\n }\n\n createIssue<T extends ComponentIssue>(IssueClass: { new (): T }): T {\n const newIssue = new IssueClass();\n this.add(newIssue);\n return newIssue;\n }\n\n getOrCreate<T extends ComponentIssue>(IssueClass: { new (): T }): T {\n return this.getIssue(IssueClass) || this.createIssue(IssueClass);\n }\n\n shouldBlockSavingInCache(): boolean {\n return this._issues.some((issue) => issue.isCacheBlocker);\n }\n\n shouldBlockTagging(): boolean {\n return this._issues.some((issue) => issue.isTagBlocker);\n }\n\n filterNonTagBlocking(): IssuesList {\n return new IssuesList(this._issues.filter((issue) => issue.isTagBlocker));\n }\n\n toObjectIncludeDataAsString(): Array<IssueObject & { dataAsString: string }> {\n return this._issues.map((issue) => ({\n ...issue.toObject(),\n dataAsString: issue.dataToString(),\n }));\n }\n\n serialize() {\n return this._issues.map((issue) => ({ type: issue.constructor.name, data: issue.serialize() }));\n }\n\n static deserialize(data: Record<string, any>) {\n if (!Array.isArray(data)) {\n // probably old format, ignore it and return an empty IssuesList\n return new IssuesList();\n }\n const issues = data.map((issue) => {\n const ClassName = issue.type;\n if (!Object.keys(IssuesClasses).includes(ClassName)) {\n throw new Error(`issue type \"${ClassName}\" is not recognized.\nthe following are permitted ${Object.keys(IssuesClasses).join(', ')}`);\n }\n const issueInstance: ComponentIssue = new IssuesClasses[ClassName]();\n issueInstance.data = issueInstance.deserialize(issue.data);\n return issueInstance;\n });\n return new IssuesList(issues);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_stripAnsi","data","_interopRequireDefault","require","_importNonMainFiles","_missingDependenciesOnFs","_missingDists","_missingPackagesDependenciesOnFs","_missingManuallyConfiguredPackages","_parseErrors","_relativeComponents","_relativeComponentsAuthored","_resolveErrors","_untrackedDependencies","_legacyInsideHarmony","_multipleEnvs","_missingLinksFromNmToSrc","_circularDependencies","_duplicateComponentAndPackage","_mergeConfigHasConflict","_nonLoadedEnv","_externalEnvWithoutVersion","_removedDependencies","_selfReference","_importFromDirectory","_deprecatedDependencies","_removedEnv","_loadFailures","e","__esModule","default","IssuesClasses","exports","MissingPackagesDependenciesOnFs","MissingManuallyConfiguredPackages","UntrackedDependencies","ResolveErrors","RelativeComponents","RelativeComponentsAuthored","ParseErrors","MissingDists","LegacyInsideHarmony","MissingDependenciesOnFs","ImportNonMainFiles","MultipleEnvs","MissingLinksFromNodeModulesToSrc","CircularDependencies","DuplicateComponentAndPackage","MergeConfigHasConflict","NonLoadedEnv","ExternalEnvWithoutVersion","RemovedDependencies","RemovedEnv","DeprecatedDependencies","SelfReference","ImportFromDirectory","LoadFailures","IssuesList","constructor","_issues","count","length","isEmpty","outputForCLI","map","issue","join","toObject","toObjectWithDataAsString","stripAnsi","dataToString","trim","add","push","delete","IssueClass","filter","name","hasTagBlockerIssues","some","isTagBlocker","getIssue","getIssueByName","issueType","find","getAllIssues","getAllIssueNames","createIssue","newIssue","getOrCreate","shouldBlockSavingInCache","isCacheBlocker","shouldBlockTagging","filterNonTagBlocking","toObjectIncludeDataAsString","dataAsString","serialize","type","deserialize","Array","isArray","issues","ClassName","Object","keys","includes","Error","issueInstance"],"sources":["issues-list.ts"],"sourcesContent":["import stripAnsi from 'strip-ansi';\nimport type { ComponentIssue, IssueObject } from './component-issue';\nimport { ImportNonMainFiles } from './import-non-main-files';\nimport { MissingDependenciesOnFs } from './missing-dependencies-on-fs';\nimport { MissingDists } from './missing-dists';\nimport { MissingPackagesDependenciesOnFs } from './missing-packages-dependencies-on-fs';\nimport { MissingManuallyConfiguredPackages } from './missing-manually-configured-packages';\nimport { ParseErrors } from './parse-errors';\nimport { RelativeComponents } from './relative-components';\nimport { RelativeComponentsAuthored } from './relative-components-authored';\nimport { ResolveErrors } from './resolve-errors';\nimport { UntrackedDependencies } from './untracked-dependencies';\nimport { LegacyInsideHarmony } from './legacy-inside-harmony';\nimport { MultipleEnvs } from './multiple-envs';\nimport { MissingLinksFromNodeModulesToSrc } from './missing-links-from-nm-to-src';\nimport { CircularDependencies } from './circular-dependencies';\nimport { DuplicateComponentAndPackage } from './duplicate-component-and-package';\nimport { MergeConfigHasConflict } from './merge-config-has-conflict';\nimport { NonLoadedEnv } from './non-loaded-env';\nimport { ExternalEnvWithoutVersion } from './external-env-without-version';\nimport { RemovedDependencies } from './removed-dependencies';\nimport { SelfReference } from './self-reference';\nimport { ImportFromDirectory } from './import-from-directory';\nimport { DeprecatedDependencies } from './deprecated-dependencies';\nimport { RemovedEnv } from './removed-env';\nimport { LoadFailures } from './load-failures';\n\nexport const IssuesClasses = {\n MissingPackagesDependenciesOnFs,\n MissingManuallyConfiguredPackages,\n UntrackedDependencies,\n ResolveErrors,\n RelativeComponents,\n RelativeComponentsAuthored,\n ParseErrors,\n MissingDists,\n LegacyInsideHarmony,\n MissingDependenciesOnFs,\n ImportNonMainFiles,\n MultipleEnvs,\n MissingLinksFromNodeModulesToSrc,\n CircularDependencies,\n DuplicateComponentAndPackage,\n MergeConfigHasConflict,\n NonLoadedEnv,\n ExternalEnvWithoutVersion,\n RemovedDependencies,\n RemovedEnv,\n DeprecatedDependencies,\n SelfReference,\n ImportFromDirectory,\n LoadFailures,\n};\nexport type IssuesNames = keyof typeof IssuesClasses;\n\nexport class IssuesList {\n constructor(\n /**\n * only reason to have \"issues\" as public is to avoid the error \"Types have separate declarations of a private property\"\n * 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\n * convenient for now.\n */\n public _issues: ComponentIssue[] = []\n ) {}\n\n get count() {\n return this._issues.length;\n }\n\n isEmpty() {\n return this._issues.length === 0;\n }\n\n outputForCLI() {\n return this._issues.map((issue) => issue.outputForCLI()).join('');\n }\n\n toObject(): { type: string; description: string; data: any }[] {\n return this._issues.map((issue) => issue.toObject());\n }\n\n /**\n * @deprecated use toObjectIncludeDataAsString instead\n * this method changes the \"data\" prop to string, which can be unexpected, and at times both are needed, the raw and the string.\n * if you change to use `toObjectIncludeDataAsString`, make sure to call \"dataAsString\" instead of \"data\" when needed.\n */\n toObjectWithDataAsString(): { type: string; description: string; data: string }[] {\n return this._issues.map((issue) => ({\n ...issue.toObject(),\n data: stripAnsi(issue.dataToString()).trim(),\n }));\n }\n\n add(issue: ComponentIssue) {\n this._issues.push(issue);\n }\n\n delete(IssueClass: typeof ComponentIssue) {\n this._issues = this._issues.filter((issue) => issue.constructor.name !== IssueClass.name);\n }\n\n hasTagBlockerIssues(): boolean {\n return this._issues.some((issue) => issue.isTagBlocker);\n }\n\n getIssue<T extends ComponentIssue>(IssueClass: { new (): T }): T | undefined {\n // don't use instanceof, e.g. `this._issues.find((issue) => issue instanceof IssueClass)`\n // the \"component-issues\" package can come from different sources, so the \"instanceof\" won't work.\n // use only getIssueByName for this.\n return this.getIssueByName(IssueClass.name as IssuesNames);\n }\n\n getIssueByName<T extends ComponentIssue>(issueType: IssuesNames): T | undefined {\n return this._issues.find((issue) => issue.constructor.name === issueType) as T | undefined;\n }\n\n getAllIssues(): ComponentIssue[] {\n return this._issues;\n }\n\n getAllIssueNames(): string[] {\n return this._issues.map((issue) => issue.constructor.name);\n }\n\n createIssue<T extends ComponentIssue>(IssueClass: { new (): T }): T {\n const newIssue = new IssueClass();\n this.add(newIssue);\n return newIssue;\n }\n\n getOrCreate<T extends ComponentIssue>(IssueClass: { new (): T }): T {\n return this.getIssue(IssueClass) || this.createIssue(IssueClass);\n }\n\n shouldBlockSavingInCache(): boolean {\n return this._issues.some((issue) => issue.isCacheBlocker);\n }\n\n shouldBlockTagging(): boolean {\n return this._issues.some((issue) => issue.isTagBlocker);\n }\n\n filterNonTagBlocking(): IssuesList {\n return new IssuesList(this._issues.filter((issue) => issue.isTagBlocker));\n }\n\n /**\n * for non-terminal consumers (json output, IDE, GraphQL). dataToString() colors the output for the CLI, and chalk\n * colors are process-global (bit-server enables them), so the ANSI codes are stripped here.\n */\n toObjectIncludeDataAsString(): Array<IssueObject & { dataAsString: string }> {\n return this._issues.map((issue) => ({\n ...issue.toObject(),\n dataAsString: stripAnsi(issue.dataToString()),\n }));\n }\n\n serialize() {\n return this._issues.map((issue) => ({ type: issue.constructor.name, data: issue.serialize() }));\n }\n\n static deserialize(data: Record<string, any>) {\n if (!Array.isArray(data)) {\n // probably old format, ignore it and return an empty IssuesList\n return new IssuesList();\n }\n const issues = data.map((issue) => {\n const ClassName = issue.type;\n if (!Object.keys(IssuesClasses).includes(ClassName)) {\n throw new Error(`issue type \"${ClassName}\" is not recognized.\nthe following are permitted ${Object.keys(IssuesClasses).join(', ')}`);\n }\n const issueInstance: ComponentIssue = new IssuesClasses[ClassName]();\n issueInstance.data = issueInstance.deserialize(issue.data);\n return issueInstance;\n });\n return new IssuesList(issues);\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/issues-list.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import stripAnsi from 'strip-ansi';
1
2
  import type { ComponentIssue, IssueObject } from './component-issue';
2
3
  import { ImportNonMainFiles } from './import-non-main-files';
3
4
  import { MissingDependenciesOnFs } from './missing-dependencies-on-fs';
@@ -86,7 +87,7 @@ export class IssuesList {
86
87
  toObjectWithDataAsString(): { type: string; description: string; data: string }[] {
87
88
  return this._issues.map((issue) => ({
88
89
  ...issue.toObject(),
89
- data: issue.dataToString().trim(),
90
+ data: stripAnsi(issue.dataToString()).trim(),
90
91
  }));
91
92
  }
92
93
 
@@ -143,10 +144,14 @@ export class IssuesList {
143
144
  return new IssuesList(this._issues.filter((issue) => issue.isTagBlocker));
144
145
  }
145
146
 
147
+ /**
148
+ * for non-terminal consumers (json output, IDE, GraphQL). dataToString() colors the output for the CLI, and chalk
149
+ * colors are process-global (bit-server enables them), so the ANSI codes are stripped here.
150
+ */
146
151
  toObjectIncludeDataAsString(): Array<IssueObject & { dataAsString: string }> {
147
152
  return this._issues.map((issue) => ({
148
153
  ...issue.toObject(),
149
- dataAsString: issue.dataToString(),
154
+ dataAsString: stripAnsi(issue.dataToString()),
150
155
  }));
151
156
  }
152
157
 
package/package.json CHANGED
@@ -1,20 +1,21 @@
1
1
  {
2
2
  "name": "@teambit/component-issues",
3
- "version": "0.0.187",
3
+ "version": "0.0.189",
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.187"
9
+ "version": "0.0.189"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
13
+ "strip-ansi": "6.0.0",
13
14
  "@teambit/component-id": "1.2.4"
14
15
  },
15
16
  "devDependencies": {
16
17
  "@types/mocha": "9.1.0",
17
- "@teambit/node.envs.node-babel-mocha": "2.1.1"
18
+ "@teambit/node.envs.node-babel-mocha": "2.1.2"
18
19
  },
19
20
  "peerDependencies": {},
20
21
  "license": "Apache-2.0",