Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

18 changes: 0 additions & 18 deletions .eslintrc.json

This file was deleted.

8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
steps:
- uses: actions/setup-node@v7
with:
node-version: 24.14.1
node-version: 24.22.2

- name: Git checkout for source code analysis
uses: actions/checkout@v7
Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
steps:
- uses: actions/setup-node@v7
with:
node-version: 24.14.1
node-version: 24.22.2

- name: Vérifier la présence du token autotests-ademe
env:
Expand Down Expand Up @@ -167,7 +167,7 @@ jobs:
steps:
- uses: actions/setup-node@v7
with:
node-version: 24.14.1
node-version: 24.22.2

- name: Git checkout for source code analysis
uses: actions/checkout@v7
Expand Down Expand Up @@ -217,7 +217,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-node@v7
with:
node-version: 24.14.1
node-version: 24.22.2
- name: Install Dependencies (open3cl-3d)
run: npm ci
# La visu est buildée avec la version de @open3cl/engine figée dans son
Expand Down
8 changes: 7 additions & 1 deletion .jscpd.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
{
"path": ["./src/features", "./src/core", "./src/tv"]
"path": ["./src/features", "./src/core", "./src/tv"],
"ignore": ["**/*.spec.js"],
"threshold": 0.1,
"reporters": ["console", "html"],
"output": "./duplicate",
"absolute": true,
"gitignore": true
}
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
24.14.1
24.22.2
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Lu à chaque séance : à respecter et à tenir à jour.

## Outillage

- **Runner : [vitest](https://vitest.dev/).** `npm test` = `vitest run`. `npm run test:ci` pour la
- **Runner : [vitest](https://vitest.dev/).** `npm test` = `vitest run`. `npm run test:unit:ci` pour la
couverture.
- **Lint : ESLint** (`npm run qa:lint`, `npm run qa:lint:fix`).
- **Format : Prettier.** Toujours lancer `npx prettier --write <fichiers>` avant de committer.
Expand Down Expand Up @@ -92,7 +92,7 @@ Deux architectures cohabitent (migration progressive) :
## Points d'attention connus

- `src/output.js` est un fichier **mort/cassé** (identifiant orphelin `filecontent`, lève une
`ReferenceError` à l'import ; présent dans `.eslintignore`). À nettoyer.
`ReferenceError` à l'import ; ignoré dans `eslint.config.js`). À nettoyer.
- La suite globale `vitest run src/` comporte des specs **préexistants** en échec, liés à des
données/assets manquants dans l'environnement (ex. plusieurs `features/**/*.service.spec.js`). Ne pas les confondre avec
les régressions introduites par une contribution : vérifier l'état avant/après.
26 changes: 13 additions & 13 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ Il n'y a pas que le code.

### Pré-requis

| Outil | Version | Vérifier |
| :---------- | :-------- | :--------------- |
| **Node.js** | ≥ 24.14.1 | `node --version` |
| **npm** | ≥ 10 | `npm --version` |
| **git** | — | `git --version` |
| Outil | Version | Vérifier |
| :---------- | :------------------- | :--------------- |
| **Node.js** | ≥ 24.22.2 (`.nvmrc`) | `node --version` |
| **npm** | ≥ 10 | `npm --version` |
| **git** | — | `git --version` |

La version utilisée en développement et en intégration continue est fixée dans [`.nvmrc`](.nvmrc) :

Expand Down Expand Up @@ -212,14 +212,14 @@ historique lisible.

## Règles de code

| Règle | Vérifiée par |
| :------------------------------------------------------------------------------------ | :-------------------------------------- |
| Style [JavaScript Standard](https://standardjs.com/), configuré dans `.eslintrc.json` | `npm run qa:lint` |
| Formatage Prettier (`.prettierrc`) | `npm run qa:format`, hook de pre-commit |
| Indentation et fins de ligne selon [`.editorconfig`](http://editorconfig.org/) | votre éditeur |
| Pas de duplication excessive (`.jscpd.json`) | `npm run qa:duplication` |
| **Toute correction ou fonctionnalité est couverte par au moins un test** | la revue |
| Couverture unitaire à **100 %** (statements, branches, functions, lines) | `npm run test:unit:ci` |
| Règle | Vérifiée par |
| :----------------------------------------------------------------------------- | :-------------------------------------- |
| Règles `eslint:recommended` + Prettier, configurées dans `eslint.config.js` | `npm run qa:lint` |
| Formatage Prettier (`.prettierrc`) | `npm run qa:format`, hook de pre-commit |
| Indentation et fins de ligne selon [`.editorconfig`](http://editorconfig.org/) | votre éditeur |
| Pas de duplication excessive (`.jscpd.json`) | `npm run qa:duplication` |
| **Toute correction ou fonctionnalité est couverte par au moins un test** | la revue |
| Couverture unitaire à **100 %** (statements, branches, functions, lines) | `npm run test:unit:ci` |

### Style attendu

Expand Down
38 changes: 38 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import js from '@eslint/js';
import prettier from 'eslint-config-prettier';
import globals from 'globals';

export default [
{
// Ex-.eslintignore + ignorePatterns de l'ancien .eslintrc.json
ignores: [
'duplicate/**',
'coverage/**',
'src/output.js',
'test/corpus/*.js',
'dist/reports/**/*.js'
]
},
js.configs.recommended,
prettier,
{
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: {
...globals.browser,
...globals.node,
...globals.jest,
...globals.vitest
}
},
linterOptions: {
// Comportement ESLint 8 conservé : pas de signalement des eslint-disable inutilisés
reportUnusedDisableDirectives: 'off'
},
rules: {
'no-prototype-builtins': 'off',
'no-irregular-whitespace': 'off'
}
}
];
Loading