Skip to content

Commit

Permalink
📦 migrate to new eslint configuration file
Browse files Browse the repository at this point in the history
  • Loading branch information
yaf authored Jan 28, 2025
1 parent 70ffafa commit 8e334f2
Show file tree
Hide file tree
Showing 5 changed files with 137 additions and 128 deletions.
30 changes: 0 additions & 30 deletions admin/.eslintignore

This file was deleted.

66 changes: 0 additions & 66 deletions admin/.eslintrc.cjs

This file was deleted.

127 changes: 127 additions & 0 deletions admin/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
import pixRecommendedConfig from '@1024pix/eslint-plugin/config';
import babelParser from '@babel/eslint-parser';
import emberParser from 'ember-eslint-parser';
import emberRecommendedConfig from 'eslint-plugin-ember/configs/recommended';
import emberGjsRecommendedConfig from 'eslint-plugin-ember/configs/recommended-gjs';
import i18nJsonPlugin from 'eslint-plugin-i18n-json';
import nRecommendedConfig from 'eslint-plugin-n';
import prettierRecommendedConfig from 'eslint-plugin-prettier/recommended';
import qunitRecommendedConfig from 'eslint-plugin-qunit/configs/recommended';
import globals from 'globals';

const unconventionalJsFiles = ['blueprints/**/files/*', 'app/vendor/*'];
const compiledOutputFiles = ['dist/*', 'tmp/*'];
const dependenciesFiles = ['node_modules/*'];
const miscFiles = ['coverage/*', '!**/.*', '**/.eslintcache'];
const emberTryFiles = ['.node_modules.ember-try/*', 'bower.json.ember-try', 'package.json.ember-try'];
const nonPhraseGeneratedFiles = ['translations/en.json', 'translations/fr.json'];

const nodeFiles = [
'eslint.config.js',
'ember-cli-build.js',
'testem.js',
'blueprints/*/index.js',
'config/**/*.js',
'lib/*/index.js',
'server/**/*.js',
];

const emberPatchedParser = Object.assign(
{
meta: {
name: 'ember-eslint-parser',
version: '*',
},
},
emberParser,
);

export default [
...pixRecommendedConfig,
...emberRecommendedConfig,
...emberGjsRecommendedConfig,
qunitRecommendedConfig,
prettierRecommendedConfig,
{
ignores: [...unconventionalJsFiles, ...compiledOutputFiles, ...dependenciesFiles, ...miscFiles, ...emberTryFiles],
},
{
languageOptions: {
globals: {
...globals.browser,
...globals.node,
},
parser: babelParser,
parserOptions: {
sourceType: 'module',
ecmaVersion: 2018,
requireConfigFile: false,
babelOptions: {
plugins: [
[
'@babel/plugin-proposal-decorators',
{
decoratorsBeforeExport: true,
},
],
],
},
},
},

rules: {
'no-irregular-whitespace': 'off',
'no-restricted-imports': ['error', { paths: ['lodash'] }],
'qunit/require-expect': ['error', 'except-simple'],
},
},
{
files: ['**/*.gjs'],
languageOptions: {
parser: emberPatchedParser,
sourceType: 'module',
},
},
{
...nRecommendedConfig.configs['flat/recommended'],
files: nodeFiles,

languageOptions: {
globals: {
...globals.node,
},

ecmaVersion: 5,
sourceType: 'script',
},
rules: {
'n/no-extraneous-import': [
'error',
{
allowModules: ['eslint-plugin-i18n-json'],
},
],
},
},
{
files: ['tests/**/*.js', 'tests/**/*.gjs'],

languageOptions: {
globals: {
...globals.embertest,
server: false,
},
},
},
{
files: nonPhraseGeneratedFiles,
plugins: { 'i18n-json': i18nJsonPlugin },
processor: {
meta: { name: '.json' },
...i18nJsonPlugin.processors['.json'],
},
rules: {
...i18nJsonPlugin.configs.recommended.rules,
},
},
];
37 changes: 7 additions & 30 deletions admin/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions admin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"lint:js:uncached": "eslint .",
"lint:scss": "stylelint app/styles/*.scss 'app/styles/**/*.scss'",
"lint:scss:fix": "npm run lint:scss -- --fix",
"lint:translations": "eslint --ext .json --format node_modules/eslint-plugin-i18n-json/formatter.js translations",
"lint:translations": "eslint --format node_modules/eslint-plugin-i18n-json/formatter.js translations",
"lint:translations:fix": "npm run lint:translations -- --fix",
"preinstall": "npx check-engine",
"dev": "ember serve --proxy http://localhost:3000",
Expand Down Expand Up @@ -128,6 +128,7 @@
},
"ember-dayjs": {
"ember-source": "^5.8.0"
}
},
"globals": "15.11.0"
}
}

0 comments on commit 8e334f2

Please sign in to comment.