diff --git a/.circleci/config.yml b/.circleci/config.yml index 32ccdc10..aebcdea8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,7 +23,6 @@ jobs: - run: bash -c 'GLOBIGNORE="node_modules" shellcheck -e2012 **/*.sh' - run: yarn run lint - run: bash -c '"$(yarn bin)/tslint" --project .' - - run: bash -c '"$(yarn bin)/eslint" . --ext .ts' unit: docker: - image: circleci/node:latest diff --git a/hooks/pre-commit b/hooks/pre-commit index 81d5021d..b015d1ea 100755 --- a/hooks/pre-commit +++ b/hooks/pre-commit @@ -7,7 +7,7 @@ otherfiles=$(cachedPrettierFiles) # Check if any of the files are ugly or contain a console.log call consoleFiles=$(noisy $jsfiles) -uglyFiles="$(tslintUgly $jsfiles)" +uglyFiles = "$(eslintUgly) $jsfiles" if [ ! -n "$uglyFiles" ]; then uglyFiles="$(prettierUgly $otherfiles)" fi diff --git a/scripts/common.sh b/scripts/common.sh index 820b629f..8e9df652 100755 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -29,16 +29,16 @@ prettierUgly() { echo "$acc" } -tslintUgly() { +eslintUgly() { local acc="" local IFS=$'\n' local tmpdir - tmpdir=$(mktemp -d "tslint.XXXXXXXXX") + tmpdir=$(mktemp -d "eslint.XXXXXXXXX") for jsfile in "$@"; do tmpfile="$tmpdir/$jsfile" mkdir -p "$(dirname "$tmpfile")" staged "$jsfile" > "$tmpfile" - "$(yarn bin)/tslint" -q "$tmpfile" 2>/dev/null || acc="$jsfile"$'\n'"$acc" + "$(yarn bin)/eslint" --quiet -o /dev/null "$tmpfile" || acc="$jsfile"$'\n'"$acc" done rm -rf "$tmpdir" echo "$acc" diff --git a/scripts/pretty.sh b/scripts/pretty.sh index d9ec1a2e..18fc3c73 100755 --- a/scripts/pretty.sh +++ b/scripts/pretty.sh @@ -39,7 +39,7 @@ main() { lock .git/index.lock case "$file" in *.md | *.css) prettier --write "$file";; - *) tslint --project . --fix "$file";; + *) eslint --fix "$file";; esac unlock .git/index.lock git add "$file" @@ -58,7 +58,7 @@ main() { mv "$tmpfile" "$file";; *) staged "$file" > "$tmpfile" - tslint -c ../tslint.json --fix "$tmpfile" 2>/dev/null && + eslint -c ../.eslintrc.js --fix -o /dev/null "$tmpfile" && mv "$tmpfile" "$file";; esac chmod --reference="../$file" "$file" # match permissions diff --git a/yarn.lock b/yarn.lock index 916ba700..dc5c0b60 100644 --- a/yarn.lock +++ b/yarn.lock @@ -607,6 +607,13 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" +"@phenomnomnominal/tsquery@^4.0.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@phenomnomnominal/tsquery/-/tsquery-4.1.0.tgz#9c836d6db829b5127ccc1ffd8e4c2ad08d600071" + integrity sha512-+i1eqUJODVanUDuTdOPgnjErFg21DKGLstdRXp4LLGcSbO7c+3pwJPkmdSfbkh9gO6xaHJ/5ftSAMqEFJF5cGA== + dependencies: + esquery "^1.0.1" + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -4551,6 +4558,11 @@ immer@^6.0.9: resolved "https://registry.yarnpkg.com/immer/-/immer-6.0.9.tgz#b9dd69b8e69b3a12391e87db1e3ff535d1b26485" integrity sha512-SyCYnAuiRf67Lvk0VkwFvwtDoEiCMjeamnHvRfnVDyc7re1/rQrNxuL+jJ7lA3WvdC4uznrvbmm+clJ9+XXatg== +immutable@^3.8.2: + version "3.8.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" + integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= + import-fresh@3.2.1, import-fresh@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" @@ -8942,6 +8954,28 @@ tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +tslib@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.0.tgz#18d13fc2dce04051e20f074cc8387fd8089ce4f3" + integrity sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g== + +tslint-etc@^1.10.1: + version "1.11.0" + resolved "https://registry.yarnpkg.com/tslint-etc/-/tslint-etc-1.11.0.tgz#38198119ab73a5b607854baf1c1af79cc3df8d63" + integrity sha512-/Td1CcCI5uDnCkrGO8+m4grC/kFwCRmJePgSWCfS+58Vuf3mVcrmaSAHdzu0Z89EfrJUfXKhUfe5fiG0rsSFog== + dependencies: + "@phenomnomnominal/tsquery" "^4.0.0" + tslib "^2.0.0" + tsutils "^3.0.0" + tsutils-etc "^1.0.0" + +tslint-sonarts@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/tslint-sonarts/-/tslint-sonarts-1.9.0.tgz#feb593e92db328c0328b430b838adbe65d504de9" + integrity sha512-CJWt+IiYI8qggb2O/JPkS6CkC5DY1IcqRsm9EHJ+AxoWK70lvtP7jguochyNDMP2vIz/giGdWCfEM39x/I/Vnw== + dependencies: + immutable "^3.8.2" + tslint@^5.20.1: version "5.20.1" resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" @@ -8961,6 +8995,11 @@ tslint@^5.20.1: tslib "^1.8.0" tsutils "^2.29.0" +tsutils-etc@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tsutils-etc/-/tsutils-etc-1.2.2.tgz#cdeeb777574a5c1b15b27658cb8424f7f7139831" + integrity sha512-5g2cXpD1OoVc/MLZxh5PuHXhlnYQmuRiW66e1n91j+2J/Pw5lfmVcZAghoDVBdltDXGaCjy8ZttXaX2u/MjHgg== + tsutils@^2.29.0: version "2.29.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" @@ -8968,7 +9007,7 @@ tsutils@^2.29.0: dependencies: tslib "^1.8.1" -tsutils@^3.17.1: +tsutils@^3.0.0, tsutils@^3.17.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==