Skip to content

Commit fc5a261

Browse files
authored
chore: Fix @typescript-eslint/sort-type-constituents errors (#1718)
1 parent fe28717 commit fc5a261

20 files changed

+31
-31
lines changed

src/adapters/globAsync.ts

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

33
export const globAsync = async (pattern: string) => {
4-
return new Promise<string[] | Error>((resolve) => {
4+
return new Promise<Error | string[]>((resolve) => {
55
glob(pattern, (error, matches) => {
66
resolve(error ?? matches);
77
});

src/comments/collectCommentFileNames.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export type CommentFileNames = {
1616

1717
export const collectCommentFileNames = async (
1818
dependencies: CollectCommentFileNamesDependencies,
19-
filePathGlobs: true | string | string[],
19+
filePathGlobs: string[] | string | true,
2020
typescriptConfiguration?: TypeScriptConfiguration,
2121
): Promise<CommentFileNames | Error> => {
2222
if (filePathGlobs === true) {

src/converters/comments/convertFileComments.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { createStubConverter } from "../lintConfigs/rules/ruleConverter.stubs";
66
import { convertFileComments, ConvertFileCommentsDependencies } from "./convertFileComments";
77

88
const createStubDependencies = (
9-
readFileResult: string | Error,
9+
readFileResult: Error | string,
1010
): ConvertFileCommentsDependencies => ({
1111
converters: new Map([
1212
["ts-a", createStubConverter(["es-a"])],

src/converters/comments/parseFileComments.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export type FileComment = {
99
ruleNames: string[];
1010
};
1111

12-
export type TSLintDirective = "tslint:disable" | "tslint:disable-next-line" | "tslint:enable";
12+
export type TSLintDirective = "tslint:disable-next-line" | "tslint:disable" | "tslint:enable";
1313

1414
/**
1515
* @see https://github.com/Microsoft/TypeScript/issues/21049

src/converters/editorConfigs/converters/convertVSCodeConfig.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const knownMissingSettings = [
1313
];
1414

1515
export const convertVSCodeConfig: EditorConfigConverter = (rawEditorSettings, settings) => {
16-
const editorSettings: Record<string, string | number | symbol> = parseJson(rawEditorSettings);
16+
const editorSettings: Record<string, number | string | symbol> = parseJson(rawEditorSettings);
1717
const missing = knownMissingSettings.filter((setting) => editorSettings[setting]);
1818

1919
const autoFixOnSave =

src/converters/lintConfigs/formatConvertedRules.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export const formatConvertedRules = (
77
conversionResults: RuleConversionResults,
88
tslintConfiguration: TSLintConfiguration,
99
) => {
10-
const output: Record<string, string | any[]> = {};
10+
const output: Record<string, any[] | string> = {};
1111
const sortedRuleEntries = Array.from(conversionResults.converted).sort(
1212
([ruleNameA], [ruleNameB]) => ruleNameA.localeCompare(ruleNameB),
1313
);

src/converters/lintConfigs/rules/ruleConverters/import-blacklist.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ type ESLintOptionPath = {
88
};
99
type ESLintSimpleOption = string[];
1010
type ESLintComplexOption = RequireAtLeastOne<{
11-
paths: (string | ESLintOptionPath)[];
11+
paths: (ESLintOptionPath | string)[];
1212
patterns: string[];
1313
}>;
14-
type ESLintOptions = ESLintSimpleOption | ESLintComplexOption;
14+
type ESLintOptions = ESLintComplexOption | ESLintSimpleOption;
1515

1616
const NOTICE_MATCH_PATTERNS =
1717
"ESLint and TSLint use different strategies to match patterns. TSLint uses standard regular expressions, but ESLint .gitignore spec.";

src/converters/lintConfigs/rules/ruleConverters/trailing-comma.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ type TSLintArg = {
151151
esSpecCompliant?: boolean;
152152
};
153153

154-
type TSLintArgValue = TSLintStringValue | TSLintObject;
154+
type TSLintArgValue = TSLintObject | TSLintStringValue;
155155
type TSLintObjectKey = keyof TSLintObject;
156156

157157
type TSLintObject = {
@@ -166,8 +166,8 @@ type TSLintStringValue = "always" | "never";
166166
type TSLintStringValueForObject = TSLintStringValue | "ignore";
167167

168168
// ESLint
169-
type ESLintArgValue = ESLintStringValue | ESLintObject;
170-
type ESLintStringValue = "never" | "always" | "always-multiline" | "only-multiline" | "ignore";
169+
type ESLintArgValue = ESLintObject | ESLintStringValue;
170+
type ESLintStringValue = "always-multiline" | "always" | "ignore" | "never" | "only-multiline";
171171
type ESLintObject = {
172172
arrays?: ESLintStringValue;
173173
objects?: ESLintStringValue;

src/converters/lintConfigs/rules/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* @see https://palantir.github.io/tslint/usage/configuration
55
*/
6-
export type TSLintRuleSeverity = "warning" | "error" | "off";
6+
export type TSLintRuleSeverity = "error" | "off" | "warning";
77

88
/**
99
* Rich descriptor and options for an individual TSLint rule.
@@ -19,7 +19,7 @@ export type TSLintRuleOptions = {
1919
*
2020
* @see https://eslint.org/docs/user-guide/configuring#configuring-rules
2121
*/
22-
export type ESLintRuleSeverity = "warn" | "error" | "off";
22+
export type ESLintRuleSeverity = "error" | "off" | "warn";
2323

2424
/**
2525
* Permitted severities for an ESLint rule's configuration.

src/converters/lintConfigs/summarization/resolveExtensionNames.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export const resolveExtensionNames = (rawExtensionNames: string | string[]) => {
1+
export const resolveExtensionNames = (rawExtensionNames: string[] | string) => {
22
if (typeof rawExtensionNames === "string") {
33
rawExtensionNames = [rawExtensionNames];
44
}

src/converters/lintConfigs/summarization/retrieveExtendsValues.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const pluginExtensions = new Map([
4040
*/
4141
export const retrieveExtendsValues = async (
4242
dependencies: RetrieveExtendsValuesDependencies,
43-
rawExtensionNames: string | string[],
43+
rawExtensionNames: string[] | string,
4444
): Promise<RetrievedExtensionValues> => {
4545
const importedExtensions: Partial<ESLintConfiguration>[] = [];
4646
const configurationErrors: ConfigurationError[] = [];

src/input/findESLintConfiguration.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { importer } from "./importer";
1010

1111
export type ESLintConfiguration = {
1212
env?: Record<string, boolean | undefined>;
13-
extends?: string | string[];
13+
extends?: string[] | string;
1414
globals?: Record<string, boolean | undefined>;
1515
rules?: ESLintConfigurationRules;
1616
};
@@ -35,7 +35,7 @@ export type FindESLintConfigurationDependencies = {
3535
export const findESLintConfiguration = async (
3636
dependencies: FindESLintConfigurationDependencies,
3737
config: Pick<ConfigurationLocations, "config" | "eslint">,
38-
): Promise<OriginalConfigurations<ESLintConfiguration> | Error> => {
38+
): Promise<Error | OriginalConfigurations<ESLintConfiguration>> => {
3939
const filePath = config.eslint ?? config.config;
4040
const [rawConfiguration, reportedConfiguration] = await Promise.all([
4141
findRawConfiguration<ESLintConfiguration>(dependencies.importer, filePath, {

src/input/findOriginalConfigurations.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ const createStubDependencies = (
4242
},
4343
}),
4444
mergeLintConfigurations: (
45-
_: OriginalConfigurations<ESLintConfiguration> | Error,
45+
_: Error | OriginalConfigurations<ESLintConfiguration>,
4646
tslint: OriginalConfigurations<TSLintConfiguration>,
4747
) => tslint,
4848
...overrides,

src/input/findPackagesConfiguration.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export type PackagesConfiguration = {
1111
export const findPackagesConfiguration = async (
1212
dependencies: FindReportedConfigurationDependencies,
1313
config: string | undefined,
14-
): Promise<PackagesConfiguration | Error> => {
14+
): Promise<Error | PackagesConfiguration> => {
1515
const rawConfiguration = await findReportedConfiguration<PackagesConfiguration>(
1616
dependencies.exec,
1717
dependencies.platform === "win32" ? "type" : "cat",

src/input/findReportedConfiguration.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export const findReportedConfiguration = async <Configuration>(
2929
}
3030
};
3131

32-
const execAndCatch = async (exec: Exec, fullCommand: string): Promise<string | Error> => {
32+
const execAndCatch = async (exec: Exec, fullCommand: string): Promise<Error | string> => {
3333
try {
3434
const { stderr, stdout } = await exec(fullCommand);
3535

src/input/findTypeScriptConfiguration.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const defaultTypeScriptConfiguration = {
2222
export const findTypeScriptConfiguration = async (
2323
dependencies: FindReportedConfigurationDependencies,
2424
config: string | undefined,
25-
): Promise<TypeScriptConfiguration | Error> => {
25+
): Promise<Error | TypeScriptConfiguration> => {
2626
const rawConfiguration = await findReportedConfiguration<TypeScriptConfiguration>(
2727
dependencies.exec,
2828
"tsc --showConfig -p",

src/input/importer.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { importer } from "./importer";
66
const stubCwd = "/path/to/cwd";
77

88
type StubImporterSettings = {
9-
files?: Record<string, string | Error>;
9+
files?: Record<string, Error | string>;
1010
modules?: Record<string, unknown>;
1111
};
1212

src/input/mergeLintConfigurations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { OriginalConfigurations } from "./findOriginalConfigurations";
33
import { TSLintConfiguration } from "./findTSLintConfiguration";
44

55
export const mergeLintConfigurations = (
6-
eslint: OriginalConfigurations<ESLintConfiguration> | Error,
6+
eslint: Error | OriginalConfigurations<ESLintConfiguration>,
77
tslint: OriginalConfigurations<TSLintConfiguration>,
88
): OriginalConfigurations<TSLintConfiguration> => {
99
if (eslint instanceof Error) {

src/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export type ConfigurationLocations = {
1010
/*
1111
* Original Editor configuration file path(s), such as `.vscode/settings.json`.
1212
*/
13-
editor?: string | string[];
13+
editor?: string[] | string;
1414

1515
/**
1616
* Original ESLint configuration file path, such as `.eslintrc.js`.
@@ -50,7 +50,7 @@ export type TSLintToESLintSettings = LintConfigConversionSettings & {
5050
/**
5151
* File globs to convert `tslint:disable` comments within to `eslint-disable`.
5252
*/
53-
comments?: true | string | string[];
53+
comments?: string[] | string | true;
5454

5555
/**
5656
* Original Editor configuration file path, such as `.vscode/settings.json`.

src/utils.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ export const asError = (error: unknown) => (error instanceof Error ? error : new
88

99
export const isDefined = <Item>(item: Item | undefined): item is Item => item !== undefined;
1010

11-
export const isError = <Item>(item: Item | Error): item is Error => item instanceof Error;
11+
export const isError = <Item>(item: Error | Item): item is Error => item instanceof Error;
1212

13-
export const isTruthy = <Item>(item: Item | false | undefined | null | 0): item is Item => !!item;
13+
export const isTruthy = <Item>(item: Item | 0 | false | null | undefined): item is Item => !!item;
1414

1515
export const removeEmptyMembers = <T extends Record<string, unknown>>(items: T): T => {
1616
const result = {} as T;
@@ -42,10 +42,10 @@ export const separateErrors = <Item>(mixed: (Error | Item)[]): [Error[], Item[]]
4242
return [errors, items];
4343
};
4444

45-
export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> &
46-
{
47-
[K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
48-
}[Keys];
45+
export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = {
46+
[K in Keys]-?: Partial<Pick<T, Exclude<Keys, K>>> & Required<Pick<T, K>>;
47+
}[Keys] &
48+
Pick<T, Exclude<keyof T, Keys>>;
4949

5050
export const uniqueFromSources = <T>(...sources: (T | T[] | undefined)[]) => {
5151
const items: T[] = [];

0 commit comments

Comments
 (0)