Skip to content

Commit

Permalink
⬆ feat(junior): Update linter to v9
Browse files Browse the repository at this point in the history
  • Loading branch information
mcampourcy committed Dec 20, 2024
1 parent 29e69de commit ee23963
Show file tree
Hide file tree
Showing 6 changed files with 378 additions and 470 deletions.
32 changes: 0 additions & 32 deletions junior/.eslintignore

This file was deleted.

60 changes: 0 additions & 60 deletions junior/.eslintrc.cjs

This file was deleted.

2 changes: 1 addition & 1 deletion junior/.template-lintrc.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

module.exports = {
export default {
extends: ['recommended', 'ember-template-lint-plugin-prettier:recommended'],
plugins: ['ember-template-lint-plugin-prettier'],
ignore: ['blueprints/**'],
Expand Down
111 changes: 111 additions & 0 deletions junior/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
import globals from 'globals';
import babelParser from '@babel/eslint-parser';
import emberRecommendedConfig from 'eslint-plugin-ember/configs/recommended';
import emberGjsRecommendedConfig from 'eslint-plugin-ember/configs/recommended-gjs';
import qunitRecommendedConfig from 'eslint-plugin-qunit/configs/recommended';
import prettierRecommendedConfig from 'eslint-plugin-prettier/recommended';
import nRecommendedConfig from 'eslint-plugin-n';
import * as pixRecommendedConfig from '@1024pix/eslint-plugin/config';
import emberParser from 'ember-eslint-parser';
import i18nJsonPlugin from 'eslint-plugin-i18n-json';

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,
},
parser: babelParser,
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
parserOptions: {
requireConfigFile: false,
babelOptions: {
plugins: [['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }]],
},
},
},
},
rules: {
'no-restricted-imports': ['error', { paths: ['lodash'] }],
'no-irregular-whitespace': 'off',
},
},
{
files: ['**/*.gjs'],
languageOptions: {
parser: emberPatchedParser,
sourceType: 'module',
},
},
{
...nRecommendedConfig.configs['flat/recommended'],
files: nodeFiles,

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

ecmaVersion: 5,
sourceType: 'script',
},
},
{
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,
},
}
]
Loading

0 comments on commit ee23963

Please sign in to comment.