Skip to content

Commit 7a7092d

Browse files
committed
Add eslint-plugin-import
It seems like we had some rules that disabled rules of this plugin, but we didn't actually have it installed. I've now installed it, used the recommended configuration, and removed our own disable rules. I've fixed any errors that this introduced.
1 parent 43ea7eb commit 7a7092d

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)