@chahuadev/junk-sweeper-app 7.0.0 → 7.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.
Files changed (3) hide show
  1. package/README.md +11 -12
  2. package/install.js +9 -8
  3. package/package.json +39 -39
package/README.md CHANGED
@@ -166,7 +166,7 @@ Heavy AST analysis runs in **Node.js Worker Threads** — your UI stays smooth a
166
166
  | C# Unused Usings | 90–97% | Roslyn `CSharpSyntaxTree` | C# |
167
167
  | C# Code Quality | 80–92% | Roslyn `CSharpSyntaxTree` | C# |
168
168
  | C# Silent Bugs | 82–92% | Roslyn `CSharpSyntaxTree` | C# |
169
- | Java (structural) | ⚠️ กำลังพัฒนา | `--source 11` subprocess | Java |
169
+ | Java (structural) | [IN DEV] กำลังพัฒนา | `--source 11` subprocess | Java |
170
170
 
171
171
  > Every finding now includes a **live recommendation** generated from your actual code — real variable names, the exact problematic line, and a concrete fix example. No hardcoded templates.
172
172
 
@@ -182,7 +182,7 @@ Supports (in development): **Java**
182
182
  - **JS/TS/JSX/TSX** — `@babel/parser` + `@babel/traverse` (in-process, Worker Thread)
183
183
  - **Python** — stdlib `ast` module via subprocess (`main_json.py`); 7 detectors
184
184
  - **C#** — Microsoft Roslyn (`CSharpSyntaxTree`) via subprocess (`Program.cs`, .NET 10); 5 detectors
185
- - **Java** — subprocess via `--source 11` ⚠️ *กำลังพัฒนา*
185
+ - **Java** — subprocess via `--source 11` [IN DEV] *กำลังพัฒนา*
186
186
  - **6 active detectors** — unused variables, unused imports, dead code, duplicate functions, silent bugs, code quality
187
187
  - **Silent Bugs — 8 patterns:** empty catch, floating promises, zombie listeners, orphaned timers, uncaught promise chains, scope shadowing, naked JSON.parse, await-in-loop
188
188
  - **Code Quality — 10 patterns:** debugger statements, eval/new Function, NaN comparison, assignment-in-condition, parseInt without radix, var declaration, console.* debug logging, prototype mutation, overly long functions, TODO/FIXME markers
@@ -197,7 +197,7 @@ Supports (in development): **Java**
197
197
  - **Detects:** SQL/NoSQL injection, command injection, path traversal, hardcoded secrets/tokens/passwords, unsafe `eval` / `new Function`, prototype pollution, insecure `Math.random`, unvalidated redirects, and more
198
198
  - **Security tab severity chips** — ALL / CRITICAL / HIGH / MEDIUM / LOW filter chips sync with sidebar badge clicks
199
199
  - **Security Statistics Sidebar** — severity breakdown with clickable severity badges (toggle mode) — syncs with security chips
200
- - **Map Monitor integration** — security issue count + N badge shown on every affected file card
200
+ - **Map Monitor integration** — security issue count + WARN-N badge shown on every affected file card
201
201
  - **Mutual exclusion** — switching between Junk Scan and Security Scan automatically clears the previous result
202
202
 
203
203
  ### Project Map Monitor
@@ -207,10 +207,10 @@ Supports (in development): **Java**
207
207
  - **Layout Memory** — positions saved to `%APPDATA%\Junk Sweeper\layouts\<project>.json` automatically; close and reopen the app and every node is exactly where you left it; share the JSON with your team via the Copy button
208
208
  - **IPC channel edges** — visualises Electron `ipcRenderer`/`ipcMain` connections
209
209
  - **Dependency detection** across JS, TS, HTML (`<script src>`, `<link href>`), and Electron patterns (`loadFile()`, `preload:`)
210
- - **Per-file issue badges** — each node shows issue count with Green / Amber / Red status; N security badge appears above the role badge (non-overlapping)
210
+ - **Per-file issue badges** — each node shows issue count with Green / Amber / Red status; WARN-N security badge appears above the role badge (non-overlapping)
211
211
  - **Node Status legend** — Clean (green) / Minor (amber) / Critical (red) / npm (purple) / Gateway Box (orange pill) — collapsible, state persists
212
- - **Electron Role badges** — MAIN / BR / UI / 🛡 / role labels on key Electron files
213
- - **Bidirectional Issues ↔ Map linking** — click the 📍 pin icon on any issue card to fly to that node on the map; click a node on the map to filter the Issues list to that file
212
+ - **Electron Role badges** — MAIN / BR / UI / SEC / ENG role labels on key Electron files
213
+ - **Bidirectional Issues ↔ Map linking** — click the PIN icon on any issue card to fly to that node on the map; click a node on the map to filter the Issues list to that file
214
214
  - **One-Click VS Code Integration** — click any filename in the issue report to open VS Code at the exact problematic line
