pmd-ruleset-visualizer 1.0.0 → 1.0.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/README.md +22 -2
- package/package.json +5 -1
- package/public/app.js +1 -1
- package/server.js +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
# PMD Ruleset Visualizer
|
|
2
2
|
|
|
3
|
-
A local-first Node.js app for exploring, visualizing, editing, and running PMD XML rulesets. No data is sent to any third-party service.
|
|
3
|
+
> A local-first Node.js app for exploring, visualizing, editing, and running PMD XML rulesets. No data is sent to any third-party service.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## Screenshots
|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+

|
|
12
|
+

|
|
13
|
+
|
|
7
14
|
## Prerequisites
|
|
8
15
|
|
|
9
16
|
### 1. Java
|
|
@@ -68,7 +75,7 @@ pmd check -d /usr/src -R rulesets/java/quickstart.xml -f text
|
|
|
68
75
|
Requires **Node.js 18+**.
|
|
69
76
|
|
|
70
77
|
```bash
|
|
71
|
-
npm install -
|
|
78
|
+
npm install -g pmd-ruleset-visualizer
|
|
72
79
|
```
|
|
73
80
|
|
|
74
81
|
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 +208,19 @@ Click the ☽/☀ button (top-right) to toggle dark mode. The preference is save
|
|
|
201
208
|
|
|
202
209
|
|
|
203
210
|
|
|
211
|
+
## Security
|
|
212
|
+
|
|
213
|
+
The Express server binds to `127.0.0.1` — it is not accessible from the network.
|
|
214
|
+
|
|
215
|
+
`/api/read-file` enforces an extension allowlist. Only these file types may be read:
|
|
216
|
+
|
|
217
|
+
| Purpose | Extensions |
|
|
218
|
+
|---------|-----------|
|
|
219
|
+
| Ruleset auto-load | `.xml` `.ruleset` |
|
|
220
|
+
| 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` |
|
|
221
|
+
|
|
222
|
+
Any other extension (`.env`, `.pem`, `.key`, config files, binaries) is rejected with HTTP 400.
|
|
223
|
+
|
|
204
224
|
## Important Notes
|
|
205
225
|
|
|
206
226
|
- 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.
|
|
3
|
+
"version": "1.0.2",
|
|
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",
|