Skip to content

Commit 5bc0606

Browse files
renovate[bot]Josh Goldberg
and
Josh Goldberg
authored
temp (#1127)
Co-authored-by: Josh Goldberg <josh@codecademy.com>
1 parent d244dd1 commit 5bc0606

22 files changed

+8050
-8031
lines changed

.husky/pre-commit

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
npm run precommit

package-lock.json

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

package.json

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,13 @@
3939
"babel-jest": "27.0.6",
4040
"eslint": "7.30.0",
4141
"eslint-plugin-simple-import-sort": "7.0.0",
42-
"husky": "6.0.0",
42+
"husky": "^7.0.0",
4343
"jest": "27.0.6",
4444
"lint-staged": "11.0.0",
4545
"prettier": "2.3.2",
4646
"strip-ansi": "6.0.0"
4747
},
4848
"homepage": "https://github.com/typescript-eslint/tslint-to-eslint-config#readme",
49-
"husky": {
50-
"hooks": {
51-
"pre-commit": "lint-staged"
52-
}
53-
},
5449
"keywords": [
5550
"eslint",
5651
"tslint",
@@ -71,6 +66,8 @@
7166
},
7267
"scripts": {
7368
"eslint": "eslint \"./src/*.ts\" \"./src/**/*.ts\" --report-unused-disable-directives",
69+
"precommit": "lint-staged",
70+
"prepare": "husky install",
7471
"prettier": "prettier \"./src/*.{js,json,ts,xml,yaml}\" \"./src/**/*.{js,json,ts,xml,yaml}\" --ignore-path .prettierignore",
7572
"prettier:write": "npm run prettier -- --write",
7673
"test": "jest",

src/converters/comments/parseFileComments.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,10 @@ export const parseFileComments = (filePath: string, content: string) => {
3939
const tslintRegex = new RegExp(/tslint:(enable|disable)(?:-(line|next-line))?(:|\s|$)/g);
4040

4141
const parseFileComment = (fullText: string, comment: ts.CommentRange): FileComment | undefined => {
42-
const commentText = (comment.kind === ts.SyntaxKind.SingleLineCommentTrivia
43-
? fullText.substring(comment.pos + 2, comment.end)
44-
: fullText.substring(comment.pos + 2, comment.end - 2)
42+
const commentText = (
43+
comment.kind === ts.SyntaxKind.SingleLineCommentTrivia
44+
? fullText.substring(comment.pos + 2, comment.end)
45+
: fullText.substring(comment.pos + 2, comment.end - 2)
4546
).trim();
4647
const match = commentText.match(tslintRegex);
4748
if (match === null) {

src/converters/lintConfigs/formatConvertedRules.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ export const formatConvertedRules = (
88
tslintConfiguration: TSLintConfiguration,
99
) => {
1010
const output: Record<string, string | any[]> = {};
11-
const sortedRuleEntries = Array.from(
12-
conversionResults.converted,
13-
).sort(([ruleNameA], [ruleNameB]) => ruleNameA.localeCompare(ruleNameB));
11+
const sortedRuleEntries = Array.from(conversionResults.converted).sort(
12+
([ruleNameA], [ruleNameB]) => ruleNameA.localeCompare(ruleNameB),
13+
);
1414

1515
for (const [ruleName, rule] of sortedRuleEntries) {
1616
output[ruleName] = formatConvertedRule(rule);

src/converters/lintConfigs/rules/ruleConverters/no-cookies.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ export const convertNoCookies: RuleConverter = () => {
77
ruleArguments: [
88
{
99
message: "Forbidden call to document.cookie",
10-
selector: 'MemberExpression[object.name="document"][property.name="cookie"]',
11-
}
10+
selector:
11+
'MemberExpression[object.name="document"][property.name="cookie"]',
12+
},
1213
],
1314
ruleName: "restricted-syntax",
1415
},

src/converters/lintConfigs/rules/ruleConverters/no-document-domain.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ export const convertNoDocumentDomain: RuleConverter = () => {
66
{
77
ruleArguments: [
88
{
9-
message: 'Forbidden write to document.domain.',
10-
selector: 'AssignmentExpression[left.type="MemberExpression"][left.object.name="document"][left.property.name="domain"]',
9+
message: "Forbidden write to document.domain.",
10+
selector:
11+
'AssignmentExpression[left.type="MemberExpression"][left.object.name="document"][left.property.name="domain"]',
1112
},
1213
{
13-
message: 'Forbidden write to document.domain.',
14-
selector: 'AssignmentExpression[left.type="MemberExpression"][left.object.type="MemberExpression"][left.object.object.name="window"][left.object.property.name="document"][left.property.name="domain"]',
14+
message: "Forbidden write to document.domain.",
15+
selector:
16+
'AssignmentExpression[left.type="MemberExpression"][left.object.type="MemberExpression"][left.object.object.name="window"][left.object.property.name="document"][left.property.name="domain"]',
1517
},
1618
],
1719
ruleName: "no-restricted-syntax",

src/converters/lintConfigs/rules/ruleConverters/no-document-write.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ export const convertNoDocumentWrite: RuleConverter = () => {
66
{
77
ruleArguments: [
88
{
9-
message: 'Forbidden call to document.write.',
10-
selector: 'CallExpression[callee.type="MemberExpression"][callee.object.name="document"][callee.property.name=/^(write|writeln)$/]',
9+
message: "Forbidden call to document.write.",
10+
selector:
11+
'CallExpression[callee.type="MemberExpression"][callee.object.name="document"][callee.property.name=/^(write|writeln)$/]',
1112
},
1213
{
13-
message: 'Forbidden write to document.write.',
14-
selector: 'CallExpression[callee.type="MemberExpression"][callee.object.type="MemberExpression"][callee.object.object.name="window"][callee.object.property.name="document"][callee.property.name=/^(write|writeln)$/]',
14+
message: "Forbidden write to document.write.",
15+
selector:
16+
'CallExpression[callee.type="MemberExpression"][callee.object.type="MemberExpression"][callee.object.object.name="window"][callee.object.property.name="document"][callee.property.name=/^(write|writeln)$/]',
1517
},
1618
],
1719
ruleName: "no-restricted-syntax",

src/converters/lintConfigs/rules/ruleConverters/no-exec-script.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export const convertNoExecScript: RuleConverter = () => {
88
{
99
message: "Forbidden call to execScript",
1010
selector: 'CallExpression[callee.name="execScript"]',
11-
}
11+
},
1212
],
1313
ruleName: "restricted-syntax",
1414
},

src/converters/lintConfigs/rules/ruleConverters/react-a11y-accessible-headings.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ import { RuleConverter } from "../ruleConverter";
22

33
export const convertReactA11yAccessibleHeadings: RuleConverter = (tslintRule) => {
44
return {
5-
...tslintRule.ruleArguments.length === 1 && { notices: ["jsx-a11y/heading-has-content rule does not support maxHeadingLength"] },
5+
...(tslintRule.ruleArguments.length === 1 && {
6+
notices: ["jsx-a11y/heading-has-content rule does not support maxHeadingLength"],
7+
}),
68
plugins: ["jsx-a11y"],
79
rules: [
810
{

src/converters/lintConfigs/rules/ruleConverters/react-a11y-anchors.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ import { RuleConverter } from "../ruleConverter";
22

33
export const convertReactA11yAnchors: RuleConverter = (tslintRule) => {
44
return {
5-
...(tslintRule.ruleArguments.length > 0 && ({
6-
notices: Object.keys(tslintRule.ruleArguments[0] as Record<string, unknown>).map(key => `jsx-a11y/anchor-is-valid does not support the '${key}' option.`)
7-
})),
5+
...(tslintRule.ruleArguments.length > 0 && {
6+
notices: Object.keys(tslintRule.ruleArguments[0] as Record<string, unknown>).map(
7+
(key) => `jsx-a11y/anchor-is-valid does not support the '${key}' option.`,
8+
),
9+
}),
810
plugins: ["jsx-a11y"],
911
rules: [
1012
{

src/converters/lintConfigs/rules/ruleConverters/react-no-dangerous-html.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { RuleConverter } from "../ruleConverter";
22

33
export const convertReactNoDangerousHtml: RuleConverter = () => {
44
return {
5-
plugins: ['eslint-plugin-react'],
5+
plugins: ["eslint-plugin-react"],
66
rules: [
77
{
88
ruleName: "react/no-danger",

src/converters/lintConfigs/rules/ruleConverters/react-tsx-curly-spacing.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ export const convertReactTsxCurlySpacing: RuleConverter = (tslintRule) => {
88
ruleArguments: [
99
{
1010
...(tslintRule.ruleArguments.length > 1 && tslintRule.ruleArguments[1]),
11-
'when': tslintRule.ruleArguments[0],
12-
}
11+
when: tslintRule.ruleArguments[0],
12+
},
1313
],
1414
ruleName: "react/jsx-curly-spacing",
1515
},

src/converters/lintConfigs/rules/ruleConverters/tests/no-cookies.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ describe(convertNoCookies, () => {
1212
ruleArguments: [
1313
{
1414
message: "Forbidden call to document.cookie",
15-
selector: 'MemberExpression[object.name="document"][property.name="cookie"]',
16-
}
15+
selector:
16+
'MemberExpression[object.name="document"][property.name="cookie"]',
17+
},
1718
],
1819
ruleName: "restricted-syntax",
1920
},

src/converters/lintConfigs/rules/ruleConverters/tests/no-document-domain.test.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ describe(convertNoDocumentDomain, () => {
1111
{
1212
ruleArguments: [
1313
{
14-
message: 'Forbidden write to document.domain.',
15-
selector: 'AssignmentExpression[left.type="MemberExpression"][left.object.name="document"][left.property.name="domain"]',
14+
message: "Forbidden write to document.domain.",
15+
selector:
16+
'AssignmentExpression[left.type="MemberExpression"][left.object.name="document"][left.property.name="domain"]',
1617
},
1718
{
18-
message: 'Forbidden write to document.domain.',
19-
selector: 'AssignmentExpression[left.type="MemberExpression"][left.object.type="MemberExpression"][left.object.object.name="window"][left.object.property.name="document"][left.property.name="domain"]',
19+
message: "Forbidden write to document.domain.",
20+
selector:
21+
'AssignmentExpression[left.type="MemberExpression"][left.object.type="MemberExpression"][left.object.object.name="window"][left.object.property.name="document"][left.property.name="domain"]',
2022
},
2123
],
2224
ruleName: "no-restricted-syntax",

src/converters/lintConfigs/rules/ruleConverters/tests/no-document-write.test.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ describe(convertNoDocumentWrite, () => {
1111
{
1212
ruleArguments: [
1313
{
14-
message: 'Forbidden call to document.write.',
15-
selector: 'CallExpression[callee.type="MemberExpression"][callee.object.name="document"][callee.property.name=/^(write|writeln)$/]',
14+
message: "Forbidden call to document.write.",
15+
selector:
16+
'CallExpression[callee.type="MemberExpression"][callee.object.name="document"][callee.property.name=/^(write|writeln)$/]',
1617
},
1718
{
18-
message: 'Forbidden write to document.write.',
19-
selector: 'CallExpression[callee.type="MemberExpression"][callee.object.type="MemberExpression"][callee.object.object.name="window"][callee.object.property.name="document"][callee.property.name=/^(write|writeln)$/]',
19+
message: "Forbidden write to document.write.",
20+
selector:
21+
'CallExpression[callee.type="MemberExpression"][callee.object.type="MemberExpression"][callee.object.object.name="window"][callee.object.property.name="document"][callee.property.name=/^(write|writeln)$/]',
2022
},
2123
],
2224
ruleName: "no-restricted-syntax",

src/converters/lintConfigs/rules/ruleConverters/tests/no-exec-script.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ describe(convertNoExecScript, () => {
1313
{
1414
message: "Forbidden call to execScript",
1515
selector: 'CallExpression[callee.name="execScript"]',
16-
}
16+
},
1717
],
1818
ruleName: "restricted-syntax",
1919
},

src/converters/lintConfigs/rules/ruleConverters/tests/react-a11y-accessible-headings.test.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ describe(convertReactA11yAccessibleHeadings, () => {
1818

1919
test("conversion with an argument", () => {
2020
const result = convertReactA11yAccessibleHeadings({
21-
ruleArguments: [{
22-
maxHeadingLength: 23,
23-
}],
21+
ruleArguments: [
22+
{
23+
maxHeadingLength: 23,
24+
},
25+
],
2426
});
2527

2628
expect(result).toEqual({

src/converters/lintConfigs/rules/ruleConverters/tests/react-a11y-anchors.test.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,18 @@ describe(convertReactA11yAnchors, () => {
1818

1919
test("conversion with arguments", () => {
2020
const result = convertReactA11yAnchors({
21-
ruleArguments: [{
22-
'ignore-case': true,
23-
'ignore-whitespace': 'trim'
24-
}],
21+
ruleArguments: [
22+
{
23+
"ignore-case": true,
24+
"ignore-whitespace": "trim",
25+
},
26+
],
2527
});
2628

2729
expect(result).toEqual({
2830
notices: [
2931
`jsx-a11y/anchor-is-valid does not support the 'ignore-case' option.`,
30-
`jsx-a11y/anchor-is-valid does not support the 'ignore-whitespace' option.`
32+
`jsx-a11y/anchor-is-valid does not support the 'ignore-whitespace' option.`,
3133
],
3234
plugins: ["jsx-a11y"],
3335
rules: [

src/converters/lintConfigs/rules/ruleConverters/tests/react-no-dangerous-html.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ describe(convertReactNoDangerousHtml, () => {
77
});
88

99
expect(result).toEqual({
10-
plugins: ['eslint-plugin-react'],
10+
plugins: ["eslint-plugin-react"],
1111
rules: [
1212
{
1313
ruleName: "react/no-danger",

src/converters/lintConfigs/rules/ruleConverters/tests/react-tsx-curly-spacing.test.ts

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,14 @@ import { convertReactTsxCurlySpacing } from "../react-tsx-curly-spacing";
33
describe(convertReactTsxCurlySpacing, () => {
44
test("conversion with 'always'", () => {
55
const result = convertReactTsxCurlySpacing({
6-
ruleArguments: ['always'],
6+
ruleArguments: ["always"],
77
});
88

99
expect(result).toEqual({
1010
plugins: ["eslint-plugin-react"],
1111
rules: [
1212
{
13-
ruleArguments: [
14-
{ when: 'always' }
15-
],
13+
ruleArguments: [{ when: "always" }],
1614
ruleName: "react/jsx-curly-spacing",
1715
},
1816
],
@@ -21,16 +19,14 @@ describe(convertReactTsxCurlySpacing, () => {
2119

2220
test("conversion with 'never'", () => {
2321
const result = convertReactTsxCurlySpacing({
24-
ruleArguments: ['never'],
22+
ruleArguments: ["never"],
2523
});
2624

2725
expect(result).toEqual({
2826
plugins: ["eslint-plugin-react"],
2927
rules: [
3028
{
31-
ruleArguments: [
32-
{ when: 'never' }
33-
],
29+
ruleArguments: [{ when: "never" }],
3430
ruleName: "react/jsx-curly-spacing",
3531
},
3632
],
@@ -39,17 +35,19 @@ describe(convertReactTsxCurlySpacing, () => {
3935

4036
test("conversion with 'never' and 'allowMultiline'", () => {
4137
const result = convertReactTsxCurlySpacing({
42-
ruleArguments: ['never', { allowMultiline: true }],
38+
ruleArguments: ["never", { allowMultiline: true }],
4339
});
4440

4541
expect(result).toEqual({
4642
plugins: ["eslint-plugin-react"],
4743
rules: [
4844
{
49-
ruleArguments: [{
50-
allowMultiline: true,
51-
when: 'never',
52-
}],
45+
ruleArguments: [
46+
{
47+
allowMultiline: true,
48+
when: "never",
49+
},
50+
],
5351
ruleName: "react/jsx-curly-spacing",
5452
},
5553
],

src/input/findOriginalConfigurations.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,10 @@ export const findOriginalConfigurations = async (
116116
};
117117

118118
const getMissingPackageMessage = (error: Error) => {
119-
const match = /(Cannot find module|could not require|couldn't find the plugin) ([a-zA-Z0-9-_"'@/]+)/.exec(
120-
error.message.split("\n").slice(0, 2).join("\n"),
121-
);
119+
const match =
120+
/(Cannot find module|could not require|couldn't find the plugin) ([a-zA-Z0-9-_"'@/]+)/.exec(
121+
error.message.split("\n").slice(0, 2).join("\n"),
122+
);
122123
if (match === null) {
123124
return undefined;
124125
}

0 commit comments

Comments
 (0)