@industry-theme/file-city-panel 0.2.41 → 0.2.43

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 +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;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;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAqkDD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAEvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EA8BxC,CAAC"}
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;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AA8kDD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAEvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EA8BxC,CAAC"}
@@ -1 +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"}
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;AAkE5D;;;GAGG;AACH,iBAAS,iBAAiB,CAAC,EACzB,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;CACnB,2CA4RA;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"}
@@ -23225,7 +23225,16 @@ var LENS_REGISTRY = [
23225
23225
  outputsAggregate: true,
23226
23226
  colorScheme: "issues",
23227
23227
  description: "Pluggable linting utility for JavaScript and TypeScript",
23228
- command: "eslint"
23228
+ command: "eslint",
23229
+ fileMetricsRequirements: {
23230
+ completeCommand: "npx eslint . --format json",
23231
+ requiredFlags: ["--format json"],
23232
+ formatFlag: "--format json",
23233
+ withoutConfig: "Only files with issues are reported in the output",
23234
+ fallbackStrategy: "source-file-count",
23235
+ nativelyComplete: false,
23236
+ notes: "ESLint JSON output only includes files that have issues. Clean files are not listed."
23237
+ }
23229
23238
  },
23230
23239
  {
23231
23240
  id: "biome-lint",
@@ -23237,7 +23246,16 @@ var LENS_REGISTRY = [
23237
23246
  outputsAggregate: true,
23238
23247
  colorScheme: "issues",
23239
23248
  description: "Fast linter for JavaScript and TypeScript",
23240
- command: "biome lint"
23249
+ command: "biome lint",
23250
+ fileMetricsRequirements: {
23251
+ completeCommand: "npx @biomejs/biome lint . --reporter=json",
23252
+ requiredFlags: ["--reporter=json"],
23253
+ formatFlag: "--reporter=json",
23254
+ withoutConfig: "Output cannot be parsed for file metrics",
23255
+ fallbackStrategy: "source-file-count",
23256
+ nativelyComplete: true,
23257
+ notes: "Biome JSON output includes all analyzed files."
23258
+ }
23241
23259
  },
23242
23260
  {
23243
23261
  id: "oxlint",
@@ -23249,7 +23267,15 @@ var LENS_REGISTRY = [
23249
23267
  outputsAggregate: true,
23250
23268
  colorScheme: "issues",
23251
23269
  description: "Blazing fast JavaScript/TypeScript linter",
23252
- command: "oxlint"
23270
+ command: "oxlint",
23271
+ fileMetricsRequirements: {
23272
+ completeCommand: "npx oxlint --format json",
23273
+ requiredFlags: ["--format json"],
23274
+ formatFlag: "--format json",
23275
+ withoutConfig: "Output cannot be parsed for file metrics",
23276
+ fallbackStrategy: "source-file-count",
23277
+ nativelyComplete: false
23278
+ }
23253
23279
  },
23254
23280
  // Python linting
23255
23281
  {
@@ -23262,7 +23288,16 @@ var LENS_REGISTRY = [
23262
23288
  outputsAggregate: true,
23263
23289
  colorScheme: "issues",
23264
23290
  description: "Extremely fast Python linter",
23265
- command: "ruff check"
23291
+ command: "ruff check",
23292
+ fileMetricsRequirements: {
23293
+ completeCommand: "ruff check . --output-format=json",
23294
+ requiredFlags: ["--output-format=json"],
23295
+ formatFlag: "--output-format=json",
23296
+ withoutConfig: "Output cannot be parsed for file metrics",
23297
+ fallbackStrategy: "source-file-count",
23298
+ nativelyComplete: false,
23299
+ notes: "Ruff JSON output only includes files with issues."
23300
+ }
23266
23301
  },
23267
23302
  {
23268
23303
  id: "pylint",
@@ -23273,7 +23308,15 @@ var LENS_REGISTRY = [
23273
23308
  outputsAggregate: true,
23274
23309
  colorScheme: "issues",
23275
23310
  description: "Python static code analyzer",
23276
- command: "pylint"
23311
+ command: "pylint",
23312
+ fileMetricsRequirements: {
23313
+ completeCommand: "pylint --output-format=json .",
23314
+ requiredFlags: ["--output-format=json"],
23315
+ formatFlag: "--output-format=json",
23316
+ withoutConfig: "Output cannot be parsed for file metrics",
23317
+ fallbackStrategy: "source-file-count",
23318
+ nativelyComplete: false
23319
+ }
23277
23320
  },
23278
23321
  // Go linting
23279
23322
  {
@@ -23297,7 +23340,16 @@ var LENS_REGISTRY = [
23297
23340
  outputsAggregate: true,
23298
23341
  colorScheme: "issues",
23299
23342
  description: "Rust linter",
23300
- command: "cargo clippy"
23343
+ command: "cargo clippy",
23344
+ fileMetricsRequirements: {
23345
+ completeCommand: "cargo clippy --workspace --all-features --message-format json -- -D warnings",
23346
+ requiredFlags: ["--message-format json"],
23347
+ formatFlag: "--message-format json",
23348
+ withoutConfig: "Only files with issues are reported in the output",
23349
+ fallbackStrategy: "source-file-count",
23350
+ nativelyComplete: false,
23351
+ notes: "Clippy JSON output only includes files with issues. Use cargo metadata to get complete file list."
23352
+ }
23301
23353
  },
23302
23354
  // ============================================================
23303
23355
  // FORMATTING - Code formatting
@@ -23312,7 +23364,15 @@ var LENS_REGISTRY = [
23312
23364
  outputsAggregate: true,
23313
23365
  colorScheme: "binary",
23314
23366
  description: "Opinionated code formatter",
23315
- command: "prettier --check"
23367
+ command: "prettier --check",
23368
+ fileMetricsRequirements: {
23369
+ completeCommand: "npx prettier --check . --no-error-on-unmatched-pattern --log-level debug",
23370
+ requiredFlags: ["--check", "--log-level debug"],
23371
+ withoutConfig: "Without --log-level debug, file list is not available",
23372
+ fallbackStrategy: "source-file-count",
23373
+ nativelyComplete: true,
23374
+ notes: "Prettier with --log-level debug lists all checked files. This is the reference implementation for complete file metrics."
23375
+ }
23316
23376
  },
23317
23377
  {
23318
23378
  id: "biome-format",
@@ -23324,7 +23384,15 @@ var LENS_REGISTRY = [
23324
23384
  outputsAggregate: true,
23325
23385
  colorScheme: "binary",
23326
23386
  description: "Fast code formatter for JavaScript and TypeScript",
23327
- command: "biome format"
23387
+ command: "biome format",
23388
+ fileMetricsRequirements: {
23389
+ completeCommand: "npx @biomejs/biome format . --reporter=json",
23390
+ requiredFlags: ["--reporter=json"],
23391
+ formatFlag: "--reporter=json",
23392
+ withoutConfig: "Output cannot be parsed for file metrics",
23393
+ fallbackStrategy: "source-file-count",
23394
+ nativelyComplete: true
23395
+ }
23328
23396
  },
23329
23397
  // Python formatting
23330
23398
  {
@@ -23372,7 +23440,15 @@ var LENS_REGISTRY = [
23372
23440
  outputsAggregate: true,
23373
23441
  colorScheme: "binary",
23374
23442
  description: "Rust code formatter",
23375
- command: "cargo fmt --check"
23443
+ command: "cargo fmt --check",
23444
+ fileMetricsRequirements: {
23445
+ completeCommand: "cargo fmt --all --check",
23446
+ requiredFlags: ["--check"],
23447
+ withoutConfig: "Without --check, files are modified in place",
23448
+ fallbackStrategy: "source-file-count",
23449
+ nativelyComplete: false,
23450
+ notes: "rustfmt only outputs files that need formatting. Use cargo metadata or glob for complete file list."
23451
+ }
23376
23452
  },
23377
23453
  // ============================================================
23378
23454
  // TYPES - Type checking
@@ -23387,7 +23463,15 @@ var LENS_REGISTRY = [
23387
23463
  outputsAggregate: true,
23388
23464
  colorScheme: "issues",
23389
23465
  description: "TypeScript type checker",
23390
- command: "tsc --noEmit"
23466
+ command: "tsc --noEmit",
23467
+ fileMetricsRequirements: {
23468
+ completeCommand: "npx tsc --noEmit --listFiles",
23469
+ requiredFlags: ["--listFiles"],
23470
+ withoutConfig: "Only files with type errors are reported. Cannot determine total files analyzed.",
23471
+ fallbackStrategy: "source-file-count",
23472
+ nativelyComplete: false,
23473
+ notes: "The --listFiles flag is REQUIRED to get the complete list of files TypeScript analyzed. Without it, only files with errors appear in output."
23474
+ }
23391
23475
  },
23392
23476
  // Python type checking
23393
23477
  {
@@ -23438,7 +23522,16 @@ var LENS_REGISTRY = [
23438
23522
  outputsAggregate: true,
23439
23523
  colorScheme: "coverage",
23440
23524
  description: "JavaScript testing framework",
23441
- command: "jest --coverage"
23525
+ command: "jest --coverage",
23526
+ fileMetricsRequirements: {
23527
+ completeCommand: "npx jest --coverage --json --outputFile=jest-results.json",
23528
+ requiredFlags: ["--coverage", "--json"],
23529
+ formatFlag: "--json",
23530
+ withoutConfig: "Without --coverage, no per-file coverage data is available. Without --json, output cannot be parsed.",
23531
+ fallbackStrategy: "coverage-only",
23532
+ nativelyComplete: false,
23533
+ notes: "Jest coverage data provides per-file metrics for source files. Test file results are separate from source coverage."
23534
+ }
23442
23535
  },
23443
23536
  {
23444
23537
  id: "vitest",
@@ -23450,7 +23543,16 @@ var LENS_REGISTRY = [
23450
23543
  outputsAggregate: true,
23451
23544
  colorScheme: "coverage",
23452
23545
  description: "Vite-native testing framework",
23453
- command: "vitest run --coverage"
23546
+ command: "vitest run --coverage",
23547
+ fileMetricsRequirements: {
23548
+ completeCommand: "npx vitest run --coverage --reporter=json",
23549
+ requiredFlags: ["--coverage", "--reporter=json"],
23550
+ formatFlag: "--reporter=json",
23551
+ withoutConfig: "Without --coverage, no per-file coverage data is available",
23552
+ fallbackStrategy: "coverage-only",
23553
+ nativelyComplete: false,
23554
+ notes: "Vitest coverage provides per-file metrics. Requires @vitest/coverage-v8 or @vitest/coverage-istanbul."
23555
+ }
23454
23556
  },
23455
23557
  {
23456
23558
  id: "bun-test",
@@ -23462,7 +23564,35 @@ var LENS_REGISTRY = [
23462
23564
  outputsAggregate: true,
23463
23565
  colorScheme: "coverage",
23464
23566
  description: "Bun native test runner",
23465
- command: "bun test"
23567
+ command: "bun test",
23568
+ fileMetricsRequirements: {
23569
+ completeCommand: "bun test --coverage",
23570
+ requiredFlags: ["--coverage"],
23571
+ withoutConfig: "Without --coverage, no per-file coverage data is available",
23572
+ fallbackStrategy: "coverage-only",
23573
+ nativelyComplete: false,
23574
+ notes: "Bun test coverage is built-in but requires --coverage flag."
23575
+ }
23576
+ },
23577
+ {
23578
+ id: "node-test",
23579
+ name: "Node Test",
23580
+ category: "tests",
23581
+ languages: ["typescript", "javascript"],
23582
+ alternativeTo: ["jest", "vitest", "bun-test"],
23583
+ outputsFileMetrics: true,
23584
+ outputsAggregate: true,
23585
+ colorScheme: "coverage",
23586
+ description: "Node.js native test runner",
23587
+ command: "node --test",
23588
+ fileMetricsRequirements: {
23589
+ completeCommand: "node --test --experimental-test-coverage",
23590
+ requiredFlags: ["--experimental-test-coverage"],
23591
+ withoutConfig: "Without --experimental-test-coverage, no per-file coverage data is available",
23592
+ fallbackStrategy: "coverage-only",
23593
+ nativelyComplete: false,
23594
+ notes: "Node.js native test runner (node:test) uses TAP output format. Coverage requires --experimental-test-coverage flag (Node 20+). Also works with tsx --test for TypeScript."
23595
+ }
23466
23596
  },
23467
23597
  // Python testing
23468
23598
  {
@@ -23498,7 +23628,37 @@ var LENS_REGISTRY = [
23498
23628
  outputsAggregate: true,
23499
23629
  colorScheme: "coverage",
23500
23630
  description: "Rust test runner",
23501
- command: "cargo test"
23631
+ command: "cargo test",
23632
+ fileMetricsRequirements: {
23633
+ completeCommand: "cargo test --workspace --no-fail-fast -- -Z unstable-options --format json",
23634
+ requiredFlags: ["--format json"],
23635
+ formatFlag: "--format json",
23636
+ withoutConfig: "Without JSON format, output cannot be parsed for test results",
23637
+ fallbackStrategy: "coverage-only",
23638
+ nativelyComplete: false,
23639
+ notes: "JSON format requires nightly or -Z unstable-options. Consider cargo-nextest for stable JSON output."
23640
+ }
23641
+ },
23642
+ {
23643
+ id: "cargo-nextest",
23644
+ name: "Cargo Nextest",
23645
+ category: "tests",
23646
+ languages: ["rust"],
23647
+ alternativeTo: ["cargo-test"],
23648
+ outputsFileMetrics: true,
23649
+ outputsAggregate: true,
23650
+ colorScheme: "coverage",
23651
+ description: "Next-generation Rust test runner",
23652
+ command: "cargo nextest run",
23653
+ fileMetricsRequirements: {
23654
+ completeCommand: "cargo nextest run --workspace --message-format libtest-json",
23655
+ requiredFlags: ["--message-format libtest-json"],
23656
+ formatFlag: "--message-format libtest-json",
23657
+ withoutConfig: "Without JSON format, output cannot be parsed",
23658
+ fallbackStrategy: "coverage-only",
23659
+ nativelyComplete: false,
23660
+ notes: "Nextest provides stable JSON output without nightly features."
23661
+ }
23502
23662
  },
23503
23663
  // ============================================================
23504
23664
  // DEAD CODE - Unused code detection
@@ -23513,7 +23673,16 @@ var LENS_REGISTRY = [
23513
23673
  outputsAggregate: true,
23514
23674
  colorScheme: "issues",
23515
23675
  description: "Find unused files, dependencies and exports",
23516
- command: "knip"
23676
+ command: "knip",
23677
+ fileMetricsRequirements: {
23678
+ completeCommand: "npx knip --reporter json",
23679
+ requiredFlags: ["--reporter json"],
23680
+ formatFlag: "--reporter json",
23681
+ withoutConfig: "Output cannot be parsed for file metrics",
23682
+ fallbackStrategy: "source-file-count",
23683
+ nativelyComplete: false,
23684
+ notes: "Knip reports unused files and exports. It does not list all analyzed files, only those with issues."
23685
+ }
23517
23686
  },
23518
23687
  // Python
23519
23688
  {
@@ -23539,7 +23708,16 @@ var LENS_REGISTRY = [
23539
23708
  outputsAggregate: true,
23540
23709
  colorScheme: "binary",
23541
23710
  description: "Documentation coverage checker",
23542
- command: "alexandria lint"
23711
+ command: "alexandria lint",
23712
+ fileMetricsRequirements: {
23713
+ completeCommand: "npx @principal-ai/alexandria-cli coverage --json",
23714
+ requiredFlags: ["--json"],
23715
+ formatFlag: "--json",
23716
+ withoutConfig: "Output cannot be parsed for file metrics",
23717
+ fallbackStrategy: "source-file-count",
23718
+ nativelyComplete: true,
23719
+ notes: "Alexandria reports documentation coverage for all analyzed files."
23720
+ }
23543
23721
  },
23544
23722
  {
23545
23723
  id: "typedoc",
@@ -25564,9 +25742,18 @@ const CodeCityPanelContent = ({
25564
25742
  return null;
25565
25743
  }, [gitTreeHoveredPath, cityData]);
25566
25744
  const finalHighlightLayers = useMemo(() => {
25567
- if (!gitTreeHoverLayer) return highlightLayers;
25568
- return [...highlightLayers, gitTreeHoverLayer];
25569
- }, [highlightLayers, gitTreeHoverLayer]);
25745
+ let layers = [...highlightLayers];
25746
+ if (hoveredPackagePath && !selectedPackagePath) {
25747
+ layers = layers.map((layer) => ({
25748
+ ...layer,
25749
+ items: layer.items.filter(
25750
+ (item) => item.type === "directory" || isFileInPackage(item.path, hoveredPackagePath)
25751
+ )
25752
+ })).filter((layer) => layer.items.length > 0);
25753
+ }
25754
+ if (gitTreeHoverLayer) layers.push(gitTreeHoverLayer);
25755
+ return layers;
25756
+ }, [highlightLayers, gitTreeHoverLayer, hoveredPackagePath, selectedPackagePath, isFileInPackage]);
25570
25757
  return /* @__PURE__ */ jsxs(
25571
25758
  "div",
25572
25759
  {