Skip to content

Commit

Permalink
feat(eslint): upgrade eslint 9 (#116)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jorciney authored Nov 2, 2024
1 parent 506dba7 commit 8c40fcb
Show file tree
Hide file tree
Showing 20 changed files with 5,386 additions and 15,728 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
build_and_test:
strategy:
matrix:
node: ['16', '18', '20']
node: ['18', '20']
os: ['ubuntu-latest', 'windows-latest']

name: Node ${{ matrix.node }} on ${{ matrix.os }}
Expand Down
21,008 changes: 5,331 additions & 15,677 deletions package-lock.json

Large diffs are not rendered by default.

24 changes: 12 additions & 12 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,36 +28,36 @@
},
"dependencies": {
"eslint-utils": "^3.0.0",
"jsdom": "^23.0.1",
"jsdom": "^25.0.0",
"tsutils": "^3.21.0"
},
"peerDependencies": {
"@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0",
"@typescript-eslint/parser": "^5.0.0 || ^6.0.0",
"eslint": "<9 && ^8.0.0",
"@typescript-eslint/eslint-plugin": "^7.0.0 || ^8.0.0",
"@typescript-eslint/parser": "^7.0.0 || ^8.0.0",
"eslint": "^8.0.0 || ^9.0.0",
"eslint-plugin-react": "^7.0.0",
"typescript": "^4.9.4 || ^5.0.0"
},
"devDependencies": {
"@types/eslint": "^8.40.2",
"@types/eslint": "9.6.1",
"@types/estree": "^1.0.1",
"@types/jest": "^29.5.2",
"@types/jsdom": "^21.1.6",
"@types/node": "^20.10.5",
"@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0",
"@typescript-eslint/parser": "^5.0.0 || ^6.0.0",
"eslint": "^8.44.0",
"@rollup/plugin-node-resolve": "^15.2.3",
"@typescript-eslint/eslint-plugin": "^7.0.0 || ^8.5.0",
"@typescript-eslint/parser": "^7.0.0 || ^8.5.0",
"eslint": "^9.10.0",
"eslint-plugin-react": "^7.32.2",
"jest": "^29.5.0",
"jest-cli": "^29.5.0",
"np": "^8.0.4",
"rollup": "^2.79.1",
"rollup-plugin-node-resolve": "^5.2.0",
"np": "^10.0.7",
"rollup": "^4.21.2",
"ts-jest": "^29.1.1",
"typescript": "^5.1.6"
},
"engines": {
"node": ">=16.20.2"
"node": ">=18.0.0"
},
"repository": {
"type": "git",
Expand Down
3 changes: 2 additions & 1 deletion rollup.config.js → rollup.config.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import nodeResolve from 'rollup-plugin-node-resolve';
import nodeResolve from "@rollup/plugin-node-resolve";

export default {
input: 'dist/build/index.js',
plugins: [
Expand Down
2 changes: 1 addition & 1 deletion src/rules/async-methods.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const rule: Rule.RuleModule = {

create(context): Rule.RuleListener {
const stencil = stencilComponentContext();
const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;
const typeChecker = parserServices.program.getTypeChecker() as ts.TypeChecker;

return {
Expand Down
2 changes: 1 addition & 1 deletion src/rules/class-pattern.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ const rule: Rule.RuleModule = {

create(context): Rule.RuleListener {
const stencil = stencilComponentContext();
const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;

return {
...stencil.rules,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/decorators-style.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ const rule: Rule.RuleModule = {
create(context): Rule.RuleListener {
const stencil = stencilComponentContext();

const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;
const opts = context.options[0] || {};
const options = { ...DEFAULTS, ...opts };

Expand Down
2 changes: 1 addition & 1 deletion src/rules/methods-must-be-public.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const rule: Rule.RuleModule = {

create(context): Rule.RuleListener {
const stencil = stencilComponentContext();
const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;
return {
...stencil.rules,
'MethodDefinition[kind=method]': (node: any) => {
Expand Down
2 changes: 1 addition & 1 deletion src/rules/no-unused-watch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const rule: Rule.RuleModule = {
create(context): Rule.RuleListener {
const stencil = stencilComponentContext();

const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;

function getVars(node: any) {
if (!stencil.isComponent()) {
Expand Down
4 changes: 2 additions & 2 deletions src/rules/own-methods-must-be-private.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const rule: Rule.RuleModule = {
create(context): Rule.RuleListener {
const stencil = stencilComponentContext();

const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;
return {
...stencil.rules,
"MethodDefinition[kind=method]": (node: any) => {
Expand Down Expand Up @@ -63,4 +63,4 @@ const rule: Rule.RuleModule = {
},
};

export default rule;
export default rule;
4 changes: 2 additions & 2 deletions src/rules/own-props-must-be-private.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const rule: Rule.RuleModule = {
create(context): Rule.RuleListener {
const stencil = stencilComponentContext();

const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;
return {
...stencil.rules,
PropertyDefinition: (node: any) => {
Expand Down Expand Up @@ -60,4 +60,4 @@ const rule: Rule.RuleModule = {
},
};

export default rule;
export default rule;
2 changes: 1 addition & 1 deletion src/rules/props-must-be-public.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ const rule: Rule.RuleModule = {
create(context): Rule.RuleListener {
const stencil = stencilComponentContext();

const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;
return {
...stencil.rules,
'PropertyDefinition': (node: any) => {
Expand Down
2 changes: 1 addition & 1 deletion src/rules/props-must-be-readonly.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const rule: Rule.RuleModule = {
create(context): Rule.RuleListener {
const stencil = stencilComponentContext();

const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;
return {
...stencil.rules,
'PropertyDefinition': (node: any) => {
Expand Down
2 changes: 1 addition & 1 deletion src/rules/render-returns-host.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const rule: Rule.RuleModule = {
//----------------------------------------------------------------------

const stencil = stencilComponentContext();
const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;
const typeChecker = parserServices.program.getTypeChecker() as ts.TypeChecker;

return {
Expand Down
2 changes: 1 addition & 1 deletion src/rules/required-jsdoc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const rule: Rule.RuleModule = {
create(context): Rule.RuleListener {
const stencil = stencilComponentContext();

const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;

function getJSDoc(node: any) {
if (!stencil.isComponent()) {
Expand Down
2 changes: 1 addition & 1 deletion src/rules/single-export.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const rule: Rule.RuleModule = {
},

create(context): Rule.RuleListener {
const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;
const typeChecker = parserServices.program.getTypeChecker() as ts.TypeChecker;
return {
'ClassDeclaration': (node: any) => {
Expand Down
4 changes: 2 additions & 2 deletions src/rules/strict-boolean-conditions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ const rule: Rule.RuleModule = {
},

create(context): Rule.RuleListener {
const parserServices = context.parserServices;
const parserServices = context.sourceCode.parserServices;
const program = parserServices.program;
const rawOptions = context.options[0] || ['allow-null-union', 'allow-undefined-union', 'allow-boolean-or-undefined']
const options = parseOptions(rawOptions, true);
Expand Down Expand Up @@ -445,4 +445,4 @@ declare module "typescript" {
}
}

export default rule;
export default rule;
32 changes: 17 additions & 15 deletions tests/lib/rules/rule-tester.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
import { RuleTester } from 'eslint';
import {RuleTester} from 'eslint';
import * as path from 'path';

export const ruleTester = new RuleTester({
parser: path.resolve(__dirname, '../../../node_modules/@typescript-eslint/parser/dist/parser.js'),
parserOptions: {
ecmaVersion: 2017,
sourceType: 'module',
ecmaFeatures: {
jsx: true
},
project: path.resolve(__dirname, '../../tsconfig.json'),
extraFileExtensions: ['.ts', '.tsx'],
env: {
browser: true,
node: true,
es6: true
languageOptions: {
parser: require(path.resolve(__dirname, '../../../node_modules/@typescript-eslint/parser/dist/parser.js')),
parserOptions: {
ecmaVersion: 2022,
sourceType: 'module',
ecmaFeatures: {
jsx: true
},
project: path.resolve(__dirname, '../../tsconfig.json'),
extraFileExtensions: ['.ts', '.tsx'],
env: {
browser: true,
node: true,
es6: true
}
}
}
}
});
7 changes: 4 additions & 3 deletions tests/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,18 @@
"dom",
"scripthost",
"es2017",
"es2019"
"es2019",
"es2022"
],
"module": "esnext",
"module": "es2022",
"moduleResolution": "node",
"noImplicitAny": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"resolveJsonModule": true,
"strict": true,
"strictNullChecks": true,
"target": "es2017"
"target": "es2022"
},
"include": [
"lib",
Expand Down
6 changes: 3 additions & 3 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
"declaration": false,
"esModuleInterop": true,
"experimentalDecorators": true,
"module": "esnext",
"module": "es2022",
"moduleResolution": "node",
"strict": true,
"target": "es2017",
"target": "es2022",
"outDir": "dist/build",
"lib": ["es2017"]
"lib": ["es2022"]
},
"files": ["src/index.ts"],
}

0 comments on commit 8c40fcb

Please sign in to comment.