_...,
,:^;,...;
-+===;. ,,--++====++-,,, .: /.....,
:::::~+++++#:,+#++++++++++++++++++#*..: /,......
(,,,,,,::=+++##++++++++++++++++++++++#. :....../
...,,,,,::++++++++++++++++++++++++++++++*..,...:
*..+...,#@@@@@@@@@++++++++++++++++++++++#*....*
@#,;##############@@@+*+#@@@@@@@@@@#*++#..<
*@##@@+,-*^^^*-+@####@@@######@@@#####@@,,,+
@#@* @#@@@@#@@+--*^^*--#@@@@@@#
@#@. @# @##+++@#, .@@#@@
#@# @@ +@@++++#@@ @@ :@@
:@#* @#@++++++@#* #@ @@+
:*+@@#;,.__.+@#@+,-^^.++@# @@++
;* :*@@@##@@@@;++r._j^.+@##@+,.__,,@@++.
/* ........+++++++++++++#@@@@@###@@#++++,
,: ...,@@@#++===----==@@@####,,....+++++
.: ......@@##@\ ; :@####@,,...... +++.
; .........@###, ; ;xx#@;,,..... *;+,
| ........,*;xxxx--^--=xxx,........ :+#;
; ......,,;xxxxxxxxxxxxx;,..... *+#
; ......,::xxxx;. ...... +. .
*; ......... +### .... / ,. /:| ,.
.+: ... ;##++##, . ,#. (..v..;*./
** ## ###* .:*&&&+. \.,....<,
#&+**==-..,,__ ;## ### :,*+&&&&&&&v+#&,,.._/
#&&&&*...,::,,. ##; ,##* .*****;:&&&&&&&&&
,+*+;~*..*** *.* ### ###* ******* *+#&;*
##,;## **** :, **
##### ## ### ###, ######## .##### ;## ##
####### ;## #### ,###. ########## ######## ### ####
### ### ### ########## #### #### ,## ### #######*
### ,### ##############: ## ### #### ,## :#### ### ##;
########## ########### ## .## ,### ####### ##### :######
###### .###### #### ## ### ### ######* :##### ####
############# #### ################ ######## ###
#####* *#* #: :### *###* *#### #*
104 lines
2.1 KiB
JavaScript
104 lines
2.1 KiB
JavaScript
/**
|
|
* Debugging:
|
|
* https://eslint.org/docs/latest/use/configure/debug
|
|
* ----------------------------------------------------
|
|
*
|
|
* Print a file's calculated configuration
|
|
*
|
|
* npx eslint --print-config path/to/file.js
|
|
*
|
|
* Inspecting the config
|
|
*
|
|
* npx eslint --inspect-config
|
|
*
|
|
*/
|
|
import globals from 'globals';
|
|
import js from '@eslint/js';
|
|
import { defineConfig, globalIgnores } from 'eslint/config';
|
|
|
|
import ember from 'eslint-plugin-ember/recommended';
|
|
import WarpDrive from 'eslint-plugin-warp-drive/recommended';
|
|
import eslintConfigPrettier from 'eslint-config-prettier';
|
|
import qunit from 'eslint-plugin-qunit';
|
|
import n from 'eslint-plugin-n';
|
|
|
|
import babelParser from '@babel/eslint-parser/experimental-worker';
|
|
|
|
const esmParserOptions = {
|
|
ecmaFeatures: { modules: true },
|
|
ecmaVersion: 'latest',
|
|
};
|
|
|
|
export default defineConfig([
|
|
globalIgnores(['dist/', 'coverage/', '!**/.*']),
|
|
js.configs.recommended,
|
|
eslintConfigPrettier,
|
|
ember.configs.base,
|
|
ember.configs.gjs,
|
|
...WarpDrive,
|
|
/**
|
|
* https://eslint.org/docs/latest/use/configure/configuration-files#configuring-linter-options
|
|
*/
|
|
{
|
|
linterOptions: {
|
|
reportUnusedDisableDirectives: 'error',
|
|
},
|
|
},
|
|
{
|
|
files: ['**/*.js'],
|
|
languageOptions: {
|
|
parser: babelParser,
|
|
},
|
|
},
|
|
{
|
|
files: ['**/*.{js,gjs}'],
|
|
languageOptions: {
|
|
parserOptions: esmParserOptions,
|
|
globals: {
|
|
...globals.browser,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
files: ['tests/**/*-test.{js,gjs}'],
|
|
plugins: {
|
|
qunit,
|
|
},
|
|
},
|
|
/**
|
|
* CJS node files
|
|
*/
|
|
{
|
|
files: ['**/*.cjs', 'config/**/*.js', 'ember-cli-build.js'],
|
|
plugins: {
|
|
n,
|
|
},
|
|
|
|
languageOptions: {
|
|
sourceType: 'script',
|
|
ecmaVersion: 'latest',
|
|
globals: {
|
|
...globals.node,
|
|
},
|
|
},
|
|
},
|
|
/**
|
|
* ESM node files
|
|
*/
|
|
{
|
|
files: ['**/*.mjs'],
|
|
plugins: {
|
|
n,
|
|
},
|
|
|
|
languageOptions: {
|
|
sourceType: 'module',
|
|
ecmaVersion: 'latest',
|
|
parserOptions: esmParserOptions,
|
|
globals: {
|
|
...globals.node,
|
|
},
|
|
},
|
|
},
|
|
]);
|