energy-state-analyzer 0.15.1 → 0.15.2
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/AGENTS.md +9 -0
- package/CHANGELOG.md +10 -1
- package/README.md +4 -3
- package/dist/cli.js +1 -1
- package/docs/configuration.md +15 -9
- package/docs/detectors/error-shadowing.md +23 -32
- package/docs/detectors/excessive-nesting.md +1 -1
- package/docs/detectors/parameter-explosion.md +1 -1
- package/package.json +7 -128
package/AGENTS.md
CHANGED
|
@@ -61,6 +61,15 @@ order.
|
|
|
61
61
|
analyzer input, including `.ts` and `.cpp` fixtures; it is not product or test implementation
|
|
62
62
|
source in those languages.
|
|
63
63
|
|
|
64
|
+
### Detector fixture parity
|
|
65
|
+
|
|
66
|
+
Put realistic, multi-function analyzer examples under `src/test/fixtures/<language>/`. For every
|
|
67
|
+
detector supported by multiple languages, add named positive and negative scenarios to
|
|
68
|
+
`tests/DetectorFixtureMatrixTests.fs`; the matrix runs the complete registered pipeline and makes
|
|
69
|
+
the cross-language contract readable in CI. State an unsupported language semantic explicitly as a
|
|
70
|
+
clean limitation case rather than silently omitting it. Keep detector-specific tests for thresholds,
|
|
71
|
+
configuration, and grammar edge cases alongside the detector's existing suite.
|
|
72
|
+
|
|
64
73
|
The extension composition root owns lifecycle state, grammar caches, decorations, diagnostics,
|
|
65
74
|
commands, and editor/document/configuration event subscriptions. Presentation never leaks into
|
|
66
75
|
`Core/`; `Core/TreeSitter.fs` is the only web-tree-sitter facade.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
last_commit_released:
|
|
2
|
+
last_commit_released: abe97d47a5e9000e1d8aa82bd51c9c47cbdceaf6
|
|
3
3
|
name: energy-state-analyzer
|
|
4
4
|
updaters:
|
|
5
5
|
- command: npm version {version} --no-git-tag-version --allow-same-version
|
|
@@ -11,6 +11,15 @@ All notable changes to the "energy-state-analyzer" extension are generated by
|
|
|
11
11
|
[EasyBuild.ShipIt](https://github.com/easybuild-org/EasyBuild.ShipIt) from
|
|
12
12
|
[Conventional Commits](https://www.conventionalcommits.org/).
|
|
13
13
|
|
|
14
|
+
## 0.15.2 - 2026-09-08
|
|
15
|
+
|
|
16
|
+
### 🐞 Bug Fixes
|
|
17
|
+
|
|
18
|
+
* Clarify error boundary scope analysis (#116) ([efc3d7c](https://github.com/cardamomcode/energy-state-analyzer/commit/efc3d7c7ffdce40274e957081352bd3f55b3af9f))
|
|
19
|
+
* Use project config for analyzer thresholds (#119) ([abe97d4](https://github.com/cardamomcode/energy-state-analyzer/commit/abe97d47a5e9000e1d8aa82bd51c9c47cbdceaf6))
|
|
20
|
+
|
|
21
|
+
<strong><small>[View changes on Github](https://github.com/cardamomcode/energy-state-analyzer/compare/7097fc14feb3918d098e28f259d57006433b1df1..abe97d47a5e9000e1d8aa82bd51c9c47cbdceaf6)</small></strong>
|
|
22
|
+
|
|
14
23
|
## 0.15.1 - 2026-09-07
|
|
15
24
|
|
|
16
25
|
### 🐞 Bug Fixes
|
package/README.md
CHANGED
|
@@ -67,7 +67,7 @@ for the Extension Development Host.
|
|
|
67
67
|
|
|
68
68
|
## Extension Settings
|
|
69
69
|
|
|
70
|
-
Settings split into two concerns: **which detectors run and how they look** live in VS Code (editor-only toggles and colors), while **how strict each detector is** belongs in a project `.esaconfig.json` shared with the CLI/CI.
|
|
70
|
+
Settings split into two concerns: **which detectors run and how they look** live in VS Code (editor-only toggles and colors), while **how strict each detector is** belongs in a project `.esaconfig.json` shared with the CLI/CI.
|
|
71
71
|
|
|
72
72
|
### Enable/disable detectors and pick colors (VS Code settings)
|
|
73
73
|
|
|
@@ -91,14 +91,15 @@ Every detector has an `enabled` toggle, plus the magic-number/string switches an
|
|
|
91
91
|
|
|
92
92
|
### Thresholds and allowlists (`.esaconfig.json`)
|
|
93
93
|
|
|
94
|
-
Set thresholds, ratios, and magic-number/string allowlists in an `.esaconfig.json` file to share them between the editor and CLI/CI — see [docs/configuration.md](docs/configuration.md) for the schema, per-key defaults, [guidance on choosing thresholds](docs/configuration.md#choosing-thresholds)
|
|
94
|
+
Set thresholds, ratios, and magic-number/string allowlists in an `.esaconfig.json` file to share them between the editor and CLI/CI — see [docs/configuration.md](docs/configuration.md) for the schema, per-key defaults, and [guidance on choosing thresholds](docs/configuration.md#choosing-thresholds). The keys (all optional; an absent key keeps its default) include:
|
|
95
95
|
|
|
96
96
|
- `nesting.mediumThreshold` / `highThreshold` (`3` / `5`)
|
|
97
97
|
- `cognitiveComplexity.mediumThreshold` / `highThreshold` (`15` / `25`)
|
|
98
98
|
- `coherence.largeFunctionLines` (`20`), `maxLargeFunctions` (`5`), `singleDomainNameShare` (`0.7`)
|
|
99
99
|
- `matchOpportunity.minBranches` (`3`)
|
|
100
100
|
- `parameterCount.mediumThreshold` / `highThreshold` (`5` / `8`)
|
|
101
|
-
- `errorShadowing.threshold` / `highThreshold` / `
|
|
101
|
+
- `errorShadowing.protectedScope.*` (`threshold` / `highThreshold` / `minItems`: `0.5` / `0.7` / `8`)
|
|
102
|
+
- `errorShadowing.recovery.*` (`threshold` / `highThreshold` / `minItems`: `0.5` / `0.7` / `5`)
|
|
102
103
|
- `magicNumber.allowlist` (`[0, 1, -1, 2]`)
|
|
103
104
|
- `magicString.minDuplicates` (`2`), `allowlist` (`["", "utf-8", "__main__"]`)
|
|
104
105
|
|