pmd-ruleset-visualizer 1.0.0 → 1.0.1

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/README.md CHANGED
@@ -68,7 +68,7 @@ pmd check -d /usr/src -R rulesets/java/quickstart.xml -f text
68
68
  Requires **Node.js 18+**.
69
69
 
70
70
  ```bash
71
- npm install -f pmd-ruleset-visualizer
71
+ npm install -g pmd-ruleset-visualizer
72
72
  ```
73
73
 
74
74
  The bundled `public/sample-ruleset.xml` is loaded automatically on first open so the app is never blank. It is included in the published npm package via the `files` field in `package.json`.
@@ -201,6 +201,19 @@ Click the ☽/☀ button (top-right) to toggle dark mode. The preference is save
201
201
 
202
202
 
203
203
 
204
+ ## Security
205
+
206
+ The Express server binds to `127.0.0.1` — it is not accessible from the network.
207
+
208
+ `/api/read-file` enforces an extension allowlist. Only these file types may be read:
209
+
210
+ | Purpose | Extensions |
211
+ |---------|-----------|
212
+ | Ruleset auto-load | `.xml` `.ruleset` |
213
+ | Monaco source viewer | `.cls` `.trigger` `.apex` `.java` `.js` `.ts` `.jsx` `.tsx` `.py` `.go` `.cs` `.cpp` `.cc` `.cxx` `.c` `.h` `.swift` `.kt` `.rb` `.php` `.scala` `.groovy` `.pl` `.html` `.jsp` `.vue` |
214
+
215
+ Any other extension (`.env`, `.pem`, `.key`, config files, binaries) is rejected with HTTP 400.
216
+
204
217
  ## Important Notes
205
218
 
206
219
  - All XML parsing is local. No ruleset content is sent to any external service.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmd-ruleset-visualizer",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "private": false,
5
5
  "description": "Local graphical explorer and runner for PMD XML rulesets with Monaco editor integration",
6
6
  "main": "server.js",
@@ -35,6 +35,10 @@
35
35
  "dev": "node --watch server.js",
36
36
  "build": "obfuscli build -p . -o ./dist --preset medium --exclude 'node_modules,dist,.git,*.xml,*.md,*.json,*.css,*.ico,*.html' && rm -f dist/CLAUDE.md dist/SKILLS.md"
37
37
  },
38
+ "overrides": {
39
+ "uuid": "^11.0.0",
40
+ "minimatch": "^11.0.1"
41
+ },
38
42
  "dependencies": {
39
43
  "exceljs": "^4.4.0",
40
44
  "express": "^5.1.0",