Skip to content
This repository was archived by the owner on Feb 28, 2026. It is now read-only.

Commit 4ee3f7a

Browse files
committed
Initial commit
1 parent 55e180a commit 4ee3f7a

File tree

4 files changed

+215
-7
lines changed

4 files changed

+215
-7
lines changed

.github/workflows/node.js.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# .github/workflows/node.js.yml
2+
name: Node.js CI
3+
4+
on:
5+
push:
6+
branches: [ main ]
7+
pull_request:
8+
branches: [ main ]
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
14+
strategy:
15+
matrix:
16+
node-version: [14.x, 16.x, 18.x]
17+
18+
steps:
19+
- uses: actions/checkout@v3
20+
- name: Use Node.js ${{ matrix.node-version }}
21+
uses: actions/setup-node@v3
22+
with:
23+
node-version: ${{ matrix.node-version }}
24+
cache: 'npm'
25+
- run: npm ci
26+
- run: npm run build --if-present
27+
- run: npm test --if-present
28+
29+
publish:
30+
needs: build
31+
if: startsWith(github.ref, 'refs/tags/')
32+
runs-on: ubuntu-latest
33+
steps:
34+
- uses: actions/checkout@v3
35+
- uses: actions/setup-node@v3
36+
with:
37+
node-version: '16.x'
38+
registry-url: 'https://registry.npmjs.org'
39+
- run: npm ci
40+
- run: npm publish
41+
env:
42+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

CONTRIBUTING-GUIDE.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Beitragsrichtlinien
2+
3+
Vielen Dank für dein Interesse, zu diesem Projekt beizutragen! Hier sind einige Richtlinien, die dir helfen werden.
4+
5+
## Code of Conduct
6+
7+
Dieses Projekt und alle Mitwirkenden verpflichten sich zu einem respektvollen und inklusiven Umgang miteinander. Bitte sei freundlich und respektiere andere Perspektiven und Erfahrungen.
8+
9+
## Wie kann ich beitragen?
10+
11+
### Fehler melden
12+
13+
- Prüfe zuerst, ob der Fehler bereits gemeldet wurde
14+
- Verwende die Issue-Vorlage für Fehlerberichte
15+
- Beschreibe den Fehler klar und präzise
16+
- Füge Reproduktionsschritte hinzu
17+
- Gib Informationen über deine Umgebung (Node.js-Version, Betriebssystem, etc.)
18+
19+
### Feature-Anfragen
20+
21+
- Prüfe zuerst, ob das Feature bereits angefragt wurde
22+
- Verwende die Issue-Vorlage für Feature-Anfragen
23+
- Beschreibe das gewünschte Feature klar und präzise
24+
- Erkläre, warum das Feature nützlich wäre
25+
26+
### Pull Requests
27+
28+
1. Forke das Repository
29+
2. Erstelle einen Feature-Branch (`git checkout -b feature/amazing-feature`)
30+
3. Committe deine Änderungen (`git commit -m 'Add some amazing feature'`)
31+
4. Pushe den Branch (`git push origin feature/amazing-feature`)
32+
5. Öffne einen Pull Request
33+
34+
## Entwicklungsrichtlinien
35+
36+
### Codequalität
37+
38+
- Halte dich an den bestehenden Codestil
39+
- Kommentiere komplexen Code
40+
- Schreibe Tests für neue Funktionen
41+
42+
### Commit-Nachrichten
43+
44+
Bitte folge diesen Richtlinien für Commit-Nachrichten:
45+
46+
- Verwende den Imperativ ("Add feature" statt "Added feature")
47+
- Erste Zeile als kurze Zusammenfassung (max. 72 Zeichen)
48+
- Füge bei Bedarf detaillierte Beschreibungen nach einer Leerzeile hinzu
49+
50+
Beispiel:
51+
```
52+
Add support for TypeScript config files
53+
54+
- Parse tsconfig.json for aliases
55+
- Add tests for TypeScript configuration
56+
- Update documentation
57+
```
58+
59+
### Tests
60+
61+
- Füge Tests für neue Funktionen hinzu
62+
- Stelle sicher, dass alle Tests bestehen
63+
64+
## Lizenz
65+
66+
Mit deinen Beiträgen stimmst du zu, dass sie unter der gleichen Lizenz wie das Projekt (MIT) veröffentlicht werden.

README.md

Lines changed: 97 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# find-unused.mjs: Analyse und Erkennung ungenutzter Dateien in Vue.js-Projekten
22

