Skip to content

Commit a504227

Browse files
Refactored file structure to have names match intent
1 parent b362fed commit a504227

File tree

477 files changed

+1345
-1348
lines changed

Some content is hidden

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

477 files changed

+1345
-1348
lines changed

jest.config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ module.exports = {
44
"!./src/**/*.d.ts",
55
"!./src/**/*.stubs.ts",
66
"!./src/adapters/*.ts",
7-
"!./src/rules/rulesConverters.ts",
8-
"!./src/editorSettings/editorSettingsConverters.ts",
9-
"!./src/rules/mergers.ts",
107
"!./src/cli/main.ts",
8+
"!./src/converters/editorConfigs/editorSettingsConverters.ts",
9+
"!./src/converters/lintConfigs/rules/ruleConverters.ts",
10+
"!./src/converters/lintConfigs/rules/ruleMergers.ts",
1111
],
1212
coverageThreshold: {
1313
global: {

src/cli/main.ts

Lines changed: 78 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,6 @@ import { globAsync } from "../adapters/globAsync";
66
import { nativeImporter } from "../adapters/nativeImporter";
77
import { processLogger } from "../adapters/processLogger";
88
import { bind } from "../binding";
9-
import { convertComments, ConvertCommentsDependencies } from "../comments/convertComments";
10-
import {
11-
ConvertFileCommentsDependencies,
12-
convertFileComments,
13-
} from "../comments/convertFileComments";
14-
import { convertLintConfig, ConvertLintConfigDependencies } from "../conversion/convertLintConfig";
15-
import {
16-
convertEditorConfig,
17-
ConvertEditorConfigDependencies,
18-
} from "../conversion/convertEditorConfig";
19-
import { addPrettierExtensions } from "../creation/summarization/prettier/addPrettierExtensions";
20-
import { removeExtendsDuplicatedRules } from "../creation/pruning/removeExtendsDuplicatedRules";
21-
import {
22-
retrieveExtendsValues,
23-
RetrieveExtendsValuesDependencies,
24-
} from "../creation/summarization/retrieveExtendsValues";
25-
import {
26-
summarizePackageRules,
27-
SummarizePackageRulesDependencies,
28-
} from "../creation/summarization/summarizePackageRules";
29-
import {
30-
writeConversionResults,
31-
WriteConversionResultsDependencies,
32-
} from "../creation/writeConversionResults";
33-
import { writeConversionResults as writeEditorConfigConversionResults } from "../creation/writeEditorConfigConversionResults";
34-
import {
35-
convertEditorSettings,
36-
ConvertEditorSettingsDependencies,
37-
} from "../editorSettings/convertEditorSettings";
38-
import { editorSettingsConverters } from "../editorSettings/editorSettingsConverters";
399
import {
4010
findEditorConfiguration,
4111
FindEditorConfigurationDependencies,
@@ -51,40 +21,84 @@ import { findTypeScriptConfiguration } from "../input/findTypeScriptConfiguratio
5121
import { importer, ImporterDependencies } from "../input/importer";
5222
import { mergeLintConfigurations } from "../input/mergeLintConfigurations";
5323
import {
54-
choosePackageManager,
55-
ChoosePackageManagerDependencies,
56-
} from "../reporting/packages/choosePackageManager";
57-
import {
58-
reportCommentResults,
5924
ReportCommentResultsDependencies,
60-
} from "../reporting/reportCommentResults";
25+
reportCommentResults,
26+
} from "../converters/comments/reporting/reportCommentResults";
6127
import {
62-
logMissingPackages,
63-
LogMissingPackagesDependencies,
64-
} from "../reporting/packages/logMissingPackages";
28+
ConvertEditorConfigDependencies,
29+
convertEditorConfig,
30+
} from "../converters/editorConfigs/convertEditorConfig";
31+
import {
32+
ConvertEditorSettingsDependencies,
33+
convertEditorSettings,
34+
} from "../converters/editorConfigs/convertEditorSettings";
35+
import { editorSettingsConverters } from "../converters/editorConfigs/editorSettingsConverters";
36+
import { reportEditorSettingConversionResults } from "../converters/editorConfigs/reporting/reportEditorSettingConversionResults";
37+
import {
38+
ConvertLintConfigDependencies,
39+
convertLintConfig,
40+
} from "../converters/lintConfigs/convertLintConfig";
6541
import {
66-
reportConversionResults,
6742
ReportConversionResultsDependencies,
68-
} from "../reporting/reportConversionResults";
69-
import { reportEditorSettingConversionResults } from "../reporting/reportEditorSettingConversionResults";
70-
import { convertRules, ConvertRulesDependencies } from "../rules/convertRules";
71-
import { mergers } from "../rules/mergers";
72-
import { rulesConverters } from "../rules/rulesConverters";
43+
reportConfigConversionResults,
44+
} from "../converters/lintConfigs/reporting/reportConfigConversionResults";
45+
import {
46+
WriteConversionResultsDependencies,
47+
writeConfigConversionResults,
48+
} from "../converters/lintConfigs/writeConfigConversionResults";
49+
import {
50+
ConvertCommentsDependencies,
51+
convertComments,
52+
} from "../converters/comments/convertComments";
53+
import {
54+
ConvertFileCommentsDependencies,
55+
convertFileComments,
56+
} from "../converters/comments/convertFileComments";
57+
import {
58+
ConvertRulesDependencies,
59+
convertRules,
60+
} from "../converters/lintConfigs/rules/convertRules";
61+
import { ruleConverters } from "../converters/lintConfigs/rules/ruleConverters";
62+
import {
63+
RetrieveExtendsValuesDependencies,
64+
retrieveExtendsValues,
65+
} from "../converters/lintConfigs/summarization/retrieveExtendsValues";
66+
import {
67+
SummarizePackageRulesDependencies,
68+
summarizePackageRules,
69+
} from "../converters/lintConfigs/summarization/summarizePackageRules";
70+
import {
71+
ChoosePackageManagerDependencies,
72+
choosePackageManager,
73+
} from "../converters/lintConfigs/reporting/packages/choosePackageManager";
74+
import {
75+
LogMissingPackagesDependencies,
76+
logMissingPackages,
77+
} from "../converters/lintConfigs/reporting/packages/logMissingPackages";
7378
import { runCli, RunCliDependencies } from "./runCli";
79+
import { ruleMergers } from "../converters/lintConfigs/rules/ruleMergers";
80+
import { writeEditorConfigConversionResults } from "../converters/lintConfigs/writeEditorConfigConversionResults";
81+
import { addPrettierExtensions } from "../converters/lintConfigs/summarization/prettier/addPrettierExtensions";
82+
import { removeExtendsDuplicatedRules } from "../converters/lintConfigs/pruning/removeExtendsDuplicatedRules";
7483

