Skip to content

Commit 00c150a

Browse files
authored
Merge pull request #988 from forcedotcom/d/W-12608309
FIX (ESLint): @W-12608309@: Fixed import for relocated ESLint configs.
2 parents 86f5ba9 + 495c595 commit 00c150a

File tree

5 files changed

+384
-339
lines changed

5 files changed

+384
-339
lines changed

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"dependencies": {
88
"@babel/core": "^7.11.0",
99
"@babel/eslint-parser": "^7",
10+
"@eslint/js": "^8.35.0",
1011
"@lwc/eslint-plugin-lwc": "^1.1.2",
1112
"@oclif/command": "^1",
1213
"@oclif/config": "^1",
@@ -19,7 +20,7 @@
1920
"@typescript-eslint/parser": "^5.14.0",
2021
"cross-spawn": "^7.0.3",
2122
"csv-stringify": "^6.0.5",
22-
"eslint": "^8.10.0",
23+
"eslint": "^8.35.0",
2324
"eslint-plugin-import": "^2.25.4",
2425
"eslint-plugin-jest": "^26.1.1",
2526
"find-java-home": "1.2.2",
@@ -75,7 +76,7 @@
7576
"@types/uuid": "^8.3.4",
7677
"chai": "^4",
7778
"cross-env": "^7.0.3",
78-
"eslint": "^8.10.0",
79+
"eslint": "^8.35.0",
7980
"mocha": "^9",
8081
"mocha-junit-reporter": "^2.0.0",
8182
"nyc": "^15.0.0",

src/lib/eslint/JavascriptEslintStrategy.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import {ENGINE, LANGUAGE, HARDCODED_RULES} from '../../Constants';
33
import {ESRule, ESRuleConfigValue, ESRuleConfig, RuleViolation} from '../../types';
44
import { Logger } from '@salesforce/core';
55
import {EslintStrategyHelper, ProcessRuleViolationType, RuleDefaultStatus} from './EslintCommons';
6-
import path = require('path');
76
import {ESLint} from 'eslint';
7+
import {configs} from '@eslint/js';
88

99
const ES_CONFIG: ESLint.Options = {
1010
"baseConfig": {},
@@ -41,8 +41,8 @@ export class JavascriptEslintStrategy implements EslintStrategy {
4141
this.logger = await Logger.child(this.getEngine().valueOf());
4242
// When we're building our catalog, we'll want to get any bonus configuration straight from the horse's mouth.
4343
// This lets us do that.
44-
const pathToRecommendedConfig = require.resolve('eslint').replace(path.join('lib', 'api.js'), path.join('conf', 'eslint-recommended.js'));
45-
this.recommendedConfig = (await import(pathToRecommendedConfig)) as ESRuleConfig;
44+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
45+
this.recommendedConfig = configs.recommended as ESRuleConfig;
4646
this.initialized = true;
4747
}
4848

src/lib/eslint/TypescriptEslintStrategy.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {deepCopy} from '../util/Utils';
99
import { rules } from '@typescript-eslint/eslint-plugin';
1010
import {EslintStrategyHelper, ProcessRuleViolationType, RuleDefaultStatus} from './EslintCommons';
1111
import {ESLint} from 'eslint';
12+
import {configs} from '@eslint/js';
1213

1314
Messages.importMessagesDirectory(__dirname);
1415
const messages = Messages.loadMessages('@salesforce/sfdx-scanner', 'TypescriptEslintStrategy');
@@ -61,9 +62,8 @@ export class TypescriptEslintStrategy implements EslintStrategy {
6162
this.logger = await Logger.child(this.getEngine().valueOf());
6263
this.fileHandler = new FileHandler();
6364
this.outputProcessor = await OutputProcessor.create({});
64-
const pathToBaseConfig = require.resolve('eslint')
65-
.replace(path.join('lib', 'api.js'), path.join('conf', 'eslint-recommended.js'));
66-
this.baseEslintConfig = (await import(pathToBaseConfig)) as ESRuleConfig;
65+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
66+
this.baseEslintConfig = configs.recommended as ESRuleConfig;
6767

6868
const pathToExtendedBaseConfig = require.resolve('@typescript-eslint/eslint-plugin')
6969
.replace('index.js', path.join('configs', 'eslint-recommended.js'));

test/code-fixtures/projects/js/.eslintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"root": true
2+
"root": true,
33
"extends": ["eslint:recommended"],
44
"parserOptions": {
55
"sourceType": "module",

0 commit comments

Comments
 (0)