@teambit/insights 1.0.667 → 1.0.669

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.
@@ -1,9 +1,9 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
- import { GraphMain, VersionSubgraph } from '@teambit/graph';
2
+ import type { GraphMain, VersionSubgraph } from '@teambit/graph';
3
3
  import { rcompare } from 'semver';
4
4
  // import { ComponentID } from '../../../component/component-id';
5
5
  import { ComponentID } from '@teambit/component';
6
- import { Insight, InsightResult, RawResult } from '../insight';
6
+ import type { Insight, InsightResult, RawResult } from '../insight';
7
7
  // import NoDataForInsight from '../exceptions/no-data-for-insight';
8
8
 
9
9
  export const INSIGHT_NAME = 'duplicate dependencies';
@@ -1,9 +1,9 @@
1
- import { Component } from '@teambit/component';
1
+ import type { Component } from '@teambit/component';
2
2
  import { IssuesClasses } from '@teambit/component-issues';
3
- import { GraphMain } from '@teambit/graph';
3
+ import type { GraphMain } from '@teambit/graph';
4
4
  import { uniq } from 'lodash';
5
- import { Insight, InsightResult, RawResult } from '../insight';
6
- import { RunInsightOptions } from '../insight-manager';
5
+ import type { Insight, InsightResult, RawResult } from '../insight';
6
+ import type { RunInsightOptions } from '../insight-manager';
7
7
 
8
8
  export const INSIGHT_CIRCULAR_DEPS_NAME = 'circular';
9
9
 
@@ -1,5 +1,5 @@
1
- import { GraphMain } from '@teambit/graph';
2
- import { Insight, InsightResult } from '../insight';
1
+ import type { GraphMain } from '@teambit/graph';
2
+ import type { Insight, InsightResult } from '../insight';
3
3
  export declare const INSIGHT_NAME = "duplicate dependencies";