7584
const convertFileCommentsDependencies: ConvertFileCommentsDependencies = {
76-
converters: rulesConverters,
85+
converters: ruleConverters,
7786
fileSystem: fsFileSystem,
7887
};
7988

89+
const reportCommentResultsDependencies: ReportCommentResultsDependencies = {
90+
logger: processLogger,
91+
};
92+
8093
const convertCommentsDependencies: ConvertCommentsDependencies = {
8194
convertFileComments: bind(convertFileComments, convertFileCommentsDependencies),
8295
globAsync,
96+
reportCommentResults: bind(reportCommentResults, reportCommentResultsDependencies),
8397
};
8498

8599
const convertRulesDependencies: ConvertRulesDependencies = {
86-
converters: rulesConverters,
87-
mergers,
100+
ruleConverters,
101+
ruleMergers,
88102
};
89103

90104
const convertEditorSettingsDependencies: ConvertEditorSettingsDependencies = {
@@ -117,10 +131,6 @@ const findOriginalConfigurationsDependencies: FindOriginalConfigurationsDependen
117131
mergeLintConfigurations,
118132
};
119133

120-
const reportCommentResultsDependencies: ReportCommentResultsDependencies = {
121-
logger: processLogger,
122-
};
123-
124134
const choosePackageManagerDependencies: ChoosePackageManagerDependencies = {
125135
fileSystem: fsFileSystem,
126136
};
@@ -155,35 +165,40 @@ const reportEditorSettingConversionResultsDependencies = {
155165
const convertEditorConfigDependencies: ConvertEditorConfigDependencies = {
156166
findEditorConfiguration: bind(findEditorConfiguration, findEditorConfigurationDependencies),
157167
convertEditorSettings: bind(convertEditorSettings, convertEditorSettingsDependencies),
158-
reportConversionResults: bind(
168+
reportEditorSettingConversionResults: bind(
159169
reportEditorSettingConversionResults,
160170
reportEditorSettingConversionResultsDependencies,
161171
),
162-
writeConversionResults: bind(
172+
writeEditorConfigConversionResults: bind(
163173
writeEditorConfigConversionResults,
164174
writeConversionResultsDependencies,
165175
),
166176
};
167177

168178
const convertLintConfigDependencies: ConvertLintConfigDependencies = {
169-
convertComments: bind(convertComments, convertCommentsDependencies),
170179
convertRules: bind(convertRules, convertRulesDependencies),
171-
findOriginalConfigurations: bind(
172-
findOriginalConfigurations,
173-
findOriginalConfigurationsDependencies,
174-
),
175180
logMissingPackages: bind(logMissingPackages, logMissingPackagesDependencies),
176-
reportCommentResults: bind(reportCommentResults, reportCommentResultsDependencies),
177-
reportConversionResults: bind(reportConversionResults, reportConversionResultsDependencies),
181+
reportConfigConversionResults: bind(
182+
reportConfigConversionResults,
183+
reportConversionResultsDependencies,
184+
),
178185
summarizePackageRules: bind(summarizePackageRules, summarizePackageRulesDependencies),
179-
writeConversionResults: bind(writeConversionResults, writeConversionResultsDependencies),
186+
writeConfigConversionResults: bind(
187+
writeConfigConversionResults,
188+
writeConversionResultsDependencies,
189+
),
180190
};
181191

182192
const runCliDependencies: RunCliDependencies = {
183-
configConverters: [
193+
converters: [
184194
bind(convertLintConfig, convertLintConfigDependencies),
185195
bind(convertEditorConfig, convertEditorConfigDependencies),
196+
bind(convertComments, convertCommentsDependencies),
186197
],
198+
findOriginalConfigurations: bind(
199+
findOriginalConfigurations,
200+
findOriginalConfigurationsDependencies,
201+
),
187202
logger: processLogger,
188203
};
189204

src/cli/runCli.test.ts

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,20 @@ import { EOL } from "os";
22

33
import { version } from "../../package.json";
44
import { createStubLogger, expectEqualWrites } from "../adapters/logger.stubs";
5+
import { createStubOriginalConfigurationsData } from "../settings.stubs";
56
import { ResultStatus, TSLintToESLintResult } from "../types";
67
import { runCli, RunCliDependencies } from "./runCli";
78

89
const createStubArgv = (argv: string[] = []) => ["node", "some/path/bin/file", ...argv];
910

10-
const createStubRunCliDependencies = (
11-
overrides: Partial<Pick<RunCliDependencies, "configConverters">> = {},
12-
) => ({
13-
configConverters: [
14-
async (): Promise<TSLintToESLintResult> => ({ status: ResultStatus.Succeeded }),
15-
],
16-
logger: createStubLogger(),
11+
const createStubRunCliDependencies = (overrides: Partial<RunCliDependencies> = {}) => ({
12+
converters: [async (): Promise<TSLintToESLintResult> => ({ status: ResultStatus.Succeeded })],
13+
findOriginalConfigurations: jest.fn().mockResolvedValue({
14+
data: createStubOriginalConfigurationsData(),
15+
status: ResultStatus.Succeeded,
16+
}),
1717
...overrides,
18+
logger: createStubLogger(),
1819
});
1920

2021
describe("runCli", () => {
@@ -30,11 +31,31 @@ describe("runCli", () => {
3031
expect(dependencies.logger.stdout.write).toHaveBeenLastCalledWith(`${version}${EOL}`);
3132
});
3233

33-
it("logs an error to stderr when convertConfig throws an error", async () => {
34+
it("logs an error when finding original config data fails", async () => {
35+
// Arrange
36+
const message = "Oh no";
37+
const dependencies = createStubRunCliDependencies({
38+
findOriginalConfigurations: jest.fn().mockResolvedValue({
39+
errors: [new Error(message)],
40+
status: ResultStatus.Failed,
41+
}),
42+
});
43+
44+
// Act
45+
const status = await runCli(dependencies, createStubArgv());
46+
47+
// Assert
48+
expect(dependencies.logger.stderr.write).toHaveBeenLastCalledWith(
49+
expect.stringMatching(message),
50+
);
51+
expect(status).toBe(ResultStatus.Failed);
52+
});
53+
54+
it("logs an error when a converter fails", async () => {
3455
// Arrange
3556
const message = "Oh no";
3657
const dependencies = createStubRunCliDependencies({
37-
configConverters: [() => Promise.reject(new Error(message))],
58+
converters: [() => Promise.reject(new Error(message))],
3859
});
3960

4061
// Act
@@ -51,7 +72,7 @@ describe("runCli", () => {
5172
// Arrange
5273
const complaint = "too much unit testing coverage";
5374
const dependencies = createStubRunCliDependencies({
54-
configConverters: [
75+
converters: [
5576
() =>
5677
Promise.resolve({
5778
complaints: [complaint],
@@ -76,7 +97,7 @@ describe("runCli", () => {
7697
// Arrange
7798
const error = new Error("too much unit testing coverage");
7899
const dependencies = createStubRunCliDependencies({
79-
configConverters: [
100+
converters: [
80101
() =>
81102
Promise.resolve({
82103
errors: [error],
@@ -104,7 +125,7 @@ describe("runCli", () => {
104125
new Error("too much branch coverage"),
105126
];
106127
const dependencies = createStubRunCliDependencies({
107-
configConverters: [
128+
converters: [
108129
() =>
109130
Promise.resolve({
110131
errors,
@@ -141,7 +162,7 @@ describe("runCli", () => {
141162
it("default output should be .eslintrc.js", async () => {
142163
let defaultConfig;
143164
const dependencies = createStubRunCliDependencies({
144-
configConverters: [
165+
converters: [
145166
(parsedArgs) => {
146167
defaultConfig = parsedArgs.config;
147168
return Promise.resolve({

0 commit comments

Comments
 (0)