1+ import { defineConfig , globalIgnores } from 'eslint/config'
12import globals from 'globals'
2- import pluginJs from '@eslint/js'
3- import eslintPluginJsonc from 'eslint-plugin-jsonc'
4- import stylistic from '@stylistic/eslint-plugin'
5- import mochaPlugin from 'eslint-plugin-mocha'
3+ import js from '@eslint/js'
4+ import pluginMocha from 'eslint-plugin-mocha'
65import pluginCypress from 'eslint-plugin-cypress'
6+ import stylistic from '@stylistic/eslint-plugin'
7+ import json from '@eslint/json'
78
8- export default [
9- pluginJs . configs . recommended ,
10- ...eslintPluginJsonc . configs [ 'flat/recommended-with-json' ] ,
11- mochaPlugin . configs . recommended ,
12- pluginCypress . configs . recommended ,
13- stylistic . configs . recommended ,
14- {
15- ignores : [ 'app/assets/js/{vendor,todo}/' ] ,
16- } ,
9+ export default defineConfig ( [
10+ globalIgnores ( [ 'app/assets/js/{vendor,todo}/' ] ) ,
1711 {
12+ files : [ '**/*.{,m}js' ] ,
13+ extends : [
14+ js . configs . recommended ,
15+ pluginMocha . configs . recommended ,
16+ pluginCypress . configs . recommended ,
17+ stylistic . configs . recommended ,
18+ ] ,
1819 rules : {
1920 '@stylistic/arrow-parens' : [ 'error' , 'always' ] ,
2021 '@stylistic/comma-dangle' : [ 'error' , 'always-multiline' ] ,
@@ -27,9 +28,14 @@ export default [
2728 'mocha/no-mocha-arrows' : 'off' ,
2829 } ,
2930 languageOptions : {
30- globals : {
31- ...globals . node ,
32- } ,
31+ globals : globals . node ,
3332 } ,
3433 } ,
35- ]
34+ {
35+ files : [ '**/*.json' ] ,
36+ ignores : [ 'package-lock.json' ] ,
37+ plugins : { json } ,
38+ language : 'json/json' ,
39+ extends : [ 'json/recommended' ] ,
40+ } ,
41+ ] )
0 commit comments