Skip to content

Commit 2b625c8

Browse files
authored
Merge pull request #3173 from github/koesie10/eslint-plugin-import
Add `eslint-plugin-import`
2 parents 5ea1438 + 7a7092d commit 2b625c8

File tree

16 files changed

+160
-93
lines changed

16 files changed

+160
-93
lines changed

extensions/ql-vscode/.eslintrc.js

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ const baseConfig = {
2727
"plugin:jest-dom/recommended",
2828
"plugin:prettier/recommended",
2929
"plugin:@typescript-eslint/recommended",
30+
"plugin:import/recommended",
31+
"plugin:import/typescript",
3032
],
3133
rules: {
3234
"@typescript-eslint/await-thenable": "error",
@@ -57,22 +59,26 @@ const baseConfig = {
5759
"filenames/match-regexp": "off",
5860
"func-style": "off",
5961
"i18n-text/no-en": "off",
60-
"import/named": "off",
61-
"import/no-dynamic-require": "off",
62-
"import/no-dynamic-required": "off",
63-
"import/no-anonymous-default-export": "off",
64-
"import/no-commonjs": "off",
65-
"import/no-mutable-exports": "off",
66-
"import/no-namespace": "off",
67-
"import/no-unresolved": "off",
68-
"import/no-webpack-loader-syntax": "off",
6962
"no-invalid-this": "off",
7063
"no-fallthrough": "off",
7164
"no-console": "off",
7265
"no-shadow": "off",
7366
"github/array-foreach": "off",
7467
"github/no-then": "off",
7568
"react/jsx-key": ["error", { checkFragmentShorthand: true }],
69+
"import/no-cycle": "off",
70+
"import/no-namespace": "off",
71+
// Never allow extensions in import paths, except for JSON files where they are required.
72+
"import/extensions": ["error", "never", { json: "always" }],
73+
},
74+
settings: {
75+
"import/resolver": {
76+
typescript: true,
77+
node: true,
78+
},
79+
"import/extensions": [".js", ".jsx", ".ts", ".tsx", ".json"],
80+
// vscode and sarif don't exist on-disk, but only provide types.
81+
"import/core-modules": ["vscode", "sarif"],
7682
},
7783
};
7884

extensions/ql-vscode/.storybook/vscode-theme-addon/withTheme.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,27 @@ import { VSCodeTheme } from "./theme";
88

99
const themeFiles: { [key in VSCodeTheme]: string } = {
1010
[VSCodeTheme.Dark]:
11-
// eslint-disable-next-line @typescript-eslint/no-var-requires
11+
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
1212
require("!file-loader?modules!../../src/stories/vscode-theme-dark.css")
1313
.default,
1414
[VSCodeTheme.Light]:
15-
// eslint-disable-next-line @typescript-eslint/no-var-requires
15+
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
1616
require("!file-loader?modules!../../src/stories/vscode-theme-light.css")
1717
.default,
1818
[VSCodeTheme.LightHighContrast]:
19-
// eslint-disable-next-line @typescript-eslint/no-var-requires
19+
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
2020
require("!file-loader?modules!../../src/stories/vscode-theme-light-high-contrast.css")
2121
.default,
2222
[VSCodeTheme.DarkHighContrast]:
23-
// eslint-disable-next-line @typescript-eslint/no-var-requires
23+
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
2424
require("!file-loader?modules!../../src/stories/vscode-theme-dark-high-contrast.css")
2525
.default,
2626
[VSCodeTheme.GitHubLightDefault]:
27-
// eslint-disable-next-line @typescript-eslint/no-var-requires
27+
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
2828
require("!file-loader?modules!../../src/stories/vscode-theme-github-light-default.css")
2929
.default,
3030
[VSCodeTheme.GitHubDarkDefault]:
31-
// eslint-disable-next-line @typescript-eslint/no-var-requires
31+
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
3232
require("!file-loader?modules!../../src/stories/vscode-theme-github-dark-default.css")
3333
.default,
3434
};

extensions/ql-vscode/gulpfile.ts/appInsights.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { src, dest } from "gulp";
2-
// eslint-disable-next-line @typescript-eslint/no-var-requires
2+
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs
33
const replace = require("gulp-replace");
44

