Rewrite .eslintrc.tests_newsletter_editor.js to new config format

[MAILPOET-5015]
This commit is contained in:
Jan Jakes
2023-03-24 11:49:19 +01:00
committed by Jan Jakeš
parent 3b321de91e
commit 989fd7d1cb
4 changed files with 48 additions and 24 deletions

View File

@ -1,6 +1,7 @@
const es5Config = require('@mailpoet/eslint-config/eslint-es5.config'); const es5Config = require('@mailpoet/eslint-config/eslint-es5.config');
const es6Config = require('@mailpoet/eslint-config/eslint-es6.config'); const es6Config = require('@mailpoet/eslint-config/eslint-es6.config');
const esTsConfig = require('@mailpoet/eslint-config/eslint-ts.config'); const esTsConfig = require('@mailpoet/eslint-config/eslint-ts.config');
const esTestsNewsletterEditorConfig = require('@mailpoet/eslint-config/eslint-tests-newsletter-editor.config');
module.exports = [ module.exports = [
{ {
@ -18,4 +19,9 @@ module.exports = [
...config, ...config,
files: ['assets/js/src/**/*.{ts,tsx}'], files: ['assets/js/src/**/*.{ts,tsx}'],
})), })),
...esTestsNewsletterEditorConfig.map((config) => ({
...config,
files: ['tests/javascript_newsletter_editor/**/*.js'],
ignores: ['tests/javascript_newsletter_editor/testBundles/**'],
})),
]; ];

View File

@ -4,8 +4,7 @@
"extends @wordpress/browserslist-config" "extends @wordpress/browserslist-config"
], ],
"scripts": { "scripts": {
"lint": "eslint --max-warnings 0 'assets/js/src/**' && pnpm run lint-tests", "lint": "eslint --max-warnings 0 'assets/js/src/**' 'tests/javascript_newsletter_editor/**'",
"lint-tests": "ESLINT_USE_FLAT_CONFIG=false eslint -c ../packages/js/eslint-config/.eslintrc.tests_newsletter_editor.js --max-warnings 0 'tests/javascript_newsletter_editor'",
"autoprefixer": "postcss assets/dist/css/*.css --use autoprefixer --no-map --replace", "autoprefixer": "postcss assets/dist/css/*.css --use autoprefixer --no-map --replace",
"scss": "sass assets/css/src/:assets/dist/css/ --style compressed", "scss": "sass assets/css/src/:assets/dist/css/ --style compressed",
"stylelint": "stylelint --fix", "stylelint": "stylelint --fix",
@ -19,8 +18,7 @@
}, },
"lint-staged": { "lint-staged": {
"*.{scss,css}": "pnpm run stylelint", "*.{scss,css}": "pnpm run stylelint",
"!(*spec).{js,jsx,ts,tsx}": "eslint --max-warnings 0", "*.{js,jsx,ts,tsx}": "eslint --max-warnings 0",
"**/newsletter_editor/**/*spec.js": "ESLINT_USE_FLAT_CONFIG=false eslint -c ../packages/js/eslint-config/.eslintrc.tests_newsletter_editor.js --max-warnings 0",
"*.php": [ "*.php": [
"phplint", "phplint",
"./do qa:code-sniffer", "./do qa:code-sniffer",

View File

@ -1,20 +0,0 @@
module.exports = {
extends: ['airbnb/legacy', 'prettier'],
env: {
amd: true,
mocha: true,
},
parser: '@babel/eslint-parser',
parserOptions: {
ecmaVersion: 6,
sourceType: 'module',
},
rules: {
'no-only-tests/no-only-tests': 2,
// Exceptions
'func-names': 0,
// Temporary
'no-underscore-dangle': 0,
},
plugins: ['no-only-tests'],
};

View File

@ -0,0 +1,40 @@
const babelParser = require('@babel/eslint-parser');
const FlatCompat = require('@eslint/eslintrc').FlatCompat;
const airbnbLegacyConfig = require('eslint-config-airbnb/legacy');
const prettierConfig = require('eslint-config-prettier');
const importPlugin = require('eslint-plugin-import');
const noOnlyTestsPlugin = require('eslint-plugin-no-only-tests');
const globals = require('globals');
// compat configs
const compat = new FlatCompat({ baseDirectory: __dirname });
const airbnbLegacyCompatConfig = compat.config(airbnbLegacyConfig);
const prettierCompatConfig = compat.config(prettierConfig);
module.exports = [
...airbnbLegacyCompatConfig,
...prettierCompatConfig,
{
languageOptions: {
parser: babelParser,
parserOptions: {
ecmaVersion: 6,
sourceType: 'module',
},
globals: {
...globals.mocha,
},
},
plugins: {
import: importPlugin,
'no-only-tests': noOnlyTestsPlugin,
},
rules: {
'no-only-tests/no-only-tests': 2,
// Exceptions
'func-names': 0,
// Temporary
'no-underscore-dangle': 0,
},
},
];