Configure l'environnement de développement complet avec Docker Compose, structure DDD 4 Bounded Contexts, et pipeline CI/CD GitHub Actions. Corrections compatibilité CI: - Symfony 8 nécessite monolog-bundle ^4.0 (la v3.x ne supporte que jusqu'à Symfony 7) - ESLint v9 nécessite flat config (eslint.config.js) - le format .eslintrc.cjs est obsolète
97 lines
1.8 KiB
JavaScript
97 lines
1.8 KiB
JavaScript
import js from '@eslint/js';
|
|
import tseslint from 'typescript-eslint';
|
|
import sveltePlugin from 'eslint-plugin-svelte';
|
|
import svelteParser from 'svelte-eslint-parser';
|
|
import prettier from 'eslint-config-prettier';
|
|
|
|
export default tseslint.config(
|
|
// Base JavaScript recommended rules
|
|
js.configs.recommended,
|
|
|
|
// TypeScript recommended rules
|
|
...tseslint.configs.recommended,
|
|
|
|
// Global ignores
|
|
{
|
|
ignores: [
|
|
'.svelte-kit/**',
|
|
'build/**',
|
|
'dist/**',
|
|
'node_modules/**',
|
|
'*.config.js',
|
|
'*.config.ts'
|
|
]
|
|
},
|
|
|
|
// TypeScript files
|
|
{
|
|
files: ['**/*.ts'],
|
|
languageOptions: {
|
|
parserOptions: {
|
|
sourceType: 'module',
|
|
ecmaVersion: 2020
|
|
},
|
|
globals: {
|
|
window: 'readonly',
|
|
document: 'readonly',
|
|
console: 'readonly',
|
|
process: 'readonly',
|
|
__dirname: 'readonly',
|
|
__filename: 'readonly',
|
|
Promise: 'readonly',
|
|
Set: 'readonly',
|
|
Map: 'readonly'
|
|
}
|
|
},
|
|
rules: {
|
|
'@typescript-eslint/no-unused-vars': [
|
|
'error',
|
|
{
|
|
argsIgnorePattern: '^_',
|
|
varsIgnorePattern: '^_'
|
|
}
|
|
],
|
|
'no-console': ['warn', { allow: ['warn', 'error'] }]
|
|
}
|
|
},
|
|
|
|
// Svelte files
|
|
{
|
|
files: ['**/*.svelte'],
|
|
languageOptions: {
|
|
parser: svelteParser,
|
|
parserOptions: {
|
|
parser: tseslint.parser,
|
|
sourceType: 'module',
|
|
ecmaVersion: 2020,
|
|
extraFileExtensions: ['.svelte']
|
|
},
|
|
globals: {
|
|
window: 'readonly',
|
|
document: 'readonly',
|
|
console: 'readonly',
|
|
process: 'readonly',
|
|
Promise: 'readonly',
|
|
Set: 'readonly',
|
|
Map: 'readonly'
|
|
}
|
|
},
|
|
plugins: {
|
|
svelte: sveltePlugin
|
|
},
|
|
rules: {
|
|
...sveltePlugin.configs.recommended.rules,
|
|
'@typescript-eslint/no-unused-vars': [
|
|
'error',
|
|
{
|
|
argsIgnorePattern: '^_',
|
|
varsIgnorePattern: '^_'
|
|
}
|
|
]
|
|
}
|
|
},
|
|
|
|
// Prettier (disable conflicting rules)
|
|
prettier
|
|
);
|