55
/** Inject the application insights key into the telemetry file */

extensions/ql-vscode/gulpfile.ts/typescript.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { gray, red } from "ansi-colors";
22
import { dest, src, watch } from "gulp";
33
import esbuild from "gulp-esbuild";
4-
import ts from "gulp-typescript";
4+
import { createProject, reporter } from "gulp-typescript";
55
import del from "del";
66

7-
function goodReporter(): ts.reporter.Reporter {
7+
function goodReporter(): reporter.Reporter {
88
return {
99
error: (error, typescript) => {
1010
if (error.tsFile) {
@@ -27,7 +27,7 @@ function goodReporter(): ts.reporter.Reporter {
2727
};
2828
}
2929

30-
const tsProject = ts.createProject("tsconfig.json");
30+
const tsProject = createProject("tsconfig.json");
3131

3232
export function cleanOutput() {
3333
return tsProject.projectDirectory

extensions/ql-vscode/gulpfile.ts/webpack.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import webpack from "webpack";
1+
import { Configuration, Stats, webpack } from "webpack";
22
import { config } from "./webpack.config";
33

44
export function compileView(cb: (err?: Error) => void) {
@@ -18,11 +18,11 @@ export function watchView(cb: (err?: Error) => void) {
1818
}
1919

2020
function doWebpack(
21-
internalConfig: webpack.Configuration,
21+
internalConfig: Configuration,
2222
failOnError: boolean,
2323
cb: (err?: Error) => void,
2424
) {
25-
const resultCb = (error: Error | undefined, stats?: webpack.Stats) => {
25+
const resultCb = (error: Error | undefined, stats?: Stats) => {
2626
if (error) {
2727
cb(error);
2828
}

extensions/ql-vscode/jest.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*/
55

66
/** @type {import('@jest/types').Config.InitialOptions} */
7+
// eslint-disable-next-line import/no-commonjs
78
module.exports = {
89
projects: [
910
"<rootDir>/src/view",

extensions/ql-vscode/package-lock.json

Lines changed: 55 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

extensions/ql-vscode/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2005,8 +2005,10 @@
20052005
"del": "^6.0.0",
20062006
"eslint": "^8.56.0",
20072007
"eslint-config-prettier": "^9.0.0",
2008+
"eslint-import-resolver-typescript": "^3.6.1",
20082009
"eslint-plugin-etc": "^2.0.2",
20092010
"eslint-plugin-github": "^4.4.1",
2011+
"eslint-plugin-import": "^2.29.1",
20102012
"eslint-plugin-jest-dom": "^5.0.1",
20112013
"eslint-plugin-prettier": "^5.0.0",
20122014
"eslint-plugin-react": "^7.31.8",

extensions/ql-vscode/src/common/vscode/telemetry.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ export class ExtensionTelemetryListener
275275
/**
276276
* The global Telemetry instance
277277
*/
278+
// eslint-disable-next-line import/no-mutable-exports
278279
export let telemetryListener: ExtensionTelemetryListener | undefined;
279280

280281
export async function initializeTelemetry(

extensions/ql-vscode/src/query-results.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,18 +164,18 @@ export async function interpretResultsSarif(
164164
* Call cli command to interpret graph results.
165165
*/
166166
export async function interpretGraphResults(
167-
cli: cli.CodeQLCliServer,
167+
cliServer: cli.CodeQLCliServer,
168168
metadata: QueryMetadata | undefined,
169169
resultsPaths: ResultsPaths,
170170
sourceInfo?: cli.SourceInfo,
171171
): Promise<GraphInterpretationData> {
172172
const { resultsPath, interpretedResultsPath } = resultsPaths;
173173
if (await pathExists(interpretedResultsPath)) {
174-
const dot = await cli.readDotFiles(interpretedResultsPath);
174+
const dot = await cliServer.readDotFiles(interpretedResultsPath);
175175
return { dot, t: "GraphInterpretationData" };
176176
}
177177

178-
const dot = await cli.interpretBqrsGraph(
178+
const dot = await cliServer.interpretBqrsGraph(
179179
ensureMetadataIsComplete(metadata),
180180
resultsPath,
181181
interpretedResultsPath,

0 commit comments

Comments
 (0)