feat: Enhance UserScript structure and functionality

- Updated package.json to include new scripts for development, production builds, linting, formatting, and cleaning.
- Added ESLint and Prettier for code quality and formatting.
- Refactored main application class to extend EventEmitter and manage modules.
- Introduced ExampleModule to demonstrate module structure and functionality.
- Created utility classes for DOM manipulation, event handling, and persistent storage.
- Added TypeScript definitions for UserScript environment.
- Improved TypeScript configuration with stricter checks and path aliases.
- Updated Vite configuration to handle development and production builds more effectively.
- Enhanced user script header generation to support environment-specific configurations.
This commit is contained in:
JonasPfalzgraf 2025-07-11 17:47:22 +02:00
parent 8089771d41
commit 88aeab8f29
17 changed files with 4064 additions and 595 deletions

View file

@ -5,9 +5,16 @@
"main": "index.ts",
"module": "node",
"scripts": {
"dev": "vite build --watch --mode development",
"build": "vite build && npm run build-userScriptHeader",
"build:prod": "vite build --mode production && npm run build-userScriptHeader",
"build-tooling": "tsc ./tools/userScriptHeader.ts --resolveJsonModule --esModuleInterop",
"build-userScriptHeader": "npm run build-tooling && node ./tools/userScriptHeader.js"
"build-userScriptHeader": "npm run build-tooling && node ./tools/userScriptHeader.js",
"lint": "eslint src/ --ext .ts,.tsx",
"lint:fix": "eslint src/ --ext .ts,.tsx --fix",
"format": "prettier --write \"src/**/*.{ts,tsx,json}\"",
"type-check": "tsc --noEmit",
"clean": "rimraf dist"
},
"repository": {
"type": "git",
@ -27,11 +34,18 @@
},
"homepage": "https://github.com/JosunLP/UserScriptProjectTemplate#readme",
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"eslint": "^8.57.1",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.5.1",
"prettier": "^3.6.2",
"rimraf": "^5.0.10",
"ts-loader": "^9.3.1",
"ts-node": "^10.9.1",
"typescript": "^4.7.4",
"typescript": "^5.4.0",
"undici-types": "^6.18.2",
"vite": "^5.2.12",
"vite": "^7.0.4",
"vite-tsconfig-paths": "^4.3.2",
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0"