Skip to content

Commit

Permalink
sync with ember-cli config
Browse files Browse the repository at this point in the history
  • Loading branch information
SergeAstapov committed Nov 8, 2024
1 parent 822593a commit 14e16b6
Show file tree
Hide file tree
Showing 5 changed files with 3,412 additions and 917 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Install Node
uses: actions/setup-node@v2
with:
node-version: 16.x
node-version: 18.x
cache: npm
- name: Install Dependencies
run: npm ci
Expand All @@ -34,7 +34,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
node-version: 18.x
cache: npm
- name: Install Dependencies
run: npm install --no-shrinkwrap
Expand All @@ -49,7 +49,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16.x
node-version: 18.x
cache: npm
- name: Install Dependencies
run: npm install --no-shrinkwrap
Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
- name: Install Node
uses: actions/setup-node@v2
with:
node-version: 16.x
node-version: 18.x
cache: npm
- name: Install Dependencies
run: npm ci
Expand Down
1 change: 0 additions & 1 deletion blueprints/validator/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
/* eslint-env node */
module.exports = {
description: 'Generates a changeset validator',
};
145 changes: 112 additions & 33 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,53 +1,132 @@
// eslint.config.mjs
/**
* 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 { FlatCompat } from '@eslint/eslintrc';
import emberPlugin from 'eslint-plugin-ember';
import prettierPlugin from 'eslint-plugin-prettier';
import js from '@eslint/js'; // Import ESLint core configs
import globals from 'globals'; // Import globals
import ember from 'eslint-plugin-ember/recommended';
import prettier from 'eslint-plugin-prettier/recommended';
import qunit from 'eslint-plugin-qunit';
import n from 'eslint-plugin-n';

const compat = new FlatCompat({
baseDirectory: import.meta.url,
resolvePluginsRelativeTo: import.meta.url,
recommendedConfig: js.configs.recommended, // Provide recommendedConfig
});
import babelParser from '@babel/eslint-parser';

const esmParserOptions = {
ecmaFeatures: { modules: true },
ecmaVersion: 'latest',
requireConfigFile: false,
babelOptions: {
plugins: [
['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }],
],
},
};

export default [
js.configs.recommended,
prettier,
ember.configs.base,
ember.configs.gjs,
/**
* Ignores must be in their own object
* https://eslint.org/docs/latest/use/configure/ignore
*/
{
ignores: [
'blueprints/validator/files',
'dist/',
'node_modules/',
'coverage/',
'!**/.*',
],
},
/**
* https://eslint.org/docs/latest/use/configure/configuration-files#configuring-linter-options
*/
{
linterOptions: {
reportUnusedDisableDirectives: 'error',
},
},
{
files: ['**/*.js'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module', // Ensure ES module parsing
parser: babelParser,
},
},
{
files: ['**/*.{js,gjs}'],
languageOptions: {
parserOptions: esmParserOptions,
globals: {
...globals.browser,
},
},
},
{
files: ['tests/**/*-test.{js,gjs}'],
plugins: {
ember: emberPlugin,
prettier: prettierPlugin,
qunit,
},
rules: {},
},
// Extend configurations using FlatCompat
...compat.extends(
'eslint:recommended',
'plugin:ember/recommended',
'plugin:prettier/recommended',
),
/**
* CJS node files
*/
{
ignores: [
'node_modules/',
'dist/',
'blueprints',
'.prettierrc.cjs',
'.template-lintrc.js',
'config/ember-try.js',
'ember-cli-build.js',
files: [
'**/*.cjs',
'blueprints/**/*.js',
'config/**/*.js',
'tests/dummy/config/**/*.js',
'node-test/**/*.js',
'index.js',
'node-test/',
'config/environment.js',
'tests/dummy/',
'testem.js',
'testem*.js',
'.prettierrc.js',
'.stylelintrc.js',
'.template-lintrc.js',
'ember-cli-build.js',
],
plugins: {
n,
},

languageOptions: {
sourceType: 'script',
ecmaVersion: 'latest',
globals: {
...globals.mocha,
...globals.node,
},
},
},
/**
* ESM node files
*/
{
files: ['**/*.mjs'],
plugins: {
n,
},

languageOptions: {
sourceType: 'module',
ecmaVersion: 'latest',
parserOptions: esmParserOptions,
globals: {
...globals.node,
},
},
},
];
Loading

0 comments on commit 14e16b6

Please sign in to comment.