Skip to content

Commit 46b35b6

Browse files
author
Josh Goldberg
authored
Enabled eslint-plugin-simple-import-sort internally (#1102)
* Enabled eslint-plugin-simple-import-sort internally * Added eslint-plugin-simple-import-sort Enforces that exports and imports are sorted alphabetically, with a fixer for ESLint's `--fix`. Precursor to #1089 to make it easier to insert lines into `ruleConverters.ts` automatically. * Reset package-lock.json * Autofix imports
1 parent 44ee5af commit 46b35b6

File tree

53 files changed

+328
-312
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+328
-312
lines changed

.eslintrc.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ module.exports = {
1616
parserOptions: {
1717
project: "tsconfig.json",
1818
},
19-
plugins: ["@typescript-eslint"],
19+
plugins: ["simple-import-sort", "@typescript-eslint"],
2020
rules: {
2121
"@typescript-eslint/comma-dangle": [
2222
"error",
@@ -64,5 +64,7 @@ module.exports = {
6464
"@typescript-eslint/typedef": "off",
6565
"comma-dangle": "off",
6666
"no-else-return": "error",
67+
"simple-import-sort/imports": "error",
68+
"simple-import-sort/exports": "error",
6769
},
6870
};

package-lock.json

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

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"@typescript-eslint/parser": "4.25.0",
3939
"babel-jest": "27.0.1",
4040
"eslint": "7.27.0",
41+
"eslint-plugin-simple-import-sort": "^7.0.0",
4142
"husky": "6.0.0",
4243
"jest": "27.0.1",
4344
"lint-staged": "11.0.0",

src/api/dependencies.ts

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,62 +4,75 @@ import { globAsync } from "../adapters/globAsync";
44
import { nativeImporter } from "../adapters/nativeImporter";
55
import { processLogger } from "../adapters/processLogger";
66
import { bind } from "../binding";
7+
import { RunCliDependencies } from "../cli/runCli";
78
import {
89
collectCommentFileNames,
910
CollectCommentFileNamesDependencies,
1011
} from "../comments/collectCommentFileNames";
1112
import {
12-
ReportCommentResultsDependencies,
13+
convertComments,
14+
ConvertCommentsDependencies,
15+
} from "../converters/comments/convertComments";
16+
import {
17+
convertFileComments,
18+
ConvertFileCommentsDependencies,
19+
} from "../converters/comments/convertFileComments";
20+
import {
21+
extractGlobPaths,
22+
ExtractGlobPathsDependencies,
23+
} from "../converters/comments/extractGlobPaths";
24+
import {
1325
reportCommentResults,
26+
ReportCommentResultsDependencies,
1427
} from "../converters/comments/reporting/reportCommentResults";
1528
import {
16-
ConvertEditorConfigDependencies,
1729
convertEditorConfig,
30+
ConvertEditorConfigDependencies,
1831
} from "../converters/editorConfigs/convertEditorConfig";
1932
import {
20-
ConvertLintConfigDependencies,
33+
convertEditorConfigs,
34+
ConvertEditorConfigsDependencies,
35+
} from "../converters/editorConfigs/convertEditorConfigs";
36+
import { convertAtomConfig } from "../converters/editorConfigs/converters/convertAtomConfig";
37+
import { convertVSCodeConfig } from "../converters/editorConfigs/converters/convertVSCodeConfig";
38+
import { reportEditorConfigConversionResults } from "../converters/editorConfigs/reporting/reportEditorConfigConversionResults";
39+
import { EditorConfigDescriptor } from "../converters/editorConfigs/types";
40+
import {
2141
convertLintConfig,
42+
ConvertLintConfigDependencies,
2243
} from "../converters/lintConfigs/convertLintConfig";
2344
import {
24-
ReportConversionResultsDependencies,
25-
reportConfigConversionResults,
26-
} from "../converters/lintConfigs/reporting/reportConfigConversionResults";
45+
createESLintConfiguration,
46+
CreateESLintConfigurationDependencies,
47+
} from "../converters/lintConfigs/createESLintConfiguration";
48+
import { removeExtendsDuplicatedRules } from "../converters/lintConfigs/pruning/removeExtendsDuplicatedRules";
2749
import {
28-
ConvertCommentsDependencies,
29-
convertComments,
30-
} from "../converters/comments/convertComments";
50+
choosePackageManager,
51+
ChoosePackageManagerDependencies,
52+
} from "../converters/lintConfigs/reporting/packages/choosePackageManager";
3153
import {
32-
ConvertFileCommentsDependencies,
33-
convertFileComments,
34-
} from "../converters/comments/convertFileComments";
54+
logMissingPackages,
55+
LogMissingPackagesDependencies,
56+
} from "../converters/lintConfigs/reporting/packages/logMissingPackages";
57+
import {
58+
reportConfigConversionResults,
59+
ReportConversionResultsDependencies,
60+
} from "../converters/lintConfigs/reporting/reportConfigConversionResults";
3561
import {
36-
ConvertRulesDependencies,
3762
convertRules,
63+
ConvertRulesDependencies,
3864
} from "../converters/lintConfigs/rules/convertRules";
3965
import { ruleConverters } from "../converters/lintConfigs/rules/ruleConverters";
66+
import { ruleMergers } from "../converters/lintConfigs/rules/ruleMergers";
67+
import { checkPrettierExtension } from "../converters/lintConfigs/summarization/prettier/checkPrettierExtension";
4068
import {
41-
RetrieveExtendsValuesDependencies,
4269
retrieveExtendsValues,
70+
RetrieveExtendsValuesDependencies,
4371
} from "../converters/lintConfigs/summarization/retrieveExtendsValues";
4472
import {
45-
SummarizePackageRulesDependencies,
4673
summarizePackageRules,
74+
SummarizePackageRulesDependencies,
4775
} from "../converters/lintConfigs/summarization/summarizePackageRules";
48-
import {
49-
ChoosePackageManagerDependencies,
50-
choosePackageManager,
51-
} from "../converters/lintConfigs/reporting/packages/choosePackageManager";
52-
import {
53-
LogMissingPackagesDependencies,
54-
logMissingPackages,
55-
} from "../converters/lintConfigs/reporting/packages/logMissingPackages";
56-
import { RunCliDependencies } from "../cli/runCli";
57-
import { ruleMergers } from "../converters/lintConfigs/rules/ruleMergers";
58-
import { removeExtendsDuplicatedRules } from "../converters/lintConfigs/pruning/removeExtendsDuplicatedRules";
59-
import {
60-
ExtractGlobPathsDependencies,
61-
extractGlobPaths,
62-
} from "../converters/comments/extractGlobPaths";
6376
import { findESLintConfiguration } from "../input/findESLintConfiguration";
6477
import {
6578
findOriginalConfigurations,
@@ -70,19 +83,6 @@ import { findTSLintConfiguration } from "../input/findTSLintConfiguration";
7083
import { findTypeScriptConfiguration } from "../input/findTypeScriptConfiguration";
7184
import { importer, ImporterDependencies } from "../input/importer";
7285
import { mergeLintConfigurations } from "../input/mergeLintConfigurations";
73-
import {
74-
createESLintConfiguration,
75-
CreateESLintConfigurationDependencies,
76-
} from "../converters/lintConfigs/createESLintConfiguration";
77-
import { checkPrettierExtension } from "../converters/lintConfigs/summarization/prettier/checkPrettierExtension";
78-
import {
79-
convertEditorConfigs,
80-
ConvertEditorConfigsDependencies,
81-
} from "../converters/editorConfigs/convertEditorConfigs";
82-
import { reportEditorConfigConversionResults } from "../converters/editorConfigs/reporting/reportEditorConfigConversionResults";
83-
import { EditorConfigDescriptor } from "../converters/editorConfigs/types";
84-
import { convertAtomConfig } from "../converters/editorConfigs/converters/convertAtomConfig";
85-
import { convertVSCodeConfig } from "../converters/editorConfigs/converters/convertVSCodeConfig";
8686
export const convertFileCommentsDependencies: ConvertFileCommentsDependencies = {
8787
converters: ruleConverters,
8888
fileSystem: fsFileSystem,

src/converters/comments/convertComments.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { SansDependencies } from "../../binding";
22
import { collectCommentFileNames } from "../../comments/collectCommentFileNames";
33
import { AllOriginalConfigurations } from "../../input/findOriginalConfigurations";
4-
import { ResultWithDataStatus, ResultStatus, TSLintToESLintSettings } from "../../types";
4+
import { ResultStatus, ResultWithDataStatus, TSLintToESLintSettings } from "../../types";
55
import { isError } from "../../utils";
66
import { convertFileComments } from "./convertFileComments";
77
import { extractGlobPaths } from "./extractGlobPaths";

src/converters/editorConfigs/reporting/reportEditorConfigConversionResults.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Logger } from "../../../adapters/logger";
22
import {
3-
logSuccessfulConversions,
43
logFailedConversions,
54
logMissingConversionTarget,
5+
logSuccessfulConversions,
66
} from "../../../reporting";
77
import { EditorConfigsConversionResults } from "../types";
88

src/converters/lintConfigs/convertLintConfig.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { FileSystem } from "../../adapters/fileSystem";
22
import { SansDependencies } from "../../binding";
33
import { AllOriginalConfigurations } from "../../input/findOriginalConfigurations";
4-
import { TSLintToESLintSettings, ResultWithStatus, ResultStatus } from "../../types";
4+
import { ResultStatus, ResultWithStatus, TSLintToESLintSettings } from "../../types";
55
import { createESLintConfiguration } from "./createESLintConfiguration";
66
import { formatOutput } from "./formatting/formatOutput";
77
import { joinConfigConversionResults } from "./joinConfigConversionResults";

src/converters/lintConfigs/eslint/createEnv.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { createEnv } from "./createEnv";
21
import { TypeScriptConfiguration } from "../../../input/findTypeScriptConfiguration";
2+
import { createEnv } from "./createEnv";
33

44
const createTypeScriptCompilerOptions = (
55
overrides: Partial<TypeScriptConfiguration["compilerOptions"]> = {},

src/converters/lintConfigs/formatting/formatOutput.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { EOL } from "os";
22

3-
import { faqs } from "./formatters/faqs";
43
import { formatOutput } from "./formatOutput";
4+
import { faqs } from "./formatters/faqs";
55

66
describe("formatOutput", () => {
77
it("formats output as JavaScript for a .js file path", () => {

src/converters/lintConfigs/pruning/normalizeRawESLintRuleSeverity.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { RawESLintRuleSeverity, ESLintRuleSeverity } from "../rules/types";
1+
import { ESLintRuleSeverity, RawESLintRuleSeverity } from "../rules/types";
22

33
export const normalizeRawESLintRuleSeverity = (
44
rawSeverity: RawESLintRuleSeverity,

src/converters/lintConfigs/pruning/removeExtendsDuplicatedRules.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ describe("removeExtendsDuplicatedRules", () => {
3333
});
3434

3535
// Act
36-
const { differentRules } = removeExtendsDuplicatedRules(allRules, new Map<string, ESLintRuleOptionsWithArguments>());
36+
const { differentRules } = removeExtendsDuplicatedRules(
37+
allRules,
38+
new Map<string, ESLintRuleOptionsWithArguments>(),
39+
);
3740

3841
// Assert
3942
expect(differentRules.size).toBe(1);

src/converters/lintConfigs/reporting/packages/choosePackageManager.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { FileSystem } from "../../../../adapters/fileSystem";
2-
import { preferredLockfiles, PackageManager } from "./packageManagers";
2+
import { PackageManager, preferredLockfiles } from "./packageManagers";
33

44
export type ChoosePackageManagerDependencies = {
55
fileSystem: Pick<FileSystem, "fileExists">;

src/converters/lintConfigs/reporting/reportConfigConversionResults.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import { EOL } from "os";
33

44
import { Logger } from "../../../adapters/logger";
55
import {
6-
logSuccessfulConversions,
76
logFailedConversions,
87
logMissingConversionTarget,
8+
logSuccessfulConversions,
99
} from "../../../reporting";
10-
import { TSLintRuleOptions, ESLintRuleOptions } from "../rules/types";
10+
import { ESLintRuleOptions, TSLintRuleOptions } from "../rules/types";
1111
import { SummarizedConfigResultsConfiguration } from "../summarization/types";
1212

1313
export type ReportConversionResultsDependencies = {

src/converters/lintConfigs/rules/convertRules.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ConversionError } from "../../../errors/conversionError";
22
import { convertRules } from "./convertRules";
3+
import { ConversionResult, RuleConverter } from "./ruleConverter";
34
import { RuleMerger } from "./ruleMerger";
4-
import { RuleConverter, ConversionResult } from "./ruleConverter";
55
import { TSLintRuleOptions, TSLintRuleSeverity } from "./types";
66

77
describe("convertRules", () => {

src/converters/lintConfigs/rules/convertRules.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import { isEqual } from "lodash";
33
import { ConversionError } from "../../../errors/conversionError";
44
import { ErrorSummary } from "../../../errors/errorSummary";
55
import { TSLintConfigurationRules } from "../../../input/findTSLintConfiguration";
6+
import { Entries, uniqueFromSources } from "../../../utils";
67
import { convertRule } from "./convertRule";
78
import { convertTSLintRuleSeverity } from "./formats/convertTSLintRuleSeverity";
89
import { formatRawTslintRule } from "./formats/formatRawTslintRule";
9-
import { RuleMerger } from "./ruleMerger";
1010
import { RuleConverter } from "./ruleConverter";
11-
import { TSLintRuleOptions, ESLintRuleOptions } from "./types";
12-
import { Entries, uniqueFromSources } from "../../../utils";
11+
import { RuleMerger } from "./ruleMerger";
12+
import { ESLintRuleOptions, TSLintRuleOptions } from "./types";
1313

1414
export type ConvertRulesDependencies = {
1515
ruleConverters: Map<string, RuleConverter>;
@@ -39,7 +39,9 @@ export const convertRules = (
3939
const plugins = new Set<string>();
4040

4141
if (rawTslintRules !== undefined) {
42-
for (const [ruleName, value] of Object.entries(rawTslintRules) as Entries<TSLintConfigurationRules>) {
42+
for (const [ruleName, value] of Object.entries(
43+
rawTslintRules,
44+
) as Entries<TSLintConfigurationRules>) {
4345
// 1. The raw TSLint rule is converted to a standardized format.
4446
const tslintRule = formatRawTslintRule(ruleName, value);
4547

src/converters/lintConfigs/rules/ruleConverter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { ESLintRuleSeverity, TSLintRuleOptions } from "./types";
21
import { ConversionError } from "../../../errors/conversionError";
2+
import { ESLintRuleSeverity, TSLintRuleOptions } from "./types";
33

44
/**
55
* Section of a TSLint rule's options used for conversion.

0 commit comments

Comments
 (0)