Skip to content

Commit 87f4189

Browse files
authored
chore: Replace TSLint with ESLint in contracts/utils,treasury,test-utils,erc20 (#589)
* replace TSLint with ESLint in contracts-utils * also contracts/treasury * also do test-utils * yarn fix * fix stuff yarn fix could not fix * eslint erc20 contracts folder too * changelogs * actually zeroex was a different pr * PR #589 in changelogs * whitespace * prettier
1 parent 390e1b8 commit 87f4189

17 files changed

+174
-29
lines changed

contracts/erc20/.eslintrc

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"env": {
3+
"es2021": true,
4+
"node": true
5+
},
6+
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
7+
"overrides": [],
8+
"parser": "@typescript-eslint/parser",
9+
"parserOptions": {
10+
"project": "./tsconfig.json",
11+
"ecmaVersion": "latest",
12+
"sourceType": "module"
13+
},
14+
"plugins": ["@typescript-eslint"],
15+
"ignorePatterns": [
16+
"lib/**/*",
17+
"contracts/**/*",
18+
"generated-wrappers/**/*",
19+
"generated-artifacts/**/*",
20+
"test/generated-wrappers/**/*",
21+
"test/generated-artifacts/**/*"
22+
23+
],
24+
"rules": {}
25+
}

contracts/erc20/CHANGELOG.json

+9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
[
2+
{
3+
"version": "3.3.45",
4+
"changes": [
5+
{
6+
"note": "Migrate from TSLint to ESLint and fix linting errors",
7+
"pr": 589
8+
}
9+
]
10+
},
211
{
312
"timestamp": 1663786955,
413
"version": "3.3.44",

contracts/erc20/package.json

+6-4
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
"watch": "sol-compiler -w",
2424
"clean": "shx rm -rf lib test/generated-artifacts test/generated-wrappers generated-artifacts generated-wrappers",
2525
"generate_contract_wrappers": "abi-gen --debug --abis ${npm_package_config_abis} --output test/generated-wrappers --backend ethers",
26-
"lint": "tslint --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./test/generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude ./test/generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts",
27-
"fix": "tslint --fix --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./test/generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude ./test/generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts",
26+
"lint": "eslint src test && yarn lint-contracts",
27+
"fix": "eslint --fix src test && yarn lint-contracts",
2828
"coverage:report:text": "istanbul report text",
2929
"coverage:report:html": "istanbul report html && open coverage/index.html",
3030
"profiler:report:html": "istanbul report html && open coverage/index.html",
@@ -58,7 +58,6 @@
5858
"@0x/dev-utils": "^5.0.0",
5959
"@0x/sol-compiler": "^4.8.2",
6060
"@0x/ts-doc-gen": "^0.0.28",
61-
"@0x/tslint-config": "^4.1.4",
6261
"@0x/types": "^3.3.6",
6362
"@0x/typescript-typings": "^5.3.1",
6463
"@0x/utils": "^7.0.0",
@@ -77,7 +76,10 @@
7776
"npm-run-all": "^4.1.2",
7877
"shx": "^0.2.2",
7978
"solhint": "^1.4.1",
80-
"tslint": "5.11.0",
79+
"@typescript-eslint/eslint-plugin": "^5.38.0",
80+
"@typescript-eslint/parser": "^5.38.0",
81+
"eslint": "^8.23.1",
82+
"eslint-config-prettier": "^8.5.0",
8183
"typedoc": "~0.16.11",
8284
"typescript": "4.6.3"
8385
},

contracts/test-utils/.eslintrc

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"env": {
3+
"es2021": true,
4+
"node": true
5+
},
6+
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
7+
"overrides": [],
8+
"parser": "@typescript-eslint/parser",
9+
"parserOptions": {
10+
"project": "./tsconfig.json",
11+
"ecmaVersion": "latest",
12+
"sourceType": "module"
13+
},
14+
"plugins": ["@typescript-eslint"],
15+
"ignorePatterns": [
16+
"lib/**/*",
17+
"contracts/**/*",
18+
"generated-wrappers/**/*",
19+
"generated-artifacts/**/*",
20+
"test/generated-wrappers/**/*",
21+
"test/generated-artifacts/**/*"
22+
23+
],
24+
"rules": {}
25+
}

