Compare commits

...

7 Commits

7 changed files with 589 additions and 666 deletions
+1
View File
@@ -18,6 +18,7 @@ steps:
commands: commands:
- npm install -g vsce - npm install -g vsce
- npm ci - npm ci
- xvfb-run -a npm test
- vsce package - vsce package
- name: gitea_release - name: gitea_release
+2 -1
View File
@@ -1,8 +1,9 @@
{ {
"*.js": ["eslint --fix", "prettier --write"], "*.js": ["eslint --fix", "prettier --write"],
"*.ts": ["eslint --fix", "prettier --write"],
"*.css": ["prettier --write"], "*.css": ["prettier --write"],
"*.jsx": ["prettier --write"], "*.jsx": ["prettier --write"],
"*.html.twig": ["twig-cs-fixer lint --fix"], "*.tsx": ["prettier --write"],
"*.php": ["php-cs-fixer fix --config .php-cs-fixer.php"], "*.php": ["php-cs-fixer fix --config .php-cs-fixer.php"],
"Dockerfile": ["hadolint --ignore DL3002 --ignore DL3003 --ignore DL3008 --ignore DL3013 --ignore DL3016 --ignore DL3022"], "Dockerfile": ["hadolint --ignore DL3002 --ignore DL3003 --ignore DL3008 --ignore DL3013 --ignore DL3016 --ignore DL3022"],
"*.md": ["markdownlint --fix"], "*.md": ["markdownlint --fix"],
+2
View File
@@ -4,6 +4,8 @@ import tsplugin from '@typescript-eslint/eslint-plugin';
import globals from 'globals'; import globals from 'globals';
export default [ export default [
// remonte (et --fix supprime) tout eslint-disable inutile : regle deja off, inactive, ou qui ne tire pas
{ linterOptions: { reportUnusedDisableDirectives: 'error' } },
js.configs.recommended, js.configs.recommended,
{ {
files: ['**/*.ts'], files: ['**/*.ts'],
+575 -619
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -1,7 +1,7 @@
{ {
"name": "vscodestat", "name": "vscodestat",
"displayName": "vscodestat", "displayName": "vscodestat",
"version": "1.3.2", "version": "1.6.0",
"description": "", "description": "",
"categories": [ "categories": [
"Other" "Other"
@@ -51,17 +51,17 @@
"devDependencies": { "devDependencies": {
"@eslint/js": "^10.0.1", "@eslint/js": "^10.0.1",
"@types/mocha": "^10.0.10", "@types/mocha": "^10.0.10",
"@types/node": "25.x", "@types/node": "26.x",
"@types/vscode": "^1.125.0", "@types/vscode": "^1.125.0",
"@typescript-eslint/eslint-plugin": "^8.61.1", "@typescript-eslint/eslint-plugin": "^8.62.0",
"@typescript-eslint/parser": "^8.61.1", "@typescript-eslint/parser": "^8.62.0",
"@vscode/test-cli": "^0.0.12", "@vscode/test-cli": "^0.0.15",
"@vscode/test-electron": "^3.0.0", "@vscode/test-electron": "^3.0.0",
"eslint": "^10.1.0", "eslint": "^10.1.0",
"globals": "^17.6.0", "globals": "^17.7.0",
"husky": "^9.1.7", "husky": "^9.1.7",
"lint-staged": "^17.0.7", "lint-staged": "^17.0.8",
"prettier": "^3.8.4", "prettier": "^3.9.1",
"ts-api-utils": "^2.5.0", "ts-api-utils": "^2.5.0",
"typescript": "^6.0.3" "typescript": "^6.0.3"
}, },
-33
View File
@@ -1,33 +0,0 @@
REVIEW DE CODE — 2026-04-26
============================================
Extension VSCode (TypeScript) qui collecte des metriques sur
l'activite du user dans VSCode :
- ouverture de fichier / changement d'onglet (event 'open')
- sauvegarde de fichier (event 'save')
- focus/blur de la fenetre (event 'focus')
Envoie un POST JSON a la URL configuree (`vscodestat.url`).
NB : extension force-installed dans les containers vscode + vscodeluigi
(cf vscode/todo.txt). C'est l'extension de monitoring activite dev.
SECURITE
--------
[ ] makeHttpRequest envoie au serveur l'event sans auth
src/extension.ts : `fetch(url, { method: 'POST',
headers: ..., body: JSON.stringify(json) })`. Pas de token.
Cote serveur (cf monitoringserver/todo.txt), `/vscodestat` est
aussi sans auth => tout le monde peut envoyer des metriques.
BUGS / FRAGILITE
----------------
[ ] Pas de batching
Chaque event = 1 fetch. Pas de queue + flush periodique.
Si reseau down, perte d'events (pas de retry). A capper.
[ ] makeHttpRequest catch silencieux
src/extension.ts : catch + console.error. Pas de
retry, pas de notification user. Si serveur down, events
perdus.
+1 -5
View File
@@ -13,10 +13,6 @@
], ],
"sourceMap": true, "sourceMap": true,
"rootDir": "src", "rootDir": "src",
"strict": true /* enable all strict type-checking options */ "strict": true
/* Additional Checks */
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
} }
} }