@teambit/insights 1.0.187 → 1.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.
@@ -1,4 +1,4 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="0" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.explorer/insights@1.0.187" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.explorer/insights@1.0.189" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -401,7 +401,8 @@
401
401
  "line": 64,
402
402
  "character": 43
403
403
  },
404
- "name": "RunInsightOptions"
404
+ "name": "RunInsightOptions",
405
+ "internalFilePath": "insight-manager.ts"
405
406
  },
406
407
  "isOptional": false,
407
408
  "isSpread": false
@@ -430,7 +431,8 @@
430
431
  "line": 64,
431
432
  "character": 71
432
433
  },
433
- "name": "InsightResult"
434
+ "name": "InsightResult",
435
+ "internalFilePath": "insight.ts"
434
436
  }
435
437
  }
436
438
  ]
@@ -474,7 +476,8 @@
474
476
  "line": 86,
475
477
  "character": 22
476
478
  },
477
- "name": "RunInsightOptions"
479
+ "name": "RunInsightOptions",
480
+ "internalFilePath": "insight-manager.ts"
478
481
  },
479
482
  "isOptional": false,
480
483
  "isSpread": false
@@ -503,7 +506,8 @@
503
506
  "line": 86,
504
507
  "character": 50
505
508
  },
506
- "name": "InsightResult"
509
+ "name": "InsightResult",
510
+ "internalFilePath": "insight.ts"
507
511
  }
508
512
  }
509
513
  ]
@@ -601,7 +605,8 @@
601
605
  "line": 28,
602
606
  "character": 14
603
607
  },
604
- "name": "RunInsightOptions"
608
+ "name": "RunInsightOptions",
609
+ "internalFilePath": "insight-manager.ts"
605
610
  },
606
611
  "isOptional": true,
607
612
  "isSpread": false
@@ -623,7 +628,8 @@
623
628
  "line": 28,
624
629
  "character": 42
625
630
  },
626
- "name": "InsightResult"
631
+ "name": "InsightResult",
632
+ "internalFilePath": "insight.ts"
627
633
  }
628
634
  ]
629
635
  },
@@ -671,7 +677,11 @@
671
677
  "line": 34,
672
678
  "character": 36
673
679
  },
674
- "name": "Component"
680
+ "name": "Component",
681
+ "componentId": {
682
+ "scope": "teambit.component",
683
+ "name": "component"
684
+ }
675
685
  }
676
686
  },
677
687
  "isOptional": false,
@@ -808,7 +818,8 @@
808
818
  "line": 16,
809
819
  "character": 44
810
820
  },
811
- "name": "RunInsightOptions"
821
+ "name": "RunInsightOptions",
822
+ "internalFilePath": "insight-manager.ts"
812
823
  },
813
824
  "isOptional": false,
814
825
  "isSpread": false
@@ -880,7 +891,11 @@
880
891
  "line": 31,
881
892
  "character": 50
882
893
  },
883
- "name": "Component"
894
+ "name": "Component",
895
+ "componentId": {
896
+ "scope": "teambit.component",
897
+ "name": "component"
898
+ }
884
899
  }
885
900
  },
886
901
  "isOptional": false,
@@ -1045,7 +1060,11 @@
1045
1060
  "line": 49,
1046
1061
  "character": 52
1047
1062
  },
1048
- "name": "GraphMain"
1063
+ "name": "GraphMain",
1064
+ "componentId": {
1065
+ "scope": "teambit.component",
1066
+ "name": "graph"
1067
+ }
1049
1068
  },
1050
1069
  {
1051
1070
  "__schema": "TypeRefSchema",
@@ -1054,7 +1073,11 @@
1054
1073
  "line": 49,
1055
1074
  "character": 63
1056
1075
  },
1057
- "name": "CLIMain"
1076
+ "name": "CLIMain",
1077
+ "componentId": {
1078
+ "scope": "teambit.harmony",
1079
+ "name": "cli"
1080
+ }
1058
1081
  },
1059
1082
  {
1060
1083
  "__schema": "TypeRefSchema",
@@ -1063,7 +1086,11 @@
1063
1086
  "line": 49,
1064
1087
  "character": 72
1065
1088
  },
1066
- "name": "IssuesMain"
1089
+ "name": "IssuesMain",
1090
+ "componentId": {
1091
+ "scope": "teambit.component",
1092
+ "name": "issues"
1093
+ }
1067
1094
  }
1068
1095
  ]
1069
1096
  },
@@ -1228,7 +1255,12 @@
1228
1255
  "line": 10,
1229
1256
  "character": 9
1230
1257
  },