contracts/test-utils/CHANGELOG.json

+9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
[
2+
{
3+
"version": "5.4.36",
4+
"changes": [
5+
{
6+
"note": "Migrate from TSLint to ESLint and fix linting errors",
7+
"pr": 589
8+
}
9+
]
10+
},
211
{
312
"timestamp": 1663786955,
413
"version": "5.4.35",

contracts/test-utils/package.json

+6-4
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"test:coverage": "run-s build run_mocha coverage:report:text coverage:report:lcov",
1717
"run_mocha": "mocha --require source-map-support/register --require make-promises-safe 'lib/test/**/*.js' --timeout 100000 --bail --exit",
1818
"clean": "shx rm -rf lib",
19-
"lint": "tslint --format stylish --project tsconfig.lint.json",
20-
"fix": "tslint --fix --format stylish --project tsconfig.lint.json",
19+
"lint": "eslint src test",
20+
"fix": "eslint --fix src test",
2121
"coverage:report:text": "istanbul report text",
2222
"coverage:report:html": "istanbul report html && open coverage/index.html",
2323
"profiler:report:html": "istanbul report html && open coverage/index.html",
@@ -35,10 +35,12 @@
3535
"homepage": "https://github.com/0xProject/protocol/tree/main/contracts/test-utils",
3636
"devDependencies": {
3737
"@0x/sol-compiler": "^4.8.2",
38-
"@0x/tslint-config": "^4.1.4",
3938
"npm-run-all": "^4.1.2",
4039
"shx": "^0.2.2",
41-
"tslint": "5.11.0",
40+
"@typescript-eslint/eslint-plugin": "^5.38.0",
41+
"@typescript-eslint/parser": "^5.38.0",
42+
"eslint": "^8.23.1",
43+
"eslint-config-prettier": "^8.5.0",
4244
"typescript": "4.6.3"
4345
},
4446
"dependencies": {

contracts/test-utils/src/assertions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,9 @@ export async function expectTransactionFailedAsync(p: sendTransactionResult, rea
102102
if (nodeType === undefined) {
103103
nodeType = await web3Wrapper.getNodeTypeAsync();
104104
}
105+
const rejectionMessageRegex = new RegExp(`^VM Exception while processing transaction: revert ${reason}$`);
105106
switch (nodeType) {
106107
case NodeType.Ganache:
107-
const rejectionMessageRegex = new RegExp(`^VM Exception while processing transaction: revert ${reason}$`);
108108
return expect(p).to.be.rejectedWith(rejectionMessageRegex);
109109
case NodeType.Geth:
110110
logUtils.warn(

contracts/test-utils/src/lang_utils.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,14 @@ export function shortZip<T1, T2>(a: T1[], b: T2[]): Array<[T1, T2]> {
1111
/**
1212
* Replaces the keys in a deeply nested object. Adapted from https://stackoverflow.com/a/39126851
1313
*/
14-
export function replaceKeysDeep(obj: {}, mapKeys: (key: string) => string | void): _.Dictionary<{}> {
14+
export function replaceKeysDeep(
15+
obj: Record<string, unknown>,
16+
mapKeys: (key: string) => string | void,
17+
): _.Dictionary<Record<string, unknown>> {
1518
return _.transform(obj, (result, value, key) => {
1619
const currentKey = mapKeys(key) || key;
17-
result[currentKey] = _.isObject(value) ? replaceKeysDeep(value as {}, mapKeys) : (value as {});
20+
result[currentKey] = _.isObject(value)
21+
? replaceKeysDeep(value as Record<string, unknown>, mapKeys)
22+
: (value as Record<string, unknown>);
1823
});
1924
}

contracts/test-utils/src/number_utils.ts

+3-8
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export function fromFixed(n: Numberish): BigNumber {
6666
* Converts two decimal numbers to integers with `precision` digits, then returns
6767
* the absolute difference.
6868
*/
69-
export function getNumericalDivergence(a: Numberish, b: Numberish, precision: number = 18): number {
69+
export function getNumericalDivergence(a: Numberish, b: Numberish, precision = 18): number {
7070
const _a = new BigNumber(a);
7171
const _b = new BigNumber(b);
7272
const maxIntegerDigits = Math.max(
@@ -86,7 +86,7 @@ export function getNumericalDivergence(a: Numberish, b: Numberish, precision: nu
8686
/**
8787
* Asserts that two numbers are equal up to `precision` digits.
8888
*/
89-
export function assertRoughlyEquals(actual: Numberish, expected: Numberish, precision: number = 18): void {
89+
export function assertRoughlyEquals(actual: Numberish, expected: Numberish, precision = 18): void {
9090
if (getNumericalDivergence(actual, expected, precision) <= 1) {
9191
return;
9292
}
@@ -96,12 +96,7 @@ export function assertRoughlyEquals(actual: Numberish, expected: Numberish, prec
9696
/**
9797
* Asserts that two numbers are equal with up to `maxError` difference between them.
9898
*/
99-
export function assertIntegerRoughlyEquals(
100-
actual: Numberish,
101-
expected: Numberish,
102-
maxError: number = 1,
103-
msg?: string,
104-
): void {
99+
export function assertIntegerRoughlyEquals(actual: Numberish, expected: Numberish, maxError = 1, msg?: string): void {
105100
const diff = new BigNumber(actual)
106101
.minus(expected)
107102
.abs()

contracts/test-utils/src/web3_wrapper.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export const txDefaults = {
1515
gasPrice: constants.DEFAULT_GAS_PRICE,
1616
};
1717

18-
export let providerConfigs: Web3Config = {
18+
export const providerConfigs: Web3Config = {
1919
total_accounts: constants.NUM_TEST_ACCOUNTS,
2020
shouldUseInProcessGanache: true,
2121
shouldAllowUnlimitedContractSize: true,

contracts/test-utils/test/mocha_blockchain.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import * as process from 'process';
44
import { expect } from '../src/chai_setup';
55
import { constants } from '../src/constants';
66
import { blockchainTests, describe } from '../src/mocha_blockchain';
7+
import { append } from './subtests/mocha_blockchain_1';
78

89
blockchainTests('mocha blockchain extensions', env => {
910
describe('blockchainTests()', () => {
@@ -78,7 +79,7 @@ blockchainTests('mocha blockchain extensions', env => {
7879
});
7980

8081
describe('subtests', () => {
81-
require('./subtests/mocha_blockchain_1').append(env);
82+
append(env);
8283
});
8384
});
8485

contracts/treasury/.eslintrc

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"env": {
3+
"es2021": true,
4+
"node": true
5+
},
6+
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
7+
"overrides": [],
8+
"parser": "@typescript-eslint/parser",
9+
"parserOptions": {
10+
"project": "./tsconfig.json",
11+
"ecmaVersion": "latest",
12+
"sourceType": "module"
13+
},
14+
"plugins": ["@typescript-eslint"],
15+
"ignorePatterns": [
16+
"lib/**/*",
17+
"contracts/**/*",
18+
"generated-wrappers/**/*",
19+
"generated-artifacts/**/*",
20+
"test/generated-wrappers/**/*",
21+
"test/generated-artifacts/**/*"
22+
23+
],
24+
"rules": {}
25+
}

contracts/treasury/CHANGELOG.json

+9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
[
2+
{
3+
"version": "1.4.28",
4+
"changes": [
5+
{
6+
"note": "Migrate from TSLint to ESLint and fix linting errors",
7+
"pr": 589
8+
}
9+
]
10+
},
211
{
312
"timestamp": 1663786955,
413
"version": "1.4.27",

contracts/treasury/package.json

+6-4
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
"watch": "sol-compiler -w",
2222
"clean": "shx rm -rf lib test/generated-artifacts test/generated-wrappers generated-artifacts generated-wrappers",
2323
"generate_contract_wrappers": "abi-gen --debug --abis ${npm_package_config_abis} --output test/generated-wrappers --backend ethers",
24-
"lint": "tslint --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./test/generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude ./test/generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts",
25-
"fix": "tslint --fix --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude ./test/generated-wrappers/**/* --exclude ./test/generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts",
24+
"lint": "eslint src test && yarn lint-contracts",
25+
"fix": "eslint --fix src test && yarn lint-contracts",
2626
"test:circleci": "yarn test",
2727
"contracts:gen": "contracts-gen generate",
2828
"contracts:copy": "contracts-gen copy",
@@ -55,7 +55,6 @@
5555
"@0x/contracts-test-utils": "^5.4.35",
5656
"@0x/sol-compiler": "^4.8.2",
5757
"@0x/ts-doc-gen": "^0.0.28",
58-
"@0x/tslint-config": "^4.1.4",
5958
"@types/isomorphic-fetch": "^0.0.35",
6059
"@types/lodash": "4.14.104",
6160
"@types/mocha": "^5.2.7",
@@ -67,7 +66,10 @@
6766
"prompts": "^2.4.0",
6867
"shx": "^0.2.2",
6968
"solhint": "^1.4.1",
70-
"tslint": "5.11.0",
69+
"@typescript-eslint/eslint-plugin": "^5.38.0",
70+
"@typescript-eslint/parser": "^5.38.0",
71+
"eslint": "^8.23.1",
72+
"eslint-config-prettier": "^8.5.0",
7173
"typedoc": "~0.16.11",
7274
"typescript": "4.6.3"
7375
},

contracts/utils/.eslintrc

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"env": {
3+
"es2021": true,
4+
"node": true
5+
},
6+
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
7+
"overrides": [],
8+
"parser": "@typescript-eslint/parser",
9+
"parserOptions": {
10+
"project": "./tsconfig.json",
11+
"ecmaVersion": "latest",
12+
"sourceType": "module"
13+
},
14+
"plugins": ["@typescript-eslint"],
15+
"ignorePatterns": [
16+
"lib/**/*",
17+
"contracts/**/*",
18+
"generated-wrappers/**/*",
19+
"generated-artifacts/**/*",
20+
"test/generated-wrappers/**/*",
21+
"test/generated-artifacts/**/*"
22+
23+
],
24+
"rules": {}
25+
}

contracts/utils/CHANGELOG.json

+9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
[
2+
{
3+
"version": "4.8.26",
4+
"changes": [
5+
{
6+
"note": "Migrate from TSLint to ESLint and fix linting errors",
7+
"pr": 589
8+
}
9+
]
10+
},
211
{
312
"timestamp": 1663786955,
413
"version": "4.8.25",

contracts/utils/package.json

+6-4
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
"watch": "sol-compiler -w",
2424
"clean": "shx rm -rf lib test/generated-artifacts test/generated-wrappers generated-artifacts generated-wrappers",
2525
"generate_contract_wrappers": "abi-gen --debug --abis ${npm_package_config_abis} --output test/generated-wrappers --backend ethers",
26-
"lint": "tslint --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./test/generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude ./test/generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts",
27-
"fix": "tslint --fix --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./test/generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude ./test/generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts",
26+
"lint": "eslint src test && yarn lint-contracts",
27+
"fix": "eslint --fix src test && yarn lint-contracts",
2828
"coverage:report:text": "istanbul report text",
2929
"coverage:report:html": "istanbul report html && open coverage/index.html",
3030
"profiler:report:html": "istanbul report html && open coverage/index.html",
@@ -56,7 +56,10 @@
5656
"@0x/dev-utils": "^5.0.0",
5757
"@0x/order-utils": "^10.4.28",
5858
"@0x/sol-compiler": "^4.8.2",
59-
"@0x/tslint-config": "^4.1.4",
59+
"@typescript-eslint/eslint-plugin": "^5.38.0",
60+
"@typescript-eslint/parser": "^5.38.0",
61+
"eslint": "^8.23.1",
62+
"eslint-config-prettier": "^8.5.0",
6063
"@0x/types": "^3.3.6",
6164
"@0x/web3-wrapper": "^8.0.0",
6265
"@types/bn.js": "^4.11.0",
@@ -75,7 +78,6 @@
7578
"shx": "^0.2.2",
7679
"solhint": "^1.4.1",
7780
"truffle": "^5.0.32",
78-
"tslint": "5.11.0",
7981
"typescript": "4.6.3"
8082
},
8183
"dependencies": {

0 commit comments

Comments
 (0)