4
4
  type Dependent = {
5
5
  id: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_semver","data","require","_component","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","INSIGHT_NAME","exports","DuplicateDependencies","constructor","graphBuilder","runInsight","graph","getGraph","message","undefined","duplicates","findDuplicateDependencies","lenDependencies","keys","length","formatData","formatted","dependency","depData","entries","totalOutdatedDependents","dependentsByVersion","getDependents","priorVersions","push","dependencyId","latestVersion","latestVersionId","toString","forEach","pVersion","dependents","version","ComponentID","fromString","versionId","split","immediateDependents","dependent","id","usedVersion","compId","sort","revreseCompareVersions","v1","v2","rcompare","err","stringifyDependents","string","map","join","stringifyDependentsByVersion","versions","renderData","obj","run","bareResult","formattedData","renderedData","result","metaData","name","description","default"],"sources":["duplicate-dependencies.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { GraphMain, VersionSubgraph } from '@teambit/graph';\nimport { rcompare } from 'semver';\n// import { ComponentID } from '../../../component/component-id';\nimport { ComponentID } from '@teambit/component';\nimport { Insight, InsightResult, RawResult } from '../insight';\n// import NoDataForInsight from '../exceptions/no-data-for-insight';\n\nexport const INSIGHT_NAME = 'duplicate dependencies';\n\ntype Dependent = {\n id: string;\n usedVersion: string;\n};\n\ntype VersionWithDependents = {\n version: string;\n compId: string;\n dependents: Dependent[];\n};\n\ntype FormattedEntry = {\n dependencyId: string;\n latestVersion: string;\n totalOutdatedDependents: string;\n dependentsByVersion: VersionWithDependents[];\n};\nexport default class DuplicateDependencies implements Insight {\n name = INSIGHT_NAME;\n description = 'Get all duplicate dependencies in component graph';\n graphBuilder: GraphMain;\n constructor(graphBuilder: GraphMain) {\n this.graphBuilder = graphBuilder;\n }\n private async runInsight(): Promise<RawResult> {\n const graph = await this.graphBuilder.getGraph();\n if (!graph) {\n return {\n message: 'No graph found',\n data: undefined,\n };\n }\n const duplicates = graph.findDuplicateDependencies();\n const lenDependencies = [...duplicates.keys()].length;\n if (lenDependencies === 1) {\n return {\n message: `Found ${lenDependencies} duplicate dependency.`,\n data: duplicates,\n };\n }\n return {\n message: `Found ${lenDependencies} duplicate dependencies.`,\n data: duplicates,\n };\n }\n\n private formatData(data: any): FormattedEntry[] {\n const formatted: FormattedEntry[] = [];\n for (const [dependency, depData] of data.entries()) {\n const { totalOutdatedDependents, dependentsByVersion } = this.getDependents(depData.priorVersions);\n formatted.push({\n dependencyId: dependency,\n latestVersion: depData.latestVersionId,\n totalOutdatedDependents: totalOutdatedDependents.toString(),\n dependentsByVersion,\n });\n }\n return formatted;\n }\n\n private getDependents(priorVersions: VersionSubgraph[]): {\n totalOutdatedDependents: number;\n dependentsByVersion: VersionWithDependents[];\n } {\n let totalOutdatedDependents = 0;\n const dependentsByVersion: VersionWithDependents[] = [];\n priorVersions.forEach((pVersion: VersionSubgraph) => {\n const dependents: Dependent[] = [];\n const version = ComponentID.fromString(pVersion.versionId).version || pVersion.versionId.split('@')[1];\n pVersion.immediateDependents.forEach((dependent: string) => {\n dependents.push({\n id: dependent,\n usedVersion: pVersion.versionId,\n });\n });\n dependentsByVersion.push({\n compId: pVersion.versionId,\n version,\n dependents,\n });\n totalOutdatedDependents += pVersion.immediateDependents.length;\n });\n dependentsByVersion.sort(this.revreseCompareVersions);\n return { totalOutdatedDependents, dependentsByVersion };\n }\n\n revreseCompareVersions(v1: VersionWithDependents, v2: VersionWithDependents) {\n try {\n return rcompare(v1.version, v2.version);\n } catch (err) {\n // in case one of them is a snap\n return 0;\n }\n }\n\n private stringifyDependents(dependents: Dependent[]): string {\n const string = dependents\n .map((dependent) => {\n return `- ${dependent.id} => ${dependent.usedVersion}`;\n })\n .join('\\n');\n return string;\n }\n\n private stringifyDependentsByVersion(versions: VersionWithDependents[]): string {\n const string = versions\n .map((version) => {\n return `- ${version.compId} has ${version.dependents.length} dependents`;\n })\n .join('\\n');\n return string;\n }\n\n private renderData(data: FormattedEntry[]) {\n const string = data\n .map((obj) => {\n return `\\n\\nFound ${obj.totalOutdatedDependents} outdated dependents for ${obj.dependencyId}\nThe latest version is \"${obj.latestVersion}\"\nOutdated dependents:\n${this.stringifyDependentsByVersion(obj.dependentsByVersion)}`;\n })\n .join('\\n');\n return string;\n }\n\n async run(): Promise<InsightResult> {\n const bareResult = await this.runInsight();\n const formattedData = this.formatData(bareResult.data);\n const renderedData = this.renderData(formattedData);\n const result: InsightResult = {\n metaData: {\n name: this.name,\n description: this.description,\n },\n data: formattedData,\n message: bareResult.message,\n renderedData,\n };\n\n if (bareResult.message) {\n result.message = bareResult.message;\n }\n return result;\n }\n}\n"],"mappings":";;;;;;AAEA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiD,SAAAG,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA,KAJjD,uDAGA;AAGA;;AAEO,MAAMgB,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,wBAAwB;AAmBrC,MAAME,qBAAqB,CAAoB;EAI5DC,WAAWA,CAACC,YAAuB,EAAE;IAAAvB,eAAA,eAH9BmB,YAAY;IAAAnB,eAAA,sBACL,mDAAmD;IAAAA,eAAA;IAG/D,IAAI,CAACuB,YAAY,GAAGA,YAAY;EAClC;EACA,MAAcC,UAAUA,CAAA,EAAuB;IAC7C,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACF,YAAY,CAACG,QAAQ,CAAC,CAAC;IAChD,IAAI,CAACD,KAAK,EAAE;MACV,OAAO;QACLE,OAAO,EAAE,gBAAgB;QACzB9B,IAAI,EAAE+B;MACR,CAAC;IACH;IACA,MAAMC,UAAU,GAAGJ,KAAK,CAACK,yBAAyB,CAAC,CAAC;IACpD,MAAMC,eAAe,GAAG,CAAC,GAAGF,UAAU,CAACG,IAAI,CAAC,CAAC,CAAC,CAACC,MAAM;IACrD,IAAIF,eAAe,KAAK,CAAC,EAAE;MACzB,OAAO;QACLJ,OAAO,EAAE,SAASI,eAAe,wBAAwB;QACzDlC,IAAI,EAAEgC;MACR,CAAC;IACH;IACA,OAAO;MACLF,OAAO,EAAE,SAASI,eAAe,0BAA0B;MAC3DlC,IAAI,EAAEgC;IACR,CAAC;EACH;EAEQK,UAAUA,CAACrC,IAAS,EAAoB;IAC9C,MAAMsC,SAA2B,GAAG,EAAE;IACtC,KAAK,MAAM,CAACC,UAAU,EAAEC,OAAO,CAAC,IAAIxC,IAAI,CAACyC,OAAO,CAAC,CAAC,EAAE;MAClD,MAAM;QAAEC,uBAAuB;QAAEC;MAAoB,CAAC,GAAG,IAAI,CAACC,aAAa,CAACJ,OAAO,CAACK,aAAa,CAAC;MAClGP,SAAS,CAACQ,IAAI,CAAC;QACbC,YAAY,EAAER,UAAU;QACxBS,aAAa,EAAER,OAAO,CAACS,eAAe;QACtCP,uBAAuB,EAAEA,uBAAuB,CAACQ,QAAQ,CAAC,CAAC;QAC3DP;MACF,CAAC,CAAC;IACJ;IACA,OAAOL,SAAS;EAClB;EAEQM,aAAaA,CAACC,aAAgC,EAGpD;IACA,IAAIH,uBAAuB,GAAG,CAAC;IAC/B,MAAMC,mBAA4C,GAAG,EAAE;IACvDE,aAAa,CAACM,OAAO,CAAEC,QAAyB,IAAK;MACnD,MAAMC,UAAuB,GAAG,EAAE;MAClC,MAAMC,OAAO,GAAGC,wBAAW,CAACC,UAAU,CAACJ,QAAQ,CAACK,SAAS,CAAC,CAACH,OAAO,IAAIF,QAAQ,CAACK,SAAS,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MACtGN,QAAQ,CAACO,mBAAmB,CAACR,OAAO,CAAES,SAAiB,IAAK;QAC1DP,UAAU,CAACP,IAAI,CAAC;UACde,EAAE,EAAED,SAAS;UACbE,WAAW,EAAEV,QAAQ,CAACK;QACxB,CAAC,CAAC;MACJ,CAAC,CAAC;MACFd,mBAAmB,CAACG,IAAI,CAAC;QACvBiB,MAAM,EAAEX,QAAQ,CAACK,SAAS;QAC1BH,OAAO;QACPD;MACF,CAAC,CAAC;MACFX,uBAAuB,IAAIU,QAAQ,CAACO,mBAAmB,CAACvB,MAAM;IAChE,CAAC,CAAC;IACFO,mBAAmB,CAACqB,IAAI,CAAC,IAAI,CAACC,sBAAsB,CAAC;IACrD,OAAO;MAAEvB,uBAAuB;MAAEC;IAAoB,CAAC;EACzD;EAEAsB,sBAAsBA,CAACC,EAAyB,EAAEC,EAAyB,EAAE;IAC3E,IAAI;MACF,OAAO,IAAAC,kBAAQ,EAACF,EAAE,CAACZ,OAAO,EAAEa,EAAE,CAACb,OAAO,CAAC;IACzC,CAAC,CAAC,OAAOe,GAAG,EAAE;MACZ;MACA,OAAO,CAAC;IACV;EACF;EAEQC,mBAAmBA,CAACjB,UAAuB,EAAU;IAC3D,MAAMkB,MAAM,GAAGlB,UAAU,CACtBmB,GAAG,CAAEZ,SAAS,IAAK;MAClB,OAAO,KAAKA,SAAS,CAACC,EAAE,OAAOD,SAAS,CAACE,WAAW,EAAE;IACxD,CAAC,CAAC,CACDW,IAAI,CAAC,IAAI,CAAC;IACb,OAAOF,MAAM;EACf;EAEQG,4BAA4BA,CAACC,QAAiC,EAAU;IAC9E,MAAMJ,MAAM,GAAGI,QAAQ,CACpBH,GAAG,CAAElB,OAAO,IAAK;MAChB,OAAO,KAAKA,OAAO,CAACS,MAAM,QAAQT,OAAO,CAACD,UAAU,CAACjB,MAAM,aAAa;IAC1E,CAAC,CAAC,CACDqC,IAAI,CAAC,IAAI,CAAC;IACb,OAAOF,MAAM;EACf;EAEQK,UAAUA,CAAC5E,IAAsB,EAAE;IACzC,MAAMuE,MAAM,GAAGvE,IAAI,CAChBwE,GAAG,CAAEK,GAAG,IAAK;MACZ,OAAO,aAAaA,GAAG,CAACnC,uBAAuB,4BAA4BmC,GAAG,CAAC9B,YAAY;AACnG,yBAAyB8B,GAAG,CAAC7B,aAAa;AAC1C;AACA,EAAE,IAAI,CAAC0B,4BAA4B,CAACG,GAAG,CAAClC,mBAAmB,CAAC,EAAE;IACxD,CAAC,CAAC,CACD8B,IAAI,CAAC,IAAI,CAAC;IACb,OAAOF,MAAM;EACf;EAEA,MAAMO,GAAGA,CAAA,EAA2B;IAClC,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACpD,UAAU,CAAC,CAAC;IAC1C,MAAMqD,aAAa,GAAG,IAAI,CAAC3C,UAAU,CAAC0C,UAAU,CAAC/E,IAAI,CAAC;IACtD,MAAMiF,YAAY,GAAG,IAAI,CAACL,UAAU,CAACI,aAAa,CAAC;IACnD,MAAME,MAAqB,GAAG;MAC5BC,QAAQ,EAAE;QACRC,IAAI,EAAE,IAAI,CAACA,IAAI;QACfC,WAAW,EAAE,IAAI,CAACA;MACpB,CAAC;MACDrF,IAAI,EAAEgF,aAAa;MACnBlD,OAAO,EAAEiD,UAAU,CAACjD,OAAO;MAC3BmD;IACF,CAAC;IAED,IAAIF,UAAU,CAACjD,OAAO,EAAE;MACtBoD,MAAM,CAACpD,OAAO,GAAGiD,UAAU,CAACjD,OAAO;IACrC;IACA,OAAOoD,MAAM;EACf;AACF;AAAC3D,OAAA,CAAA+D,OAAA,GAAA9D,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_semver","data","require","_component","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","INSIGHT_NAME","exports","DuplicateDependencies","constructor","graphBuilder","runInsight","graph","getGraph","message","undefined","duplicates","findDuplicateDependencies","lenDependencies","keys","length","formatData","formatted","dependency","depData","entries","totalOutdatedDependents","dependentsByVersion","getDependents","priorVersions","push","dependencyId","latestVersion","latestVersionId","toString","forEach","pVersion","dependents","version","ComponentID","fromString","versionId","split","immediateDependents","dependent","id","usedVersion","compId","sort","revreseCompareVersions","v1","v2","rcompare","err","stringifyDependents","string","map","join","stringifyDependentsByVersion","versions","renderData","obj","run","bareResult","formattedData","renderedData","result","metaData","name","description","default"],"sources":["duplicate-dependencies.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type { GraphMain, VersionSubgraph } from '@teambit/graph';\nimport { rcompare } from 'semver';\n// import { ComponentID } from '../../../component/component-id';\nimport { ComponentID } from '@teambit/component';\nimport type { Insight, InsightResult, RawResult } from '../insight';\n// import NoDataForInsight from '../exceptions/no-data-for-insight';\n\nexport const INSIGHT_NAME = 'duplicate dependencies';\n\ntype Dependent = {\n id: string;\n usedVersion: string;\n};\n\ntype VersionWithDependents = {\n version: string;\n compId: string;\n dependents: Dependent[];\n};\n\ntype FormattedEntry = {\n dependencyId: string;\n latestVersion: string;\n totalOutdatedDependents: string;\n dependentsByVersion: VersionWithDependents[];\n};\nexport default class DuplicateDependencies implements Insight {\n name = INSIGHT_NAME;\n description = 'Get all duplicate dependencies in component graph';\n graphBuilder: GraphMain;\n constructor(graphBuilder: GraphMain) {\n this.graphBuilder = graphBuilder;\n }\n private async runInsight(): Promise<RawResult> {\n const graph = await this.graphBuilder.getGraph();\n if (!graph) {\n return {\n message: 'No graph found',\n data: undefined,\n };\n }\n const duplicates = graph.findDuplicateDependencies();\n const lenDependencies = [...duplicates.keys()].length;\n if (lenDependencies === 1) {\n return {\n message: `Found ${lenDependencies} duplicate dependency.`,\n data: duplicates,\n };\n }\n return {\n message: `Found ${lenDependencies} duplicate dependencies.`,\n data: duplicates,\n };\n }\n\n private formatData(data: any): FormattedEntry[] {\n const formatted: FormattedEntry[] = [];\n for (const [dependency, depData] of data.entries()) {\n const { totalOutdatedDependents, dependentsByVersion } = this.getDependents(depData.priorVersions);\n formatted.push({\n dependencyId: dependency,\n latestVersion: depData.latestVersionId,\n totalOutdatedDependents: totalOutdatedDependents.toString(),\n dependentsByVersion,\n });\n }\n return formatted;\n }\n\n private getDependents(priorVersions: VersionSubgraph[]): {\n totalOutdatedDependents: number;\n dependentsByVersion: VersionWithDependents[];\n } {\n let totalOutdatedDependents = 0;\n const dependentsByVersion: VersionWithDependents[] = [];\n priorVersions.forEach((pVersion: VersionSubgraph) => {\n const dependents: Dependent[] = [];\n const version = ComponentID.fromString(pVersion.versionId).version || pVersion.versionId.split('@')[1];\n pVersion.immediateDependents.forEach((dependent: string) => {\n dependents.push({\n id: dependent,\n usedVersion: pVersion.versionId,\n });\n });\n dependentsByVersion.push({\n compId: pVersion.versionId,\n version,\n dependents,\n });\n totalOutdatedDependents += pVersion.immediateDependents.length;\n });\n dependentsByVersion.sort(this.revreseCompareVersions);\n return { totalOutdatedDependents, dependentsByVersion };\n }\n\n revreseCompareVersions(v1: VersionWithDependents, v2: VersionWithDependents) {\n try {\n return rcompare(v1.version, v2.version);\n } catch (err) {\n // in case one of them is a snap\n return 0;\n }\n }\n\n private stringifyDependents(dependents: Dependent[]): string {\n const string = dependents\n .map((dependent) => {\n return `- ${dependent.id} => ${dependent.usedVersion}`;\n })\n .join('\\n');\n return string;\n }\n\n private stringifyDependentsByVersion(versions: VersionWithDependents[]): string {\n const string = versions\n .map((version) => {\n return `- ${version.compId} has ${version.dependents.length} dependents`;\n })\n .join('\\n');\n return string;\n }\n\n private renderData(data: FormattedEntry[]) {\n const string = data\n .map((obj) => {\n return `\\n\\nFound ${obj.totalOutdatedDependents} outdated dependents for ${obj.dependencyId}\nThe latest version is \"${obj.latestVersion}\"\nOutdated dependents:\n${this.stringifyDependentsByVersion(obj.dependentsByVersion)}`;\n })\n .join('\\n');\n return string;\n }\n\n async run(): Promise<InsightResult> {\n const bareResult = await this.runInsight();\n const formattedData = this.formatData(bareResult.data);\n const renderedData = this.renderData(formattedData);\n const result: InsightResult = {\n metaData: {\n name: this.name,\n description: this.description,\n },\n data: formattedData,\n message: bareResult.message,\n renderedData,\n };\n\n if (bareResult.message) {\n result.message = bareResult.message;\n }\n return result;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import { Component } from '@teambit/component';
2
- import { GraphMain } from '@teambit/graph';
3
- import { Insight, InsightResult } from '../insight';
4
- import { RunInsightOptions } from '../insight-manager';
1
+ import type { Component } from '@teambit/component';
2
+ import type { GraphMain } from '@teambit/graph';
3
+ import type { Insight, InsightResult } from '../insight';
4
+ import type { RunInsightOptions } from '../insight-manager';
5
5
  export declare const INSIGHT_CIRCULAR_DEPS_NAME = "circular";
6
6
  export default class FindCycles implements Insight {
7
7
  name: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_componentIssues","data","require","_lodash","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","INSIGHT_CIRCULAR_DEPS_NAME","exports","FindCycles","constructor","graphBuilder","runInsight","opts","graph","getGraphIds","ids","message","undefined","cycles","findCycles","includeDeps","forEach","cycle","push","length","renderData","string","map","join","run","bareResult","renderedData","result","metaData","name","description","addAsComponentIssue","components","c","id","allIds","uniq","flat","componentsWithCircular","filter","component","includes","toString","state","issues","getOrCreate","IssuesClasses","CircularDependencies","default"],"sources":["find-circulars.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { GraphMain } from '@teambit/graph';\nimport { uniq } from 'lodash';\nimport { Insight, InsightResult, RawResult } from '../insight';\nimport { RunInsightOptions } from '../insight-manager';\n\nexport const INSIGHT_CIRCULAR_DEPS_NAME = 'circular';\n\nexport default class FindCycles implements Insight {\n name = INSIGHT_CIRCULAR_DEPS_NAME;\n description = 'Get all circular dependencies in component graph';\n graphBuilder: GraphMain;\n constructor(graphBuilder: GraphMain) {\n this.graphBuilder = graphBuilder;\n }\n private async runInsight(opts?: RunInsightOptions): Promise<RawResult> {\n const graph = await this.graphBuilder.getGraphIds(opts?.ids);\n if (!graph) {\n return {\n message: '',\n data: undefined,\n };\n }\n const cycles = graph.findCycles(undefined, opts?.includeDeps);\n // add the first component to the end to make the circular visible in the output\n cycles.forEach((cycle) => cycle.push(cycle[0]));\n if (cycles.length === 1) {\n return {\n message: `Found ${cycles.length} cycle.`,\n data: cycles,\n };\n }\n return {\n message: `Found ${cycles.length} cycles.`,\n data: cycles,\n };\n }\n\n private renderData(data: RawResult) {\n if (data.data.length === 0) {\n return 'No cyclic dependencies';\n }\n const string = data.data\n .map((cycle) => {\n return `\\nCyclic dependency\n-----------------\n- ${cycle.join('\\n- ')}`;\n })\n .join('\\n');\n return string;\n }\n\n async run(opts?: RunInsightOptions): Promise<InsightResult> {\n const bareResult = await this.runInsight(opts);\n const renderedData = this.renderData(bareResult);\n const result: InsightResult = {\n metaData: {\n name: this.name,\n description: this.description,\n },\n data: bareResult.data,\n message: bareResult.message,\n renderedData,\n };\n\n if (bareResult.message) {\n result.message = bareResult.message;\n }\n return result;\n }\n\n async addAsComponentIssue(components: Component[]) {\n const result = await this.runInsight({ ids: components.map((c) => c.id) });\n if (!result.data.length) {\n return; // no circulars\n }\n const allIds = uniq(result.data.flat());\n const componentsWithCircular = components.filter((component) => allIds.includes(component.id.toString()));\n componentsWithCircular.forEach((component) => {\n component.state.issues.getOrCreate(IssuesClasses.CircularDependencies).data = true;\n });\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8B,SAAAG,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAIvB,MAAMgB,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,GAAG,UAAU;AAErC,MAAME,UAAU,CAAoB;EAIjDC,WAAWA,CAACC,YAAuB,EAAE;IAAAvB,eAAA,eAH9BmB,0BAA0B;IAAAnB,eAAA,sBACnB,kDAAkD;IAAAA,eAAA;IAG9D,IAAI,CAACuB,YAAY,GAAGA,YAAY;EAClC;EACA,MAAcC,UAAUA,CAACC,IAAwB,EAAsB;IACrE,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACH,YAAY,CAACI,WAAW,CAACF,IAAI,EAAEG,GAAG,CAAC;IAC5D,IAAI,CAACF,KAAK,EAAE;MACV,OAAO;QACLG,OAAO,EAAE,EAAE;QACXhC,IAAI,EAAEiC;MACR,CAAC;IACH;IACA,MAAMC,MAAM,GAAGL,KAAK,CAACM,UAAU,CAACF,SAAS,EAAEL,IAAI,EAAEQ,WAAW,CAAC;IAC7D;IACAF,MAAM,CAACG,OAAO,CAAEC,KAAK,IAAKA,KAAK,CAACC,IAAI,CAACD,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAIJ,MAAM,CAACM,MAAM,KAAK,CAAC,EAAE;MACvB,OAAO;QACLR,OAAO,EAAE,SAASE,MAAM,CAACM,MAAM,SAAS;QACxCxC,IAAI,EAAEkC;MACR,CAAC;IACH;IACA,OAAO;MACLF,OAAO,EAAE,SAASE,MAAM,CAACM,MAAM,UAAU;MACzCxC,IAAI,EAAEkC;IACR,CAAC;EACH;EAEQO,UAAUA,CAACzC,IAAe,EAAE;IAClC,IAAIA,IAAI,CAACA,IAAI,CAACwC,MAAM,KAAK,CAAC,EAAE;MAC1B,OAAO,wBAAwB;IACjC;IACA,MAAME,MAAM,GAAG1C,IAAI,CAACA,IAAI,CACrB2C,GAAG,CAAEL,KAAK,IAAK;MACd,OAAO;AACf;AACA,IAAIA,KAAK,CAACM,IAAI,CAAC,MAAM,CAAC,EAAE;IAClB,CAAC,CAAC,CACDA,IAAI,CAAC,IAAI,CAAC;IACb,OAAOF,MAAM;EACf;EAEA,MAAMG,GAAGA,CAACjB,IAAwB,EAA0B;IAC1D,MAAMkB,UAAU,GAAG,MAAM,IAAI,CAACnB,UAAU,CAACC,IAAI,CAAC;IAC9C,MAAMmB,YAAY,GAAG,IAAI,CAACN,UAAU,CAACK,UAAU,CAAC;IAChD,MAAME,MAAqB,GAAG;MAC5BC,QAAQ,EAAE;QACRC,IAAI,EAAE,IAAI,CAACA,IAAI;QACfC,WAAW,EAAE,IAAI,CAACA;MACpB,CAAC;MACDnD,IAAI,EAAE8C,UAAU,CAAC9C,IAAI;MACrBgC,OAAO,EAAEc,UAAU,CAACd,OAAO;MAC3Be;IACF,CAAC;IAED,IAAID,UAAU,CAACd,OAAO,EAAE;MACtBgB,MAAM,CAAChB,OAAO,GAAGc,UAAU,CAACd,OAAO;IACrC;IACA,OAAOgB,MAAM;EACf;EAEA,MAAMI,mBAAmBA,CAACC,UAAuB,EAAE;IACjD,MAAML,MAAM,GAAG,MAAM,IAAI,CAACrB,UAAU,CAAC;MAAEI,GAAG,EAAEsB,UAAU,CAACV,GAAG,CAAEW,CAAC,IAAKA,CAAC,CAACC,EAAE;IAAE,CAAC,CAAC;IAC1E,IAAI,CAACP,MAAM,CAAChD,IAAI,CAACwC,MAAM,EAAE;MACvB,OAAO,CAAC;IACV;IACA,MAAMgB,MAAM,GAAG,IAAAC,cAAI,EAACT,MAAM,CAAChD,IAAI,CAAC0D,IAAI,CAAC,CAAC,CAAC;IACvC,MAAMC,sBAAsB,GAAGN,UAAU,CAACO,MAAM,CAAEC,SAAS,IAAKL,MAAM,CAACM,QAAQ,CAACD,SAAS,CAACN,EAAE,CAACQ,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzGJ,sBAAsB,CAACtB,OAAO,CAAEwB,SAAS,IAAK;MAC5CA,SAAS,CAACG,KAAK,CAACC,MAAM,CAACC,WAAW,CAACC,gCAAa,CAACC,oBAAoB,CAAC,CAACpE,IAAI,GAAG,IAAI;IACpF,CAAC,CAAC;EACJ;AACF;AAACuB,OAAA,CAAA8C,OAAA,GAAA7C,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_componentIssues","data","require","_lodash","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","INSIGHT_CIRCULAR_DEPS_NAME","exports","FindCycles","constructor","graphBuilder","runInsight","opts","graph","getGraphIds","ids","message","undefined","cycles","findCycles","includeDeps","forEach","cycle","push","length","renderData","string","map","join","run","bareResult","renderedData","result","metaData","name","description","addAsComponentIssue","components","c","id","allIds","uniq","flat","componentsWithCircular","filter","component","includes","toString","state","issues","getOrCreate","IssuesClasses","CircularDependencies","default"],"sources":["find-circulars.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport type { GraphMain } from '@teambit/graph';\nimport { uniq } from 'lodash';\nimport type { Insight, InsightResult, RawResult } from '../insight';\nimport type { RunInsightOptions } from '../insight-manager';\n\nexport const INSIGHT_CIRCULAR_DEPS_NAME = 'circular';\n\nexport default class FindCycles implements Insight {\n name = INSIGHT_CIRCULAR_DEPS_NAME;\n description = 'Get all circular dependencies in component graph';\n graphBuilder: GraphMain;\n constructor(graphBuilder: GraphMain) {\n this.graphBuilder = graphBuilder;\n }\n private async runInsight(opts?: RunInsightOptions): Promise<RawResult> {\n const graph = await this.graphBuilder.getGraphIds(opts?.ids);\n if (!graph) {\n return {\n message: '',\n data: undefined,\n };\n }\n const cycles = graph.findCycles(undefined, opts?.includeDeps);\n // add the first component to the end to make the circular visible in the output\n cycles.forEach((cycle) => cycle.push(cycle[0]));\n if (cycles.length === 1) {\n return {\n message: `Found ${cycles.length} cycle.`,\n data: cycles,\n };\n }\n return {\n message: `Found ${cycles.length} cycles.`,\n data: cycles,\n };\n }\n\n private renderData(data: RawResult) {\n if (data.data.length === 0) {\n return 'No cyclic dependencies';\n }\n const string = data.data\n .map((cycle) => {\n return `\\nCyclic dependency\n-----------------\n- ${cycle.join('\\n- ')}`;\n })\n .join('\\n');\n return string;\n }\n\n async run(opts?: RunInsightOptions): Promise<InsightResult> {\n const bareResult = await this.runInsight(opts);\n const renderedData = this.renderData(bareResult);\n const result: InsightResult = {\n metaData: {\n name: this.name,\n description: this.description,\n },\n data: bareResult.data,\n message: bareResult.message,\n renderedData,\n };\n\n if (bareResult.message) {\n result.message = bareResult.message;\n }\n return result;\n }\n\n async addAsComponentIssue(components: Component[]) {\n const result = await this.runInsight({ ids: components.map((c) => c.id) });\n if (!result.data.length) {\n return; // no circulars\n }\n const allIds = uniq(result.data.flat());\n const componentsWithCircular = components.filter((component) => allIds.includes(component.id.toString()));\n componentsWithCircular.forEach((component) => {\n component.state.issues.getOrCreate(IssuesClasses.CircularDependencies).data = true;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { GraphMain } from '@teambit/graph';
1
+ import type { GraphMain } from '@teambit/graph';
2
2
  import DuplicateDependencies from './all-insights/duplicate-dependencies';
3
3
  import FindCycles from './all-insights/find-circulars';
4
4
  export default function getCoreInsights(graphBuilder: GraphMain): (DuplicateDependencies | FindCycles)[];
@@ -1 +1 @@
1
- {"version":3,"names":["_duplicateDependencies","data","_interopRequireDefault","require","_findCirculars","e","__esModule","default","getCoreInsights","graphBuilder","coreInsights","FindCycles","DuplicateDependencies"],"sources":["core-insights-getter.ts"],"sourcesContent":["import { GraphMain } from '@teambit/graph';\n\nimport DuplicateDependencies from './all-insights/duplicate-dependencies';\nimport FindCycles from './all-insights/find-circulars';\n\nexport default function getCoreInsights(graphBuilder: GraphMain) {\n const coreInsights = [new FindCycles(graphBuilder), new DuplicateDependencies(graphBuilder)];\n return coreInsights;\n}\n"],"mappings":";;;;;;AAEA,SAAAA,uBAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,sBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,eAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,cAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuD,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,SAASG,eAAeA,CAACC,YAAuB,EAAE;EAC/D,MAAMC,YAAY,GAAG,CAAC,KAAIC,wBAAU,EAACF,YAAY,CAAC,EAAE,KAAIG,gCAAqB,EAACH,YAAY,CAAC,CAAC;EAC5F,OAAOC,YAAY;AACrB","ignoreList":[]}
1
+ {"version":3,"names":["_duplicateDependencies","data","_interopRequireDefault","require","_findCirculars","e","__esModule","default","getCoreInsights","graphBuilder","coreInsights","FindCycles","DuplicateDependencies"],"sources":["core-insights-getter.ts"],"sourcesContent":["import type { GraphMain } from '@teambit/graph';\n\nimport DuplicateDependencies from './all-insights/duplicate-dependencies';\nimport FindCycles from './all-insights/find-circulars';\n\nexport default function getCoreInsights(graphBuilder: GraphMain) {\n const coreInsights = [new FindCycles(graphBuilder), new DuplicateDependencies(graphBuilder)];\n return coreInsights;\n}\n"],"mappings":";;;;;;AAEA,SAAAA,uBAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,sBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,eAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,cAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuD,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,SAASG,eAAeA,CAACC,YAAuB,EAAE;EAC/D,MAAMC,YAAY,GAAG,CAAC,KAAIC,wBAAU,EAACF,YAAY,CAAC,EAAE,KAAIG,gCAAqB,EAACH,YAAY,CAAC,CAAC;EAC5F,OAAOC,YAAY;AACrB","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { ComponentID } from '@teambit/component-id';
2
- import { Insight, InsightResult } from './insight';
1
+ import type { ComponentID } from '@teambit/component-id';
2
+ import type { Insight, InsightResult } from './insight';
3
3
  export type RunInsightOptions = {
4
4
  renderData?: boolean;
5
5
  includeDeps?: boolean;
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_insightAlreadyExists","_insightNotFound","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","InsightManager","constructor","insights","Map","forEach","insight","register","name","has","InsightAlreadyExists","set","listInsights","keys","getByName","insightName","get","delete","InsightNotFound","run","insightNames","opts","res","pMapSeries","insightRes","renderData","renderedData","push","runAll","allInsightNames","exports"],"sources":["insight-manager.ts"],"sourcesContent":["import pMapSeries from 'p-map-series';\nimport { ComponentID } from '@teambit/component-id';\nimport InsightAlreadyExists from './exceptions/insight-already-exists';\nimport InsightNotFound from './exceptions/insight-not-found';\nimport { Insight, InsightResult } from './insight';\n\nexport type RunInsightOptions = {\n renderData?: boolean;\n includeDeps?: boolean;\n ids?: ComponentID[];\n};\nexport class InsightManager {\n /** insights is an insight registry */\n readonly insights: Map<string, Insight> = new Map();\n constructor(\n /**\n * array of registered insights\n */\n insights: Insight[]\n ) {\n insights.forEach((insight) => {\n this.register(insight);\n });\n }\n\n /**\n * registers a new insight and returns the updated insight registry map\n */\n register(insight: Insight) {\n const name = insight.name;\n if (this.insights.has(name)) {\n throw new InsightAlreadyExists(name);\n }\n this.insights.set(name, insight);\n }\n /**\n * list of all registered insights\n */\n listInsights(): string[] {\n return [...this.insights.keys()];\n }\n\n /**\n * gets a specific insight by its name or undefined if doesn't exist\n */\n getByName(insightName: string): Insight | undefined {\n return this.insights.get(insightName);\n }\n\n /**\n * deletes a specific insight by its name if exists\n */\n delete(insightName: string) {\n if (!this.insights.has(insightName)) {\n throw new InsightNotFound(insightName);\n }\n this.insights.delete(insightName);\n }\n\n /**\n * execute an array of insights\n *\n */\n async run(insightNames: string[], opts: RunInsightOptions): Promise<InsightResult[]> {\n const res: InsightResult[] = [];\n // the reason for not using Promise.all here is that the current both insights building the graph.\n // if it happens at the same time, some props are not populated in one of the instances. it obviously\n // should be fixed in the GraphBuilder class. see \"todo\" there.\n await pMapSeries(insightNames, async (insightName) => {\n const insight = this.getByName(insightName);\n if (insight) {\n const insightRes: InsightResult = await insight.run(opts);\n if (!opts.renderData) {\n delete insightRes.renderedData;\n }\n res.push(insightRes);\n }\n });\n return res;\n }\n\n /**\n * execute all insights in the registry\n *\n */\n async runAll(opts: RunInsightOptions): Promise<InsightResult[]> {\n const allInsightNames = this.listInsights();\n return this.run(allInsightNames, opts);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_insightAlreadyExists","_insightNotFound","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","InsightManager","constructor","insights","Map","forEach","insight","register","name","has","InsightAlreadyExists","set","listInsights","keys","getByName","insightName","get","delete","InsightNotFound","run","insightNames","opts","res","pMapSeries","insightRes","renderData","renderedData","push","runAll","allInsightNames","exports"],"sources":["insight-manager.ts"],"sourcesContent":["import pMapSeries from 'p-map-series';\nimport type { ComponentID } from '@teambit/component-id';\nimport InsightAlreadyExists from './exceptions/insight-already-exists';\nimport InsightNotFound from './exceptions/insight-not-found';\nimport type { Insight, InsightResult } from './insight';\n\nexport type RunInsightOptions = {\n renderData?: boolean;\n includeDeps?: boolean;\n ids?: ComponentID[];\n};\nexport class InsightManager {\n /** insights is an insight registry */\n readonly insights: Map<string, Insight> = new Map();\n constructor(\n /**\n * array of registered insights\n */\n insights: Insight[]\n ) {\n insights.forEach((insight) => {\n this.register(insight);\n });\n }\n\n /**\n * registers a new insight and returns the updated insight registry map\n */\n register(insight: Insight) {\n const name = insight.name;\n if (this.insights.has(name)) {\n throw new InsightAlreadyExists(name);\n }\n this.insights.set(name, insight);\n }\n /**\n * list of all registered insights\n */\n listInsights(): string[] {\n return [...this.insights.keys()];\n }\n\n /**\n * gets a specific insight by its name or undefined if doesn't exist\n */\n getByName(insightName: string): Insight | undefined {\n return this.insights.get(insightName);\n }\n\n /**\n * deletes a specific insight by its name if exists\n */\n delete(insightName: string) {\n if (!this.insights.has(insightName)) {\n throw new InsightNotFound(insightName);\n }\n this.insights.delete(insightName);\n }\n\n /**\n * execute an array of insights\n *\n */\n async run(insightNames: string[], opts: RunInsightOptions): Promise<InsightResult[]> {\n const res: InsightResult[] = [];\n // the reason for not using Promise.all here is that the current both insights building the graph.\n // if it happens at the same time, some props are not populated in one of the instances. it obviously\n // should be fixed in the GraphBuilder class. see \"todo\" there.\n await pMapSeries(insightNames, async (insightName) => {\n const insight = this.getByName(insightName);\n if (insight) {\n const insightRes: InsightResult = await insight.run(opts);\n if (!opts.renderData) {\n delete insightRes.renderedData;\n }\n res.push(insightRes);\n }\n });\n return res;\n }\n\n /**\n * execute all insights in the registry\n *\n */\n async runAll(opts: RunInsightOptions): Promise<InsightResult[]> {\n const allInsightNames = this.listInsights();\n return this.run(allInsightNames, opts);\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/insight.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Component } from '@teambit/component';
2
- import { RunInsightOptions } from './insight-manager';
1
+ import type { Component } from '@teambit/component';
2
+ import type { RunInsightOptions } from './insight-manager';
3
3
  export type InsightMetaData = {
4
4
  name: string;
5
5
  description: string;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["insight.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { RunInsightOptions } from './insight-manager';\n\nexport type InsightMetaData = {\n name: string;\n description: string;\n};\n\nexport type InsightResult = {\n metaData: InsightMetaData;\n message: string;\n data: any;\n renderedData?: string;\n};\n\nexport type RawResult = {\n message: string;\n data: any;\n};\n\nexport interface Insight {\n name: string;\n description: string;\n\n /**\n * runs a specific insight using _runInsight, gets a RawResult, and uses _formatData to transform the output to InsightResult.\n */\n run(opts?: RunInsightOptions): Promise<InsightResult>;\n\n /**\n * add the results from the insights as a component-issue so then bit-status could show them and bit-tag could block\n * them.\n */\n addAsComponentIssue?(components: Component[]): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["insight.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\nimport type { RunInsightOptions } from './insight-manager';\n\nexport type InsightMetaData = {\n name: string;\n description: string;\n};\n\nexport type InsightResult = {\n metaData: InsightMetaData;\n message: string;\n data: any;\n renderedData?: string;\n};\n\nexport type RawResult = {\n message: string;\n data: any;\n};\n\nexport interface Insight {\n name: string;\n description: string;\n\n /**\n * runs a specific insight using _runInsight, gets a RawResult, and uses _formatData to transform the output to InsightResult.\n */\n run(opts?: RunInsightOptions): Promise<InsightResult>;\n\n /**\n * add the results from the insights as a component-issue so then bit-status could show them and bit-tag could block\n * them.\n */\n addAsComponentIssue?(components: Component[]): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { Command, CommandOptions } from '@teambit/cli';
2
- import { InsightResult } from './insight';
3
- import { InsightsMain } from './insights.main.runtime';
1
+ import type { Command, CommandOptions } from '@teambit/cli';
2
+ import type { InsightResult } from './insight';
3
+ import type { InsightsMain } from './insights.main.runtime';
4
4
  export default class InsightsCmd implements Command {
5
5
  private insights;
6
6
  name: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","InsightsCmd","constructor","insights","report","names","options","list","results","json","JSON","stringify","runInsights","renderData","includeDeps","template","listInsights","exports","elements","map","result","chalk","cyan","bold","message","renderedData","join"],"sources":["insights.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { InsightResult } from './insight';\nimport { InsightsMain } from './insights.main.runtime';\n\nexport default class InsightsCmd implements Command {\n name = 'insights [names...]';\n description = 'Insights on component graph';\n group = 'workspace-tools';\n private = true;\n options = [\n ['l', 'list', 'list all insights'],\n ['j', 'json', 'return the insights in json format'],\n ['', 'include-deps', 'include component dependencies that are not in this workspace'],\n ] as CommandOptions;\n constructor(private insights: InsightsMain) {}\n\n async report([names]: [string[]], options: { list: boolean; includeDeps: boolean }): Promise<string> {\n if (options.list) {\n const results = await this.json([names], options);\n return JSON.stringify(results, null, 2);\n }\n const results = await this.insights.runInsights(names, { renderData: true, includeDeps: options.includeDeps });\n return template(results);\n }\n\n async json([names]: [string[]], { list, includeDeps }: { list: boolean; includeDeps: boolean }) {\n if (list) {\n const results = this.insights.listInsights();\n return results;\n }\n return this.insights.runInsights(names, { renderData: false, includeDeps });\n }\n}\n\nfunction template(results: InsightResult[]): string {\n const elements = results\n .map((result) => {\n return `\\n${chalk.cyan.bold(result.message)}\n ${result.renderedData}`;\n })\n .join('\\n');\n return elements;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","InsightsCmd","constructor","insights","report","names","options","list","results","json","JSON","stringify","runInsights","renderData","includeDeps","template","listInsights","exports","elements","map","result","chalk","cyan","bold","message","renderedData","join"],"sources":["insights.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport type { InsightResult } from './insight';\nimport type { InsightsMain } from './insights.main.runtime';\n\nexport default class InsightsCmd implements Command {\n name = 'insights [names...]';\n description = 'Insights on component graph';\n group = 'workspace-tools';\n private = true;\n options = [\n ['l', 'list', 'list all insights'],\n ['j', 'json', 'return the insights in json format'],\n ['', 'include-deps', 'include component dependencies that are not in this workspace'],\n ] as CommandOptions;\n constructor(private insights: InsightsMain) {}\n\n async report([names]: [string[]], options: { list: boolean; includeDeps: boolean }): Promise<string> {\n if (options.list) {\n const results = await this.json([names], options);\n return JSON.stringify(results, null, 2);\n }\n const results = await this.insights.runInsights(names, { renderData: true, includeDeps: options.includeDeps });\n return template(results);\n }\n\n async json([names]: [string[]], { list, includeDeps }: { list: boolean; includeDeps: boolean }) {\n if (list) {\n const results = this.insights.listInsights();\n return results;\n }\n return this.insights.runInsights(names, { renderData: false, includeDeps });\n }\n}\n\nfunction template(results: InsightResult[]): string {\n const elements = results\n .map((result) => {\n return `\\n${chalk.cyan.bold(result.message)}\n ${result.renderedData}`;\n })\n .join('\\n');\n return elements;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,10 @@
1
- import { CLIMain } from '@teambit/cli';
2
- import { GraphMain } from '@teambit/graph';
3
- import { IssuesMain } from '@teambit/issues';
4
- import { Component } from '@teambit/component';
5
- import { InsightResult } from './insight';
6
- import { InsightManager, RunInsightOptions } from './insight-manager';
1
+ import type { CLIMain } from '@teambit/cli';
2
+ import type { GraphMain } from '@teambit/graph';
3
+ import type { IssuesMain } from '@teambit/issues';
4
+ import type { Component } from '@teambit/component';
5
+ import type { InsightResult } from './insight';
6
+ import type { RunInsightOptions } from './insight-manager';
7
+ import { InsightManager } from './insight-manager';
7
8
  export declare class InsightsMain {
8
9
  private insightManager;
9
10
  constructor(insightManager: InsightManager);
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_graph","_componentIssues","_issues","_pMapSeries","_interopRequireDefault","_insights","_coreInsightsGetter","_insightManager","_insights2","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","InsightsMain","constructor","insightManager","runInsights","names","opts","results","namesArr","run","runAll","listInsights","addInsightsAsComponentIssues","components","issuesToIgnore","insightNames","insights","map","name","getByName","includes","IssuesClasses","CircularDependencies","pMapSeries","insight","addAsComponentIssue","provider","graphMain","cli","issues","initialInsights","getCoreInsights","InsightManager","insightsMain","registerAddComponentsIssues","bind","insightsCmd","InsightsCmd","register","exports","GraphAspect","CLIAspect","IssuesAspect","MainRuntime","silence","InsightsAspect","addRuntime"],"sources":["insights.main.runtime.ts"],"sourcesContent":["import { CLIAspect, MainRuntime, CLIMain } from '@teambit/cli';\nimport { GraphAspect, GraphMain } from '@teambit/graph';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport pMapSeries from 'p-map-series';\nimport { Component } from '@teambit/component';\nimport { InsightsAspect } from './insights.aspect';\nimport getCoreInsights from './core-insights-getter';\nimport { Insight, InsightResult } from './insight';\nimport { InsightManager, RunInsightOptions } from './insight-manager';\nimport InsightsCmd from './insights.cmd';\n\nexport class InsightsMain {\n constructor(private insightManager: InsightManager) {}\n\n async runInsights(names: string[], opts: RunInsightOptions) {\n if (names) {\n let results: InsightResult[] = [];\n const namesArr = typeof names === 'string' ? [names] : names;\n results = await this.insightManager.run(namesArr, opts);\n return results;\n }\n const results = await this.insightManager.runAll(opts);\n return results;\n }\n\n listInsights() {\n return this.insightManager.listInsights();\n }\n\n async addInsightsAsComponentIssues(components: Component[], issuesToIgnore: string[]) {\n const insightNames: string[] = this.listInsights();\n const insights = insightNames.map((name) => this.insightManager.getByName(name));\n if (!issuesToIgnore.includes(IssuesClasses.CircularDependencies.name)) {\n await pMapSeries(insights, async (insight) => {\n if (insight && insight.addAsComponentIssue) {\n await insight.addAsComponentIssue(components);\n }\n });\n }\n }\n\n static slots = [];\n static dependencies = [GraphAspect, CLIAspect, IssuesAspect];\n static runtime = MainRuntime;\n static config = {\n silence: false,\n };\n static async provider([graphMain, cli, issues]: [GraphMain, CLIMain, IssuesMain]) {\n // get all insights from registry\n const initialInsights: Insight[] = getCoreInsights(graphMain);\n // register all insights in cli\n // TODO - get user-defined insights as well, and use them when instantiating InsightManager and InsightsCmd\n const insightManager = new InsightManager(initialInsights);\n const insightsMain = new InsightsMain(insightManager);\n if (issues) issues.registerAddComponentsIssues(insightsMain.addInsightsAsComponentIssues.bind(insightsMain));\n const insightsCmd = new InsightsCmd(insightsMain);\n cli.register(insightsCmd);\n return insightsMain;\n }\n}\n\nInsightsAspect.addRuntime(InsightsMain);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_graph","_componentIssues","_issues","_pMapSeries","_interopRequireDefault","_insights","_coreInsightsGetter","_insightManager","_insights2","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","InsightsMain","constructor","insightManager","runInsights","names","opts","results","namesArr","run","runAll","listInsights","addInsightsAsComponentIssues","components","issuesToIgnore","insightNames","insights","map","name","getByName","includes","IssuesClasses","CircularDependencies","pMapSeries","insight","addAsComponentIssue","provider","graphMain","cli","issues","initialInsights","getCoreInsights","InsightManager","insightsMain","registerAddComponentsIssues","bind","insightsCmd","InsightsCmd","register","exports","GraphAspect","CLIAspect","IssuesAspect","MainRuntime","silence","InsightsAspect","addRuntime"],"sources":["insights.main.runtime.ts"],"sourcesContent":["import type { CLIMain } from '@teambit/cli';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport type { GraphMain } from '@teambit/graph';\nimport { GraphAspect } from '@teambit/graph';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport type { IssuesMain } from '@teambit/issues';\nimport { IssuesAspect } from '@teambit/issues';\nimport pMapSeries from 'p-map-series';\nimport type { Component } from '@teambit/component';\nimport { InsightsAspect } from './insights.aspect';\nimport getCoreInsights from './core-insights-getter';\nimport type { Insight, InsightResult } from './insight';\nimport type { RunInsightOptions } from './insight-manager';\nimport { InsightManager } from './insight-manager';\nimport InsightsCmd from './insights.cmd';\n\nexport class InsightsMain {\n constructor(private insightManager: InsightManager) {}\n\n async runInsights(names: string[], opts: RunInsightOptions) {\n if (names) {\n let results: InsightResult[] = [];\n const namesArr = typeof names === 'string' ? [names] : names;\n results = await this.insightManager.run(namesArr, opts);\n return results;\n }\n const results = await this.insightManager.runAll(opts);\n return results;\n }\n\n listInsights() {\n return this.insightManager.listInsights();\n }\n\n async addInsightsAsComponentIssues(components: Component[], issuesToIgnore: string[]) {\n const insightNames: string[] = this.listInsights();\n const insights = insightNames.map((name) => this.insightManager.getByName(name));\n if (!issuesToIgnore.includes(IssuesClasses.CircularDependencies.name)) {\n await pMapSeries(insights, async (insight) => {\n if (insight && insight.addAsComponentIssue) {\n await insight.addAsComponentIssue(components);\n }\n });\n }\n }\n\n static slots = [];\n static dependencies = [GraphAspect, CLIAspect, IssuesAspect];\n static runtime = MainRuntime;\n static config = {\n silence: false,\n };\n static async provider([graphMain, cli, issues]: [GraphMain, CLIMain, IssuesMain]) {\n // get all insights from registry\n const initialInsights: Insight[] = getCoreInsights(graphMain);\n // register all insights in cli\n // TODO - get user-defined insights as well, and use them when instantiating InsightManager and InsightsCmd\n const insightManager = new InsightManager(initialInsights);\n const insightsMain = new InsightsMain(insightManager);\n if (issues) issues.registerAddComponentsIssues(insightsMain.addInsightsAsComponentIssues.bind(insightsMain));\n const insightsCmd = new InsightsCmd(insightsMain);\n cli.register(insightsCmd);\n return insightsMain;\n }\n}\n\nInsightsAspect.addRuntime(InsightsMain);\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  ;
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.explorer_insights@1.0.667/dist/insights.docs.mdx';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.explorer_insights@1.0.669/dist/insights.docs.mdx';
3
3
 
4
4
  export const compositions = [];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/insights",
3
- "version": "1.0.667",
3
+ "version": "1.0.669",
4
4
  "homepage": "https://bit.cloud/teambit/explorer/insights",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.explorer",
8
8
  "name": "insights",
9
- "version": "1.0.667"
9
+ "version": "1.0.669"
10
10
  },
11
11
  "dependencies": {
12
12
  "p-map-series": "2.1.0",
@@ -17,10 +17,10 @@
17
17
  "@teambit/harmony": "0.4.7",
18
18
  "@teambit/component-issues": "0.0.160",
19
19
  "@teambit/bit-error": "0.0.404",
20
- "@teambit/graph": "1.0.667",
21
- "@teambit/component": "1.0.667",
22
- "@teambit/cli": "0.0.1244",
23
- "@teambit/issues": "1.0.667"
20
+ "@teambit/graph": "1.0.669",
21
+ "@teambit/component": "1.0.669",
22
+ "@teambit/cli": "0.0.1246",
23
+ "@teambit/issues": "1.0.669"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/semver": "7.5.8",