1231
- "name": "ComponentID"
1258
+ "name": "ComponentID",
1259
+ "componentId": {
1260
+ "scope": "teambit.component",
1261
+ "name": "component-id",
1262
+ "version": "1.2.0"
1263
+ }
1232
1264
  }
1233
1265
  },
1234
1266
  "isOptional": true
@@ -1624,7 +1656,8 @@
1624
1656
  "line": 64,
1625
1657
  "character": 43
1626
1658
  },
1627
- "name": "RunInsightOptions"
1659
+ "name": "RunInsightOptions",
1660
+ "internalFilePath": "insight-manager.ts"
1628
1661
  },
1629
1662
  "isOptional": false,
1630
1663
  "isSpread": false
@@ -1653,7 +1686,8 @@
1653
1686
  "line": 64,
1654
1687
  "character": 71
1655
1688
  },
1656
- "name": "InsightResult"
1689
+ "name": "InsightResult",
1690
+ "internalFilePath": "insight.ts"
1657
1691
  }
1658
1692
  }
1659
1693
  ]
@@ -1697,7 +1731,8 @@
1697
1731
  "line": 86,
1698
1732
  "character": 22
1699
1733
  },
1700
- "name": "RunInsightOptions"
1734
+ "name": "RunInsightOptions",
1735
+ "internalFilePath": "insight-manager.ts"
1701
1736
  },
1702
1737
  "isOptional": false,
1703
1738
  "isSpread": false
@@ -1726,7 +1761,8 @@
1726
1761
  "line": 86,
1727
1762
  "character": 50
1728
1763
  },
1729
- "name": "InsightResult"
1764
+ "name": "InsightResult",
1765
+ "internalFilePath": "insight.ts"
1730
1766
  }
1731
1767
  }
1732
1768
  ]
@@ -2056,7 +2092,8 @@
2056
2092
  "line": 28,
2057
2093
  "character": 14
2058
2094
  },
2059
- "name": "RunInsightOptions"
2095
+ "name": "RunInsightOptions",
2096
+ "internalFilePath": "insight-manager.ts"
2060
2097
  },
2061
2098
  "isOptional": true,
2062
2099
  "isSpread": false
@@ -2078,7 +2115,8 @@
2078
2115
  "line": 28,
2079
2116
  "character": 42
2080
2117
  },
2081
- "name": "InsightResult"
2118
+ "name": "InsightResult",
2119
+ "internalFilePath": "insight.ts"
2082
2120
  }
2083
2121
  ]
2084
2122
  },
@@ -2126,7 +2164,11 @@
2126
2164
  "line": 34,
2127
2165
  "character": 36
2128
2166
  },
2129
- "name": "Component"
2167
+ "name": "Component",
2168
+ "componentId": {
2169
+ "scope": "teambit.component",
2170
+ "name": "component"
2171
+ }
2130
2172
  }
2131
2173
  },
2132
2174
  "isOptional": false,
@@ -2274,7 +2316,8 @@
2274
2316
  "line": 16,
2275
2317
  "character": 44
2276
2318
  },
2277
- "name": "RunInsightOptions"
2319
+ "name": "RunInsightOptions",
2320
+ "internalFilePath": "insight-manager.ts"
2278
2321
  },
2279
2322
  "isOptional": false,
2280
2323
  "isSpread": false
@@ -2346,7 +2389,11 @@
2346
2389
  "line": 31,
2347
2390
  "character": 50
2348
2391
  },
2349
- "name": "Component"
2392
+ "name": "Component",
2393
+ "componentId": {
2394
+ "scope": "teambit.component",
2395
+ "name": "component"
2396
+ }
2350
2397
  }
2351
2398
  },
2352
2399
  "isOptional": false,
@@ -2511,7 +2558,11 @@
2511
2558
  "line": 49,
2512
2559
  "character": 52
2513
2560
  },
2514
- "name": "GraphMain"
2561
+ "name": "GraphMain",
2562
+ "componentId": {
2563
+ "scope": "teambit.component",
2564
+ "name": "graph"
2565
+ }
2515
2566
  },
2516
2567
  {
2517
2568
  "__schema": "TypeRefSchema",
@@ -2520,7 +2571,11 @@
2520
2571
  "line": 49,
2521
2572
  "character": 63
2522
2573
  },
2523
- "name": "CLIMain"
2574
+ "name": "CLIMain",
2575
+ "componentId": {
2576
+ "scope": "teambit.harmony",
2577
+ "name": "cli"
2578
+ }
2524
2579
  },
2525
2580
  {
2526
2581
  "__schema": "TypeRefSchema",
@@ -2529,7 +2584,11 @@
2529
2584
  "line": 49,
2530
2585
  "character": 72
2531
2586
  },