215
215
  - **Workflow JSON Export / Import** — one-click save/load of map state as Junk Sweeper workflow JSON
216
216
  - **Mobile-ready portable payload** — workflow JSON contains full map payload (nodes, edges, issueLinesByFile, positions, zoom/pan, edge style, node SVG data URIs, tooltips)
@@ -287,7 +287,7 @@ Both the **Code Issues** tab and the **Security Issues** tab have filter chips (
287
287
  2. Nodes represent files; edges represent `require()`, `import`, `<script src>`, `loadFile()`, IPC channels, etc.
288
288
  3. Node color: **Green** = clean, **Amber** = 1–2 issues, **Red** = 3+ issues, **Purple** = npm package, **Cyan** = IPC/bridge
289
289
  4. **Layout Memory**: node positions save automatically on drag; use the hamburger menu (☰) to Save / Copy / Paste / Reset layout
290
- 5. **Bidirectional linking**: click the 📍 pin icon on any issue card map focuses that node; click a node in the map Issues list filters to that file
290
+ 5. **Bidirectional linking**: click the PIN icon on any issue card -> map focuses that node; click a node in the map -> Issues list filters to that file
291
291
  6. Hover a node to see full path and issue count; click to open its source code in the side panel
292
292
  7. Use **Export → Save as JSON** to produce a portable workflow file that includes full render context
293
293
  8. Use **Import** in map window to load workflow JSON back (desktop) or into future mobile map clients
@@ -425,10 +425,9 @@ chahuadev-junk-sweeper/
425
425
  │ │ └── Issue.cs
426
426
  │ └── java_scanner/
427
427
  │ ├── manifest.json # runtime: java, --source 11
428
- │ └── Main.java # ⚠️ กำลังพัฒนา — basic structural scanner
428
+ │ └── Main.java # [IN DEV] กำลังพัฒนา — basic structural scanner
429
429
  ├── security/
430
- ├── authentication-gateway.js # 7-layer security gateway
431
- │ └── security-validator.js # Checksum validation
430
+ └── security-validator.js # Unified security gateway + runtime validation
432
431
  ├── icons/
433
432
  └── vendor/
434
433
  ├── elkjs/ # Bundled ELK layered graph layout
@@ -447,7 +446,7 @@ chahuadev-junk-sweeper/
447
446
  | @babel/parser + @babel/traverse | JS/TS/JSX/TSX AST parsing and traversal (6 detectors) |
448
447
  | Python 3.8+ stdlib ast | Python AST via subprocess (7 detectors) |
449
448
  | Microsoft.CodeAnalysis.CSharp 4.12 | Roslyn C# AST via subprocess (5 detectors) |
450
- | Java --source 11 | Java structural scanner (⚠️ กำลังพัฒนา) |
449
+ | Java --source 11 | Java structural scanner ([IN DEV] กำลังพัฒนา) |
451
450
  | @swc/core | High-speed JS/TS compilation & analysis |
452
451
  | parse5 | HTML parser (script/link dependency extraction) |
453
452
  | esquery | AST query engine |
@@ -496,7 +495,7 @@ chahuadev-junk-sweeper/
496
495
 
497
496
  ### v1.0.4 — Security UX, Node Status Legend & Graph Export
498
497
  - **Security tab severity chips** — ALL / CRITICAL / HIGH / MEDIUM / LOW chips in the Security Issues tab; sync with sidebar badge filter clicks
499
- - **Security N badge repositioned** — security badge on map cards moved to mid-right above the Electron role badge; no longer obstructs role label
498
+ - **Security WARN-N badge repositioned** — security badge on map cards moved to mid-right above the Electron role badge; no longer obstructs role label
500
499
  - **Node Status legend** — legend section renamed and reorganised: Clean / Minor / Critical / npm / Gateway Box with accurate colour coding
501
500
  - **`execFile` shell injection fix** in `main.js` — VS Code Go-to-Line now uses `execFile` with array args instead of `exec()` with shell string
502
501
 
package/install.js CHANGED
@@ -13,16 +13,17 @@ let downloadUrl = '';
13
13
  let fileName = '';
14
14
 
15
15
  if (platform === 'win32') {
16
- downloadUrl = `${R2_BASE}/Junk%20Sweeper.exe`;
17
- fileName = 'Junk Sweeper.exe';
16
+ downloadUrl = `${R2_BASE}/Junk-Sweeper.exe`;
17
+ fileName = 'Junk-Sweeper.exe';
18
18
  } else if (platform === 'linux') {
19
- downloadUrl = `${R2_BASE}/Junk%20Sweeper.AppImage`;
20
- fileName = 'Junk Sweeper.AppImage';
19
+ downloadUrl = `${R2_BASE}/Junk-Sweeper.AppImage`;
20
+ fileName = 'Junk-Sweeper.AppImage';
21
21
  } else if (platform === 'darwin') {
22
- downloadUrl = `${R2_BASE}/Junk%20Sweeper`;
23
- fileName = 'Junk Sweeper';
22
+ const macArch = arch === 'arm64' ? 'arm64' : 'x64';
23
+ fileName = `Junk-Sweeper-${macArch}.dmg`;
24
+ downloadUrl = `${R2_BASE}/${encodeURIComponent(fileName)}`;
24
25
  } else {
25
- console.warn(`Chahuadev Junk Sweeper does not support ${platform} ${arch} yet.`);
26
+ console.warn(`Chahuadev-Junk-Sweeper does not support ${platform} ${arch} yet.`);
26
27
  process.exit(0);
27
28
  }
28
29
 
@@ -30,7 +31,7 @@ const binDir = path.join(__dirname, 'bin');
30
31
  if (!fs.existsSync(binDir)) fs.mkdirSync(binDir, { recursive: true });
31
32
 
32
33
  const filePath = path.join(binDir, fileName);
33
- console.log(`\nChahuadev Junk Sweeper -- Downloading binary for ${platform} (${arch})...`);
34
+ console.log(`\nChahuadev-Junk-Sweeper -- Downloading binary for ${platform} (${arch})...`);
34
35
  console.log('Please wait, this may take a few minutes.\n');
35
36
 
36
37
  function downloadFile(url, dest) {
package/package.json CHANGED
@@ -1,40 +1,40 @@
1
1
  {
2
- "name": "@chahuadev/junk-sweeper-app",
3
- "version": "7.0.0",
4
- "description": "Chahuadev Junk Sweeper โ€” AST-based dead code \u0026 silent bug detector with interactive architecture map",
5
- "main": "index.js",
6
- "bin": {
7
- "junk-sweeper": "index.js"
8
- },
9
- "scripts": {
10
- "postinstall": "node install.js"
11
- },
12
- "files": [
13
- "index.js",
14
- "install.js"
15
- ],
16
- "keywords": [
17
- "junk-sweeper",
18
- "code-analysis",
19
- "dead-code",
20
- "unused-variables",
21
- "silent-bugs",
22
- "ast",
23
- "electron",
24
- "chahuadev"
25
- ],
26
- "author": {
27
- "name": "Chahuadev",
28
- "email": "chahuadev@gmail.com",
29
- "url": "https://chahuadev.com"
30
- },
31
- "license": "SEE LICENSE IN LICENSE.md",
32
- "publishConfig": {
33
- "access": "public"
34
- },
35
- "repository": {
36
- "type": "git",
37
- "url": "https://huggingface.co/datasets/chahuadev/chahuadev-junk-sweeper"
38
- },
39
- "homepage": "https://huggingface.co/datasets/chahuadev/chahuadev-junk-sweeper"
40
- }
2
+ "name": "@chahuadev/junk-sweeper-app",
3
+ "version": "7.0.1",
4
+ "description": "Chahuadev Junk-Sweeper - AST-based dead code & silent bug detector with interactive architecture map",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "junk-sweeper": "index.js"
8
+ },
9
+ "scripts": {
10
+ "postinstall": "node install.js"
11
+ },
12
+ "files": [
13
+ "index.js",
14
+ "install.js"
15
+ ],
16
+ "keywords": [
17
+ "junk-sweeper",
18
+ "code-analysis",
19
+ "dead-code",
20
+ "unused-variables",
21
+ "silent-bugs",
22
+ "ast",
23
+ "electron",
24
+ "chahuadev"
25
+ ],
26
+ "author": {
27
+ "name": "Chahuadev",
28
+ "email": "chahuadev@gmail.com",
29
+ "url": "https://chahuadev.com"
30
+ },
31
+ "license": "SEE LICENSE IN LICENSE.md",
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "https://huggingface.co/datasets/chahuadev/chahuadev-junk-sweeper"
38
+ },
39
+ "homepage": "https://huggingface.co/datasets/chahuadev/chahuadev-junk-sweeper"
40
+ }