build(tooling): modernize Node and TypeScript setup

This commit is contained in:
2026-08-24 14:12:04 +02:00
parent 58d77b9771
commit d750e5fe3f
10 changed files with 1403 additions and 592 deletions
+25 -22
View File
@@ -22,23 +22,20 @@
"files": [
"dist"
],
"directories": {
"lib": "src"
},
"sideEffects": false,
"scripts": {
"version:place": "node set-version.js set-ci-version",
"version:check": "node set-version.js check-placeholder",
"version:fix": "node set-version.js fix-placeholder",
"lint": "eslint . --ext .ts,.tsx,.js,.cjs,.mjs",
"lint:fix": "eslint . --ext .ts,.tsx,.js,.cjs,.mjs --fix",
"lint:types": "eslint . --config eslint.config.typeaware.cjs --ext .ts,.tsx",
"format": "prettier --write .",
"format:check": "prettier --check .",
"typecheck": "tsc --noEmit",
"typecheck": "tsc --noEmit --declaration --isolatedDeclarations",
"test": "jest --runInBand",
"check": "npm run version:check && npm run format:check && npm run lint && npm run lint:types && npm run typecheck && npm run test",
"check": "npm run version:check && npm run format:check && npm run lint && npm run typecheck && npm run test",
"fix": "npm run version:fix && npm run format && npm run lint:fix",
"build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsup && tsc -p tsconfig.build.json && node scripts/copy-dts.cjs",
"build": "tsup",
"prepare": "husky"
},
"repository": {
@@ -70,46 +67,52 @@
]
},
"devDependencies": {
"@discordjs/opus": "^0.10.0",
"@jest/globals": "^30.4.1",
"@types/ejs": "^3.1.5",
"@types/node": "^26.0.0",
"@typescript-eslint/eslint-plugin": "^8.61.1",
"@typescript-eslint/parser": "^8.61.1",
"eslint": "^9.39.4",
"@types/node": "^24.0.0",
"@typescript-eslint/eslint-plugin": "^8.67.0",
"@typescript-eslint/parser": "^8.67.0",
"eslint": "^9.39.5",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.5",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-n": "^18.1.0",
"eslint-plugin-n": "^18.3.0",
"eslint-plugin-promise": "^7.3.0",
"eslint-plugin-unused-imports": "^4.4.1",
"husky": "^9.1.7",
"jest": "^30.4.2",
"prettier": "^3.8.4",
"ts-jest": "^29.4.11",
"prettier": "^3.9.6",
"ts-jest": "^29.4.12",
"tsup": "^8.5.1",
"typescript": "^6.0.3"
"@typescript/native": "npm:typescript@^7.0.2",
"typescript": "npm:@typescript/typescript6@^6.0.2"
},
"peerDependencies": {
"@discordjs/opus": "^0.10.0",
"@discordjs/voice": "^0.19.2",
"@snazzah/davey": "^0.1.12",
"ffmpeg-static": "^5.3.0",
"libsodium-wrappers": "^0.8.4",
"opusscript": "^0.0.8",
"prism-media": "^1.3.5"
"opusscript": "^0.0.8"
},
"peerDependenciesMeta": {
"@discordjs/opus": {
"optional": true
},
"ffmpeg-static": {
"optional": true
},
"libsodium-wrappers": {
"opusscript": {
"optional": true
}
},
"overrides": {
"esbuild": "^0.28.1"
"@discordjs/node-pre-gyp": {
"tar": "^7.5.22"
},
"esbuild": "^0.28.2"
},
"engines": {
"node": ">=22.22.3"
"node": "24.x"
},
"private": false,
"publishConfig": {