@industry-theme/file-city-panel 0.2.32 → 0.2.33
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.
- package/dist/mocks/panelContext.d.ts +1 -0
- package/dist/mocks/panelContext.d.ts.map +1 -1
- package/dist/panels/CodeCityPanel.d.ts +25 -0
- package/dist/panels/CodeCityPanel.d.ts.map +1 -1
- package/dist/panels/StressTest.stories.d.ts +49 -0
- package/dist/panels/StressTest.stories.d.ts.map +1 -0
- package/dist/panels/stress-test-data.d.ts +40 -0
- package/dist/panels/stress-test-data.d.ts.map +1 -0
- package/dist/panels/utils/qualityLayers.d.ts +3 -2
- package/dist/panels/utils/qualityLayers.d.ts.map +1 -1
- package/dist/panels.bundle.js +220 -101
- package/dist/panels.bundle.js.map +1 -1
- package/package.json +1 -1
|
@@ -29,6 +29,7 @@ interface MockPanelProviderProps {
|
|
|
29
29
|
}>;
|
|
30
30
|
contextOverrides?: Partial<PanelContextValue>;
|
|
31
31
|
actionsOverrides?: Partial<PanelActions>;
|
|
32
|
+
events?: PanelEventEmitter;
|
|
32
33
|
}
|
|
33
34
|
export declare const MockPanelProvider: React.FC<MockPanelProviderProps>;
|
|
34
35
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panelContext.d.ts","sourceRoot":"","sources":["../../src/mocks/panelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AA+BlB;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,iBAAiB,CAAC,KACrC,iBAiHF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,YAAY,CAAC,KAChC,YAkBD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,iBAwCnC,CAAC;AAEF;;;GAGG;AACH,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAClF,gBAAgB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"panelContext.d.ts","sourceRoot":"","sources":["../../src/mocks/panelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AA+BlB;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,iBAAiB,CAAC,KACrC,iBAiHF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,YAAY,CAAC,KAChC,YAkBD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,iBAwCnC,CAAC;AAEF;;;GAGG;AACH,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAClF,gBAAgB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA0D9D,CAAC"}
|
|
@@ -9,6 +9,31 @@ export interface GitStatus {
|
|
|
9
9
|
untracked: string[];
|
|
10
10
|
deleted: string[];
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* PR files data - files changed in a selected pull request
|
|
14
|
+
*/
|
|
15
|
+
export interface PrFilesSliceData {
|
|
16
|
+
files: Array<{
|
|
17
|
+
sha: string;
|
|
18
|
+
filename: string;
|
|
19
|
+
status: 'added' | 'removed' | 'modified' | 'renamed' | 'copied' | 'changed' | 'unchanged';
|
|
20
|
+
additions: number;
|
|
21
|
+
deletions: number;
|
|
22
|
+
changes: number;
|
|
23
|
+
}>;
|
|
24
|
+
filesByStatus: {
|
|
25
|
+
added: string[];
|
|
26
|
+
modified: string[];
|
|
27
|
+
removed: string[];
|
|
28
|
+
renamed: {
|
|
29
|
+
filename: string;
|
|
30
|
+
previous_filename?: string;
|
|
31
|
+
}[];
|
|
32
|
+
};
|
|
33
|
+
pullNumber: number | null;
|
|
34
|
+
owner?: string;
|
|
35
|
+
repo?: string;
|
|
36
|
+
}
|
|
12
37
|
/**
|
|
13
38
|
* CodeCityPanel - A file visualization panel using the File City map.
|
|
14
39
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeCityPanel.d.ts","sourceRoot":"","sources":["../../src/panels/CodeCityPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAuBjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQpD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"CodeCityPanel.d.ts","sourceRoot":"","sources":["../../src/panels/CodeCityPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAuBjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQpD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAUD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;QAC1F,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC7D,CAAC;IACF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAw7CD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAEvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EA8BxC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
/**
|
|
3
|
+
* Wrapper component that provides stress test data and navigation controls
|
|
4
|
+
* for testing subdirectory selection performance in large repositories.
|
|
5
|
+
*/
|
|
6
|
+
declare function StressTestWrapper({ fileCount, }: {
|
|
7
|
+
fileCount: number;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
/**
|
|
10
|
+
* Direct component test WITHOUT file color layers - proves the layer iteration is the bottleneck
|
|
11
|
+
*/
|
|
12
|
+
declare function NoLayersStressTestWrapper({ fileCount }: {
|
|
13
|
+
fileCount: number;
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare const meta: Meta<typeof StressTestWrapper>;
|
|
16
|
+
export default meta;
|
|
17
|
+
type Story = StoryObj<typeof meta>;
|
|
18
|
+
/**
|
|
19
|
+
* Test subdirectory selection with a large number of files.
|
|
20
|
+
* Use the fileCount control to adjust the number of files.
|
|
21
|
+
*
|
|
22
|
+
* Try clicking on directories in the navigation panel or directly
|
|
23
|
+
* on the map to test zoom performance with large file counts.
|
|
24
|
+
*/
|
|
25
|
+
export declare const SubdirectoryZoom: Story;
|
|
26
|
+
/**
|
|
27
|
+
* Smaller stress test starting point (1000 files)
|
|
28
|
+
*/
|
|
29
|
+
export declare const SmallStressTest: Story;
|
|
30
|
+
/**
|
|
31
|
+
* Medium stress test (5000 files)
|
|
32
|
+
*/
|
|
33
|
+
export declare const MediumStressTest: Story;
|
|
34
|
+
/**
|
|
35
|
+
* Large stress test (10000 files)
|
|
36
|
+
*/
|
|
37
|
+
export declare const LargeStressTest: Story;
|
|
38
|
+
/**
|
|
39
|
+
* Extreme stress test (20000 files) - may be slow!
|
|
40
|
+
*/
|
|
41
|
+
export declare const ExtremeStressTest: Story;
|
|
42
|
+
/**
|
|
43
|
+
* NO LAYERS version - proves the layer iteration is the bottleneck.
|
|
44
|
+
* This uses ArchitectureMapHighlightLayers directly WITHOUT file color layers.
|
|
45
|
+
* Compare this to SubdirectoryZoom - if this is fast but SubdirectoryZoom is slow,
|
|
46
|
+
* the issue is the O(n) layer item iteration.
|
|
47
|
+
*/
|
|
48
|
+
export declare const NoLayersProof: StoryObj<typeof NoLayersStressTestWrapper>;
|
|
49
|
+
//# sourceMappingURL=StressTest.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StressTest.stories.d.ts","sourceRoot":"","sources":["../../src/panels/StressTest.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAyD5D;;;GAGG;AACH,iBAAS,iBAAiB,CAAC,EACzB,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;CACnB,2CA4QA;AAED;;GAEG;AACH,iBAAS,yBAAyB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,2CAuHtE;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,iBAAiB,CAmBxC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAI9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAI7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAI9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAI7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAI/B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,OAAO,yBAAyB,CAUpE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stress test data generator for testing subdirectory selection performance
|
|
3
|
+
* with large repository simulations.
|
|
4
|
+
*/
|
|
5
|
+
interface FileInfo {
|
|
6
|
+
path: string;
|
|
7
|
+
name: string;
|
|
8
|
+
size: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Generate a large number of file paths with realistic nested directory structures
|
|
12
|
+
*/
|
|
13
|
+
export declare function generateLargeFilePaths(fileCount: number): string[];
|
|
14
|
+
/**
|
|
15
|
+
* Convert file paths to FileInfo objects for the panel
|
|
16
|
+
*/
|
|
17
|
+
export declare function createFileInfoList(paths: string[]): FileInfo[];
|
|
18
|
+
/**
|
|
19
|
+
* Create file list with a large number of files for stress testing subdirectory selection
|
|
20
|
+
*
|
|
21
|
+
* @param fileCount - Number of files to generate (default: 8000)
|
|
22
|
+
* @param useCache - Whether to cache results (default: true)
|
|
23
|
+
*/
|
|
24
|
+
export declare function createStressTestFileList(fileCount?: number, useCache?: boolean): FileInfo[];
|
|
25
|
+
/**
|
|
26
|
+
* Get unique directory paths at each depth level from file list
|
|
27
|
+
* Useful for creating navigation buttons in stress test UI
|
|
28
|
+
*/
|
|
29
|
+
export declare function getDirectoryPaths(files: FileInfo[]): {
|
|
30
|
+
topLevel: string[];
|
|
31
|
+
depth2: string[];
|
|
32
|
+
depth3: string[];
|
|
33
|
+
depth4: string[];
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Clear the stress test cache (useful for testing memory)
|
|
37
|
+
*/
|
|
38
|
+
export declare function clearStressTestCache(): void;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=stress-test-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stress-test-data.d.ts","sourceRoot":"","sources":["../../src/panels/stress-test-data.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAiCD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAoElE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAO9D;AAKD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,GAAE,MAAa,EAAE,QAAQ,GAAE,OAAc,GAAG,QAAQ,EAAE,CAmBvG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAmBA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
* Creates highlight layers from quality metrics data (coverage, linting, etc.)
|
|
5
5
|
*/
|
|
6
6
|
import type { CityBuilding, LayerItem } from '@principal-ai/file-city-react';
|
|
7
|
-
import { type ColorMode, type LensColorMode, type ColorModeConfig, type FileMetricData, type QualitySliceData } from '@principal-ai/quality-lens-registry';
|
|
8
|
-
export type {
|
|
7
|
+
import { type ColorMode as QualityColorMode, type LensColorMode, type ColorModeConfig, type FileMetricData, type QualitySliceData } from '@principal-ai/quality-lens-registry';
|
|
8
|
+
export type { LensColorMode, ColorModeConfig, FileMetricData, QualitySliceData };
|
|
9
|
+
export type ColorMode = QualityColorMode | 'fileTypes' | 'git' | 'pr';
|
|
9
10
|
/**
|
|
10
11
|
* Highlight layer structure
|
|
11
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qualityLayers.d.ts","sourceRoot":"","sources":["../../../src/panels/utils/qualityLayers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EACL,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"qualityLayers.d.ts","sourceRoot":"","sources":["../../../src/panels/utils/qualityLayers.ts"],"names":[],"mappings":"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"}
|