2532
- "name": "IssuesMain"
2587
+ "name": "IssuesMain",
2588
+ "componentId": {
2589
+ "scope": "teambit.component",
2590
+ "name": "issues"
2591
+ }
2533
2592
  }
2534
2593
  ]
2535
2594
  },
@@ -2610,7 +2669,7 @@
2610
2669
  "componentId": {
2611
2670
  "scope": "teambit.explorer",
2612
2671
  "name": "insights",
2613
- "version": "1.0.187"
2672
+ "version": "1.0.189"
2614
2673
  },
2615
2674
  "taggedModuleExports": []
2616
2675
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_semver","data","require","_component","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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","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":"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"}
1
+ {"version":3,"names":["_semver","data","require","_component","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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","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":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_componentIssues","data","require","_lodash","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","INSIGHT_CIRCULAR_DEPS_NAME","exports","FindCycles","constructor","graphBuilder","runInsight","opts","graph","getGraphIds","ids","message","undefined","cycles","findCycles","includeDeps","length","renderData","string","map","cycle","join","run","bareResult","renderedData","result","metaData","name","description","addAsComponentIssue","components","c","id","allIds","uniq","flat","componentsWithCircular","filter","component","includes","toString","forEach","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 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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"}
1
+ {"version":3,"names":["_componentIssues","data","require","_lodash","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","INSIGHT_CIRCULAR_DEPS_NAME","exports","FindCycles","constructor","graphBuilder","runInsight","opts","graph","getGraphIds","ids","message","undefined","cycles","findCycles","includeDeps","length","renderData","string","map","cycle","join","run","bareResult","renderedData","result","metaData","name","description","addAsComponentIssue","components","c","id","allIds","uniq","flat","componentsWithCircular","filter","component","includes","toString","forEach","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 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 +1 @@
1
- {"version":3,"names":["_duplicateDependencies","data","_interopRequireDefault","require","_findCirculars","obj","__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,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;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"}
1
+ {"version":3,"names":["_duplicateDependencies","data","_interopRequireDefault","require","_findCirculars","obj","__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,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;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 +1 @@
1
- {"version":3,"names":["_bitError","data","require","InsightAlreadyExists","BitError","constructor","insightName","exports","default"],"sources":["insight-already-exists.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport default class InsightAlreadyExists extends BitError {\n constructor(readonly insightName: string) {\n super(`Insight ${insightName} already exists`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEe,MAAME,oBAAoB,SAASC,oBAAQ,CAAC;EACzDC,WAAWA,CAAUC,WAAmB,EAAE;IACxC,KAAK,CAAE,WAAUA,WAAY,iBAAgB,CAAC;IAAC,KAD5BA,WAAmB,GAAnBA,WAAmB;EAExC;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAL,oBAAA"}
1
+ {"version":3,"names":["_bitError","data","require","InsightAlreadyExists","BitError","constructor","insightName","exports","default"],"sources":["insight-already-exists.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport default class InsightAlreadyExists extends BitError {\n constructor(readonly insightName: string) {\n super(`Insight ${insightName} already exists`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEe,MAAME,oBAAoB,SAASC,oBAAQ,CAAC;EACzDC,WAAWA,CAAUC,WAAmB,EAAE;IACxC,KAAK,CAAE,WAAUA,WAAY,iBAAgB,CAAC;IAAC,KAD5BA,WAAmB,GAAnBA,WAAmB;EAExC;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAL,oBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","InsightNotFound","BitError","constructor","insightName","exports","default"],"sources":["insight-not-found.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport default class InsightNotFound extends BitError {\n constructor(readonly insightName: string) {\n super(`Insight ${insightName} not found`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEe,MAAME,eAAe,SAASC,oBAAQ,CAAC;EACpDC,WAAWA,CAAUC,WAAmB,EAAE;IACxC,KAAK,CAAE,WAAUA,WAAY,YAAW,CAAC;IAAC,KADvBA,WAAmB,GAAnBA,WAAmB;EAExC;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAL,eAAA"}
1
+ {"version":3,"names":["_bitError","data","require","InsightNotFound","BitError","constructor","insightName","exports","default"],"sources":["insight-not-found.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport default class InsightNotFound extends BitError {\n constructor(readonly insightName: string) {\n super(`Insight ${insightName} not found`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEe,MAAME,eAAe,SAASC,oBAAQ,CAAC;EACpDC,WAAWA,CAAUC,WAAmB,EAAE;IACxC,KAAK,CAAE,WAAUA,WAAY,YAAW,CAAC;IAAC,KADvBA,WAAmB,GAAnBA,WAAmB;EAExC;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAL,eAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","NoDataForInsight","BitError","constructor","insightName","exports","default"],"sources":["no-data-for-insight.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport default class NoDataForInsight extends BitError {\n constructor(readonly insightName: string) {\n super(`No data for ${insightName}`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEe,MAAME,gBAAgB,SAASC,oBAAQ,CAAC;EACrDC,WAAWA,CAAUC,WAAmB,EAAE;IACxC,KAAK,CAAE,eAAcA,WAAY,EAAC,CAAC;IAAC,KADjBA,WAAmB,GAAnBA,WAAmB;EAExC;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAL,gBAAA"}
1
+ {"version":3,"names":["_bitError","data","require","NoDataForInsight","BitError","constructor","insightName","exports","default"],"sources":["no-data-for-insight.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport default class NoDataForInsight extends BitError {\n constructor(readonly insightName: string) {\n super(`No data for ${insightName}`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEe,MAAME,gBAAgB,SAASC,oBAAQ,CAAC;EACrDC,WAAWA,CAAUC,WAAmB,EAAE;IACxC,KAAK,CAAE,eAAcA,WAAY,EAAC,CAAC;IAAC,KADjBA,WAAmB,GAAnBA,WAAmB;EAExC;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAL,gBAAA","ignoreList":[]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_insightManager","data","require","_insights","_findCirculars"],"sources":["index.ts"],"sourcesContent":["export { InsightManager } from './insight-manager';\nexport type { Insight } from './insight';\nexport type { InsightsMain } from './insights.main.runtime';\nexport { InsightsAspect } from './insights.aspect';\nexport { INSIGHT_CIRCULAR_DEPS_NAME } from './all-insights/find-circulars';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,eAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,cAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
1
+ {"version":3,"names":["_insightManager","data","require","_insights","_findCirculars"],"sources":["index.ts"],"sourcesContent":["export { InsightManager } from './insight-manager';\nexport type { Insight } from './insight';\nexport type { InsightsMain } from './insights.main.runtime';\nexport { InsightsAspect } from './insights.aspect';\nexport { INSIGHT_CIRCULAR_DEPS_NAME } from './all-insights/find-circulars';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,eAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,cAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_insightAlreadyExists","_insightNotFound","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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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"}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_insightAlreadyExists","_insightNotFound","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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 +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":""}
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 +1 @@
1
- {"version":3,"names":["_harmony","data","require","InsightsAspect","exports","Aspect","create","id","dependencies","defaultConfig"],"sources":["insights.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const InsightsAspect = Aspect.create({\n id: 'teambit.explorer/insights',\n dependencies: [],\n defaultConfig: {},\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EAC1CC,EAAE,EAAE,2BAA2B;EAC/BC,YAAY,EAAE,EAAE;EAChBC,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"names":["_harmony","data","require","InsightsAspect","exports","Aspect","create","id","dependencies","defaultConfig"],"sources":["insights.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const InsightsAspect = Aspect.create({\n id: 'teambit.explorer/insights',\n dependencies: [],\n defaultConfig: {},\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EAC1CC,EAAE,EAAE,2BAA2B;EAC/BC,YAAY,EAAE,EAAE;EAChBC,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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 = 'development';\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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"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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 = 'development';\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":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,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,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAKX,MAAMW,WAAW,CAAoB;EAUlDC,WAAWA,CAASC,QAAsB,EAAE;IAAA,KAAxBA,QAAsB,GAAtBA,QAAsB;IAAAtB,eAAA,eATnC,qBAAqB;IAAAA,eAAA,sBACd,6BAA6B;IAAAA,eAAA,gBACnC,aAAa;IAAAA,eAAA,kBACX,IAAI;IAAAA,eAAA,kBACJ,CACR,CAAC,GAAG,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAClC,CAAC,GAAG,EAAE,MAAM,EAAE,oCAAoC,CAAC,EACnD,CAAC,EAAE,EAAE,cAAc,EAAE,+DAA+D,CAAC,CACtF;EAC4C;EAE7C,MAAMuB,MAAMA,CAAC,CAACC,KAAK,CAAa,EAAEC,OAAgD,EAAmB;IACnG,IAAIA,OAAO,CAACC,IAAI,EAAE;MAChB,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,CAACJ,KAAK,CAAC,EAAEC,OAAO,CAAC;MACjD,OAAOI,IAAI,CAACC,SAAS,CAACH,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC;IACA,MAAMA,OAAO,GAAG,MAAM,IAAI,CAACL,QAAQ,CAACS,WAAW,CAACP,KAAK,EAAE;MAAEQ,UAAU,EAAE,IAAI;MAAEC,WAAW,EAAER,OAAO,CAACQ;IAAY,CAAC,CAAC;IAC9G,OAAOC,QAAQ,CAACP,OAAO,CAAC;EAC1B;EAEA,MAAMC,IAAIA,CAAC,CAACJ,KAAK,CAAa,EAAE;IAAEE,IAAI;IAAEO;EAAqD,CAAC,EAAE;IAC9F,IAAIP,IAAI,EAAE;MACR,MAAMC,OAAO,GAAG,IAAI,CAACL,QAAQ,CAACa,YAAY,CAAC,CAAC;MAC5C,OAAOR,OAAO;IAChB;IACA,OAAO,IAAI,CAACL,QAAQ,CAACS,WAAW,CAACP,KAAK,EAAE;MAAEQ,UAAU,EAAE,KAAK;MAAEC;IAAY,CAAC,CAAC;EAC7E;AACF;AAACG,OAAA,CAAArC,OAAA,GAAAqB,WAAA;AAED,SAASc,QAAQA,CAACP,OAAwB,EAAU;EAClD,MAAMU,QAAQ,GAAGV,OAAO,CACrBW,GAAG,CAAEC,MAAM,IAAK;IACf,OAAQ,KAAIC,gBAAK,CAACC,IAAI,CAACC,IAAI,CAACH,MAAM,CAACI,OAAO,CAAE;AAClD,IAAIJ,MAAM,CAACK,YAAa,EAAC;EACrB,CAAC,CAAC,CACDC,IAAI,CAAC,IAAI,CAAC;EACb,OAAOR,QAAQ;AACjB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","obj","__esModule","default","Logo","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["insights.compositon.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/insights.svg\" />\n </div>\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;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnB,MAAMG,IAAI,GAAGA,CAAA,kBAClBP,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEZ,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAAsD,CAAE,CACpF,CACN;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA"}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","obj","__esModule","default","Logo","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["insights.compositon.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/insights.svg\" />\n </div>\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;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnB,MAAMG,IAAI,GAAGA,CAAA,kBAClBP,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEZ,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAAsD,CAAE,CACpF,CACN;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_graph","_componentIssues","_issues","_pMapSeries","_interopRequireDefault","_insights","_coreInsightsGetter","_insightManager","_insights2","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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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"}
1
+ {"version":3,"names":["_cli","data","require","_graph","_componentIssues","_issues","_pMapSeries","_interopRequireDefault","_insights","_coreInsightsGetter","_insightManager","_insights2","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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":[]}
@@ -0,0 +1,7 @@
1
+ ;
2
+ import * as overview_0 from '/Users/giladshoham/Library/Caches/Bit/capsules/root/b5ea46ec36fa42b9dbedfc12ecb7bb63e03fcfe6/teambit.explorer_insights@1.0.189/dist/insights.docs.mdx';
3
+
4
+ export const compositions = [];
5
+ export const overview = [overview_0];
6
+
7
+ export const compositions_metadata = {"compositions":[]};
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/insights",
3
- "version": "1.0.187",
3
+ "version": "1.0.189",
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.187"
9
+ "version": "1.0.189"
10
10
  },
11
11
  "dependencies": {
12
12
  "p-map-series": "2.1.0",
@@ -16,18 +16,18 @@
16
16
  "@teambit/component-id": "1.2.0",
17
17
  "@teambit/harmony": "0.4.6",
18
18
  "@teambit/bit-error": "0.0.404",
19
- "@teambit/graph": "1.0.187",
20
- "@teambit/component": "1.0.187",
21
- "@teambit/cli": "0.0.855",
19
+ "@teambit/graph": "1.0.189",
20
+ "@teambit/component": "1.0.189",
21
+ "@teambit/cli": "0.0.856",
22
22
  "@teambit/component-issues": "0.0.141",
23
- "@teambit/issues": "1.0.187"
23
+ "@teambit/issues": "1.0.189"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/semver": "7.3.4",
27
27
  "@types/lodash": "4.14.165",
28
28
  "@types/mocha": "9.1.0",
29
29
  "chai": "4.3.0",
30
- "@teambit/harmony.envs.core-aspect-env": "0.0.25"
30
+ "@teambit/harmony.envs.core-aspect-env": "0.0.27"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "react": "^17.0.0 || ^18.0.0",
@@ -1,7 +0,0 @@
1
- ;
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.explorer_insights@1.0.187/dist/insights.docs.mdx';
3
-
4
- export const compositions = [];
5
- export const overview = [overview_0];
6
-
7
- export const compositions_metadata = {"compositions":[]};