feature: migration dvf en TypeScript

parse.js/sync.js/lib/dotenv.js -> .ts (run via tsx), ajout tsconfig.json,
eslint config TS-enabled (parser tseslint + resolver typescript), devDeps
typescript/typescript-eslint/tsx/eslint-import-resolver-typescript,
scripts package.json en tsx + typecheck, .lintstagedrc *.ts, README en tsx.
Fix securite: escapeId sur les identifiants de colonnes dans sync.ts (au lieu
de backticks bruts) pour ne pas casser/injecter via un en-tete CSV distant.
Suppression du todo.txt audit (finding escapeId traite).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-23 10:18:08 +02:00
parent 1f34ea5d2f
commit 10af5a50e5
10 changed files with 941 additions and 70 deletions
+10 -5
View File
@@ -10,11 +10,11 @@
"license": "ISC",
"author": "Raphael Piccolo",
"type": "module",
"main": "server.js",
"main": "sync.ts",
"scripts": {
"cov": "c8 npm run test",
"prepare": "husky",
"start": "node server.js"
"start": "tsx sync.ts",
"typecheck": "tsc -b"
},
"dependencies": {
"csv-parse": "^7.0.0",
@@ -27,6 +27,7 @@
"@babel/eslint-parser": "^8.0.1",
"@eslint/js": "^10.0.1",
"eslint": "^10.5.0",
"eslint-import-resolver-typescript": "^4.4.5",
"eslint-plugin-import-x": "^4.16.2",
"eslint-plugin-n": "^18.1.0",
"eslint-plugin-promise": "^7.3.0",
@@ -37,12 +38,16 @@
"husky": "^9.1.7",
"lint-staged": "^17.0.7",
"prettier": "^3.8.4",
"ts-api-utils": "^2.5.0"
"ts-api-utils": "^2.5.0",
"tsx": "^4.22.4",
"typescript": "^6.0.3",
"typescript-eslint": "^8.61.1"
},
"engines": {
"node": ">=21.0.0"
},
"allowScripts": {
"unrs-resolver": true
"unrs-resolver": true,
"esbuild@0.28.1": true
}
}