diff --git a/.eslintrc.json b/.eslintrc.json index 940a43c..b934794 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,7 +1,21 @@ { - "extends": ["onepass"], + "extends":["onepass"], "env": { "browser": true, "webextensions": true - } -} + }, + "rules": { + "no-console": 0, + "no-extend-native": 0, + "react/jsx-filename-extension": [1, { "extensions": [".jsx", "tsx"] }], + "prettier/prettier": [ + "error", + { + "trailingComma": "es5", + "singleQuote": true, + "printWidth": 120, + "tabWidth": 4 + } + ] + } +} \ No newline at end of file diff --git a/package.json b/package.json index 60b7f2e..d8c4156 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,8 @@ "@babel/preset-env": "^7.8.3", "@types/react": "^16.9.19", "@types/react-dom": "^16.9.5", + "@typescript-eslint/eslint-plugin": "^2.16.0", + "@typescript-eslint/parser": "^2.16.0", "autoprefixer": "^9.7.3", "awesome-typescript-loader": "^5.2.1", "babel-eslint": "10.0.3", @@ -48,7 +50,7 @@ "css-loader": "^3.4.2", "eslint": "^6.8.0", "eslint-config-airbnb": "^18.0.1", - "eslint-config-onepass": "^1.6.0", + "eslint-config-onepass": "2.1.0", "eslint-config-prettier": "^6.9.0", "eslint-plugin-html": "^6.0.0", "eslint-plugin-import": "^2.20.0", diff --git a/yarn.lock b/yarn.lock index 25e050e..1849fc5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -738,6 +738,11 @@ resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" @@ -752,6 +757,11 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/json-schema@^7.0.3": + version "7.0.4" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" + integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== + "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" @@ -820,6 +830,49 @@ "@types/webpack-sources" "*" source-map "^0.6.0" +"@typescript-eslint/eslint-plugin@^2.16.0": + version "2.17.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.17.0.tgz#880435a9f9bdd50b45fa286ba63fed723d73c837" + integrity sha512-tg/OMOtPeXlvk0ES8mZzEZ4gd1ruSE03nsKcK+teJhxYv5CPCXK6Mb/OK6NpB4+CqGTHs4MVeoSZXNFqpT1PyQ== + dependencies: + "@typescript-eslint/experimental-utils" "2.17.0" + eslint-utils "^1.4.3" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@2.17.0": + version "2.17.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.17.0.tgz#12ed4a5d656e02ff47a93efc7d1ce1b8f1242351" + integrity sha512-2bNf+mZ/3mj5/3CP56v+ldRK3vFy9jOvmCPs/Gr2DeSJh+asPZrhFniv4QmQsHWQFPJFWhFHgkGgJeRmK4m8iQ== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.17.0" + eslint-scope "^5.0.0" + +"@typescript-eslint/parser@^2.16.0": + version "2.17.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.17.0.tgz#627f79586d868edbab55f46a6b183cdc341aea1d" + integrity sha512-k1g3gRQ4fwfJoIfgUpz78AovicSWKFANmvTfkAHP24MgJHjWfZI6ya7tsQZt1sLczvP4G9BE5G5MgADHdmJB/w== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.17.0" + "@typescript-eslint/typescript-estree" "2.17.0" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@2.17.0": + version "2.17.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.17.0.tgz#2ce1531ec0925ef8d22d7026235917c2638a82af" + integrity sha512-g0eVRULGnEEUakxRfJO0s0Hr1LLQqsI6OrkiCLpdHtdJJek+wyd8mb00vedqAoWldeDcOcP8plqw8/jx9Gr3Lw== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^6.3.0" + tsutils "^3.17.1" + "@webassemblyjs/ast@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" @@ -2738,10 +2791,10 @@ eslint-config-airbnb@^18.0.1: object.assign "^4.1.0" object.entries "^1.1.0" -eslint-config-onepass@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/eslint-config-onepass/-/eslint-config-onepass-1.6.0.tgz#36f1a90b48697691d01214fde8f917d59f0b3453" - integrity sha512-EMlcLU0xjIISDqNNF3SB9khRrtOa+rJvvvCzXq+6xnwPYS/I9DDX1x4sHumwpjAJKbtoFDDAT6buPZDd/QcYuw== +eslint-config-onepass@2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-config-onepass/-/eslint-config-onepass-2.1.0.tgz#d67e5aa3d642b3681e951d43757661dbb5530184" + integrity sha512-jOVt5McoP7S3sCCeqpWQPa/IUw2DpCl+x5e3jA0wGxkBdBd8n26+92Dc0wEI1oK5F8xJhBkZXj4sVvT8hxZSNA== eslint-config-prettier@^6.9.0: version "6.9.0" @@ -3461,7 +3514,7 @@ glob-parent@^5.0.0: dependencies: is-glob "^4.0.1" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -5989,6 +6042,11 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== +regexpp@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" + integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== + regexpu-core@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" @@ -7011,11 +7069,18 @@ trim-newlines@^1.0.0: dependencies: glob "^7.1.2" -tslib@^1.9.0: +tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +tsutils@^3.17.1: + version "3.17.1" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== + dependencies: + tslib "^1.8.1" + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"