Skip to content

Commit

Permalink
Updated eslint to v9 (#55)
Browse files Browse the repository at this point in the history
* chore: Updated dependencies

* chore: Updated eslint to v9

* chore: Added lockfile

---------

Co-authored-by: ijlee2 <[email protected]>
  • Loading branch information
ijlee2 and ijlee2 authored Feb 4, 2025
1 parent 47d93e0 commit 6b0a603
Show file tree
Hide file tree
Showing 6 changed files with 868 additions and 558 deletions.
13 changes: 0 additions & 13 deletions .eslintignore

This file was deleted.

68 changes: 0 additions & 68 deletions .eslintrc.cjs

This file was deleted.

5 changes: 2 additions & 3 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
/.DS_Store
/.env*
/.eslintcache
/.eslintignore
/.eslintrc.cjs
/.git/
/.github/
/.gitignore
Expand All @@ -19,5 +17,6 @@
/.prettierrc.cjs
/build.sh
/CONTRIBUTING.md
/update-test-fixtures.sh
/eslint.config.js
/tests/
/update-test-fixtures.sh
137 changes: 137 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
import babelEslintParser from '@babel/eslint-parser';
import eslint from '@eslint/js';
import eslintPluginImport from 'eslint-plugin-import';
import eslintPluginN from 'eslint-plugin-n';
import eslintPluginPrettier from 'eslint-plugin-prettier/recommended';
import eslintPluginSimpleImportSort from 'eslint-plugin-simple-import-sort';
import eslintPluginTypescriptSortKeys from 'eslint-plugin-typescript-sort-keys';
import globals from 'globals';
// eslint-disable-next-line import/no-unresolved
import tseslint from 'typescript-eslint';

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

const parserOptionsTs = {
projectService: true,
tsconfigRootDir: import.meta.dirname,
};

export default tseslint.config(
{
ignores: [
'dist/',
'dist-for-testing/',
'node_modules/',
'src/blueprints/',
'tests/fixtures/',
'tmp/',
'!.*',
'.*/',
],
},

{
linterOptions: {
reportUnusedDisableDirectives: 'error',
},
},
{
plugins: {
'simple-import-sort': eslintPluginSimpleImportSort,
},
rules: {
curly: 'error',
'simple-import-sort/imports': 'error',
'simple-import-sort/exports': 'error',
},
},
eslint.configs.recommended,
eslintPluginImport.flatConfigs.recommended,
eslintPluginPrettier,

// JavaScript files
{
files: ['**/*.js'],
languageOptions: {
parser: babelEslintParser,
parserOptions: parserOptionsJs,
},
rules: {
'import/no-duplicates': 'error',
},
},

// TypeScript files
{
extends: [
...tseslint.configs.recommended,
eslintPluginImport.flatConfigs.typescript,
],
files: ['**/*.ts'],
languageOptions: {
parserOptions: parserOptionsTs,
},
plugins: {
'typescript-sort-keys': eslintPluginTypescriptSortKeys,
},
rules: {
'@typescript-eslint/array-type': 'error',
'@typescript-eslint/consistent-type-imports': 'error',
'@typescript-eslint/no-import-type-side-effects': 'error',
'import/no-duplicates': 'error',
'typescript-sort-keys/interface': 'error',
'typescript-sort-keys/string-enum': 'error',
},
settings: {
'import/resolver': {
node: true,
typescript: true,
},
},
},

// Node files
{
files: ['**/*.cjs'],
languageOptions: {
ecmaVersion: 'latest',
globals: {
...globals.node,
},
sourceType: 'script',
},
plugins: {
n: eslintPluginN,
},
},
{
files: ['**/*.mjs'],
languageOptions: {
ecmaVersion: 'latest',
globals: {
...globals.node,
},
parserOptions: parserOptionsJs,
sourceType: 'module',
},
plugins: {
n: eslintPluginN,
},
},
);
36 changes: 20 additions & 16 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,37 +39,41 @@
"test": "./build.sh --test && mt dist-for-testing --quiet"
},
"dependencies": {
"@codemod-utils/ast-javascript": "^1.2.9",
"@codemod-utils/ast-template": "^1.1.5",
"@codemod-utils/blueprints": "^1.1.6",
"@codemod-utils/ember": "^2.0.1",
"@codemod-utils/files": "^2.0.5",
"@codemod-utils/ast-javascript": "^1.2.11",
"@codemod-utils/ast-template": "^1.1.7",
"@codemod-utils/blueprints": "^1.1.8",
"@codemod-utils/ember": "^2.0.3",
"@codemod-utils/files": "^2.0.7",
"yargs": "^17.7.2"
},
"devDependencies": {
"@babel/core": "^7.26.0",
"@codemod-utils/tests": "^1.1.8",
"@babel/core": "^7.26.7",
"@babel/eslint-parser": "^7.26.5",
"@babel/plugin-proposal-decorators": "^7.25.9",
"@codemod-utils/tests": "^1.1.10",
"@eslint/js": "^9.19.0",
"@sondr3/minitest": "^0.1.2",
"@tsconfig/node18": "^18.2.4",
"@tsconfig/strictest": "^2.0.5",
"@types/node": "^18.19.68",
"@types/eslint__js": "^8.42.3",
"@types/node": "^18.19.75",
"@types/yargs": "^17.0.33",
"@typescript-eslint/eslint-plugin": "^8.18.2",
"@typescript-eslint/parser": "^8.18.2",
"concurrently": "^9.1.0",
"eslint": "^8.57.1",
"eslint-config-prettier": "^9.1.0",
"concurrently": "^9.1.2",
"eslint": "^9.19.0",
"eslint-config-prettier": "^10.0.1",
"eslint-import-resolver-typescript": "^3.7.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-n": "^17.15.1",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-simple-import-sort": "^12.1.1",
"eslint-plugin-typescript-sort-keys": "^3.3.0",
"globals": "^15.14.0",
"lerna-changelog": "^2.2.0",
"prettier": "^3.4.2",
"typescript": "^5.7.2"
"typescript": "^5.7.3",
"typescript-eslint": "^8.23.0"
},
"packageManager": "[email protected].1",
"packageManager": "[email protected].5",
"engines": {
"node": "18.* || >= 20"
},
Expand Down
Loading

0 comments on commit 6b0a603

Please sign in to comment.