3+
[![npm version](https://img.shields.io/npm/v/vue-find-unused.svg)](https://www.npmjs.com/package/vue-find-unused)
4+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5+
[![Node.js CI](https://github.com/DEVmatrose/vue-find-unused/actions/workflows/node.js.yml/badge.svg)](https://github.com/DEVmatrose/vue-find-unused/actions/workflows/node.js.yml)
6+
37
## Übersicht
48

59
Das Skript `find-unused.mjs` ist ein spezialisiertes Analyse-Tool zur statischen Codeanalyse, das ungenutzte Dateien in Vue.js-Projekten identifiziert. Es führt eine umfassende Untersuchung der Importabhängigkeiten und Komponentenreferenzen durch, um nicht verwendete Code-Artefakte zu erkennen.
@@ -147,10 +151,49 @@ const GLOBAL_COMPONENTS = ['Button', 'Card'];
147151
- Vue.js-Projekt mit standardisierter Verzeichnisstruktur
148152
- Ausführung aus dem Projektstamm (neben dem `src/`-Verzeichnis)
149153

154+
### Installation
155+
156+
#### Lokale Installation im Projekt
157+
158+
```bash
159+
npm install --save-dev vue-find-unused
160+
```
161+
162+
Dann kannst du das Tool in deinen npm-Scripts verwenden:
163+
164+
```json
165+
"scripts": {
166+
"find-unused": "vue-find-unused"
167+
}
168+
```
169+
170+
#### Globale Installation
171+
172+
```bash
173+
npm install -g vue-find-unused
174+
```
175+
176+
Nach der globalen Installation kannst du das Tool direkt von der Kommandozeile aufrufen:
177+
178+
```bash
179+
vue-find-unused
180+
```
181+
150182
### Ausführung
151183

184+
Wenn lokal installiert:
152185
```bash
153-
node find-unused.mjs
186+
npx vue-find-unused
187+
```
188+
189+
Oder direkt mit Node.js:
190+
```bash
191+
node node_modules/vue-find-unused/find-unused.mjs
192+
```
193+
194+
Bei globaler Installation einfach:
195+
```bash
196+
vue-find-unused
154197
```
155198

156199
### Ausgabebeispiel
@@ -173,6 +216,9 @@ Ungenutzte Dateien: 22
173216
Einstiegspunkte: 3
174217
```
175218

219+
![Beispiel-Ausgabe](https://raw.githubusercontent.com/DEVmatrose/vue-find-unused/main/docs/images/screenshot.png)
220+
*Beispielhafte Darstellung der Konsolenausgabe*
221+
176222
## Wissenschaftliche Genauigkeit und Einschränkungen
177223

178224
### Precision und Recall
@@ -202,10 +248,60 @@ Das Skript wurde optimiert, um eine hohe Precision zu erreichen, kann jedoch dur
202248
- **Continuous Integration**: Automatische Überprüfung als Teil des CI/CD-Prozesses
203249
- **Erweiterte Heuristiken**: Verbesserte Komponenten-Erkennung und Pfadauflösung
204250

251+
## CLI-Verwendung
252+
253+
Das Tool ist als Befehlszeilen-Interface (CLI) verfügbar und kann mit verschiedenen Optionen verwendet werden.
254+
255+
```bash
256+
Usage: vue-find-unused [options]
257+
258+
Options:
259+
-d, --dir <directory> Das Quellverzeichnis (Standard: src/)
260+
-e, --ext <extensions> Dateiendungen (Komma-getrennt, Standard: vue,js,ts,mjs)
261+
-v, --verbose Ausführliche Ausgabe aktivieren
262+
-o, --output <file> Ausgabe in eine Datei schreiben
263+
-h, --help Zeigt diese Hilfe an
264+
```
265+
266+
### Beispiele
267+
268+
```bash
269+
# Standard-Analyse im aktuellen Verzeichnis
270+
vue-find-unused
271+
272+
# Analyse eines spezifischen Verzeichnisses
273+
vue-find-unused --dir lib/components
274+
275+
# Nur bestimmte Dateiendungen analysieren
276+
vue-find-unused --ext vue,ts
277+
278+
# Ausführliche Ausgabe in eine Datei schreiben
279+
vue-find-unused --verbose --output unused-report.txt
280+
```
281+
282+
Diese CLI-Optionen sind noch nicht implementiert, zeigen aber die geplante Erweiterung des Tools.
283+
205284
## Schlussbemerkung
206285

207286
`find-unused.mjs` bietet einen wissenschaftlich fundierten Ansatz zur Optimierung von Vue.js-Projekten durch statische Codeanalyse. Es ermöglicht Entwicklungsteams, die Codebasis effizient zu bereinigen und technische Schulden abzubauen.
208287

288+
289+
## Automatisierte Tests
290+
291+
Dieses Repository verwendet GitHub Actions für kontinuierliche Integration:
292+
293+
- Lint-Prüfung des Codes
294+
- Automatische Tests bei jedem Push und Pull Request
295+
- Automatisierte Veröffentlichung zu npm bei neuen Releases
296+
297+
Die Workflow-Konfiguration findest du in `.github/workflows/node.js.yml`.
298+
299+
## Danksagungen
300+
301+
- Dank an alle Mitwirkenden L;L)M's, die dieses Projekt verbessert haben
302+
- Besonderer Dank an die Vue.js-Community für ihr Feedback
303+
- Inspiration durch ähnliche Tools wie [unused-webpack-plugin](https://github.com/MatthieuLemoine/unused-webpack-plugin)
304+
209305
## Lizenz
210306

211307
MIT

package.json

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
{
23
"name": "vue-find-unused",
34
"version": "1.0.0",
@@ -8,25 +9,28 @@
89
"vue-find-unused": "./find-unused.mjs"
910
},
1011
"scripts": {
11-
"start": "node find-unused.mjs"
12+
"start": "node find-unused.mjs",
13+
"test": "echo \"No tests specified yet\" && exit 0"
1214
},
1315
"keywords": [
1416
"vue",
1517
"static-analysis",
1618
"dead-code",
17-
"code-quality"
19+
"code-quality",
20+
"unused-files",
21+
"vue-components"
1822
],
19-
"author": "Dein Name",
23+
"author": "DEVmatrose",
2024
"license": "MIT",
2125
"engines": {
2226
"node": ">=14.0.0"
2327
},
2428
"repository": {
2529
"type": "git",
26-
"url": "git+https://github.com/dein-username/vue-find-unused.git"
30+
"url": "git+https://github.com/DEVmatrose/vue-find-unused.git"
2731
},
2832
"bugs": {
29-
"url": "https://github.com/dein-username/vue-find-unused/issues"
33+
"url": "https://github.com/DEVmatrose/vue-find-unused/issues"
3034
},
31-
"homepage": "https://github.com/dein-username/vue-find-unused#readme"
35+
"homepage": "https://github.com/DEVmatrose/vue-find-unused#readme"
3236
}

0 commit comments

Comments
 (0)