front(lint): ESLint 9 flat config + angular-eslint 19
- eslint.config.js (flat) : recommended TS + angular-eslint (ts + templates a11y), règles selectors app + no-unused-vars (^_ ignoré) - script lint -> 'eslint .' (+ lint:fix), évite la résolution du builder Angular sous pnpm - fix de la seule violation (variable _ inutilisée dans l'effect catalog) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
38
front-public/eslint.config.js
Normal file
38
front-public/eslint.config.js
Normal file
@@ -0,0 +1,38 @@
|
||||
// @ts-check
|
||||
const eslint = require('@eslint/js');
|
||||
const tseslint = require('typescript-eslint');
|
||||
const angular = require('angular-eslint');
|
||||
|
||||
module.exports = tseslint.config(
|
||||
{
|
||||
ignores: ['dist/**', 'node_modules/**', '.angular/**', 'coverage/**'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.ts'],
|
||||
extends: [
|
||||
eslint.configs.recommended,
|
||||
...tseslint.configs.recommended,
|
||||
...angular.configs.tsRecommended,
|
||||
],
|
||||
processor: angular.processInlineTemplates,
|
||||
rules: {
|
||||
'@angular-eslint/directive-selector': [
|
||||
'error',
|
||||
{ type: 'attribute', prefix: 'app', style: 'camelCase' },
|
||||
],
|
||||
'@angular-eslint/component-selector': [
|
||||
'error',
|
||||
{ type: 'element', prefix: 'app', style: 'kebab-case' },
|
||||
],
|
||||
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['**/*.html'],
|
||||
extends: [
|
||||
...angular.configs.templateRecommended,
|
||||
...angular.configs.templateAccessibility,
|
||||
],
|
||||
rules: {},
|
||||
},
|
||||
);
|
||||
@@ -7,11 +7,10 @@
|
||||
"build": "ng build",
|
||||
"build:prod": "ng build --configuration production",
|
||||
"test": "ng test --watch=false --browsers=ChromeHeadless",
|
||||
"lint": "ng lint"
|
||||
"lint": "eslint .",
|
||||
"lint:fix": "eslint . --fix"
|
||||
},
|
||||
"dependencies": {
|
||||
"@datacat/shared": "workspace:*",
|
||||
"@gouvfr/dsfr": "^1.13.0",
|
||||
"@angular/animations": "^19.0.0",
|
||||
"@angular/common": "^19.0.0",
|
||||
"@angular/compiler": "^19.0.0",
|
||||
@@ -20,6 +19,8 @@
|
||||
"@angular/platform-browser": "^19.0.0",
|
||||
"@angular/platform-browser-dynamic": "^19.0.0",
|
||||
"@angular/router": "^19.0.0",
|
||||
"@datacat/shared": "workspace:*",
|
||||
"@gouvfr/dsfr": "^1.13.0",
|
||||
"rxjs": "^7.8.0",
|
||||
"tslib": "^2.8.0",
|
||||
"zone.js": "^0.15.0"
|
||||
@@ -28,8 +29,12 @@
|
||||
"@angular-devkit/build-angular": "^19.0.0",
|
||||
"@angular/cli": "^19.0.0",
|
||||
"@angular/compiler-cli": "^19.0.0",
|
||||
"@eslint/js": "^9.39.4",
|
||||
"@types/node": "^22.0.0",
|
||||
"angular-eslint": "^19.8.1",
|
||||
"eslint": "^9.39.4",
|
||||
"sass": "^1.83.0",
|
||||
"typescript": "~5.8.3",
|
||||
"sass": "^1.83.0"
|
||||
"typescript-eslint": "^8.62.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,9 +176,9 @@ export class CatalogComponent implements OnInit {
|
||||
private searchTimer: ReturnType<typeof setTimeout> | null = null;
|
||||
|
||||
constructor() {
|
||||
/* Rechargement si page change */
|
||||
/* Rechargement si page change (lecture du signal = dépendance de l'effet) */
|
||||
effect(() => {
|
||||
const _ = this.page();
|
||||
this.page();
|
||||
this.loadApis();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user