Have eslint support typescript

This commit is contained in:
Greg Shuflin 2021-09-12 01:50:27 -07:00
parent 0331062120
commit 75403ca383
4 changed files with 101 additions and 4 deletions

View File

@ -7,6 +7,7 @@ module.exports = {
'plugin:react/recommended', 'plugin:react/recommended',
'xo', 'xo',
], ],
parser: "@typescript-eslint/parser",
parserOptions: { parserOptions: {
ecmaFeatures: { ecmaFeatures: {
jsx: true, jsx: true,
@ -16,6 +17,7 @@ module.exports = {
}, },
plugins: [ plugins: [
'react', 'react',
"@typescript-eslint"
], ],
rules: { rules: {
"arrow-parens": ["error", "always"] "arrow-parens": ["error", "always"]

View File

@ -15,6 +15,8 @@
"devDependencies": { "devDependencies": {
"@parcel/transformer-image": "2.0.0-rc.0", "@parcel/transformer-image": "2.0.0-rc.0",
"@parcel/transformer-sass": "2.0.0-rc.0", "@parcel/transformer-sass": "2.0.0-rc.0",
"@typescript-eslint/eslint-plugin": "^4.31.0",
"@typescript-eslint/parser": "^4.31.0",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-config-xo": "^0.38.0", "eslint-config-xo": "^0.38.0",
"eslint-plugin-react": "^7.25.1", "eslint-plugin-react": "^7.25.1",

View File

@ -42,7 +42,7 @@ function vowelDeclension(sai: string) {
}; };
} }
function aiDeclension(sai) { function aiDeclension(sai: string) {
const {root, ending} = rootEndingPair(sai); const {root, ending} = rootEndingPair(sai);
return { return {
abs: `${root}${ending}`, abs: `${root}${ending}`,
@ -56,7 +56,7 @@ function aiDeclension(sai) {
}; };
} }
function consonantDeclension(sai) { function consonantDeclension(sai: string) {
const split = rootEndingPair(sai); const split = rootEndingPair(sai);
const root = split.ending === 'ø' ? split.root : sai; const root = split.ending === 'ø' ? split.root : sai;
const absFinal = split.ending === 'ø' ? 'ø' : ''; const absFinal = split.ending === 'ø' ? 'ø' : '';
@ -75,7 +75,7 @@ function consonantDeclension(sai) {
const vowels = ['a', 'e', 'ê', 'i', 'o', 'ô', 'u', 'y']; const vowels = ['a', 'e', 'ê', 'i', 'o', 'ô', 'u', 'y'];
function initalDeclension(sai) { function initalDeclension(sai: string) {
const initial = sai.slice(0, 1); const initial = sai.slice(0, 1);
const root = sai.slice(1); const root = sai.slice(1);

View File

@ -901,6 +901,11 @@
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
"@types/json-schema@^7.0.7":
version "7.0.9"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
"@types/node@*": "@types/node@*":
version "16.9.1" version "16.9.1"
resolved "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz" resolved "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz"
@ -911,6 +916,75 @@
resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz"
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
"@typescript-eslint/eslint-plugin@^4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz#9c3fa6f44bad789a962426ad951b54695bd3af6b"
integrity sha512-iPKZTZNavAlOhfF4gymiSuUkgLne/nh5Oz2/mdiUmuZVD42m9PapnCnzjxuDsnpnbH3wT5s2D8bw6S39TC6GNw==
dependencies:
"@typescript-eslint/experimental-utils" "4.31.0"
"@typescript-eslint/scope-manager" "4.31.0"
debug "^4.3.1"
functional-red-black-tree "^1.0.1"
regexpp "^3.1.0"
semver "^7.3.5"
tsutils "^3.21.0"
"@typescript-eslint/experimental-utils@4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.0.tgz#0ef1d5d86c334f983a00f310e43c1ce4c14e054d"
integrity sha512-Hld+EQiKLMppgKKkdUsLeVIeEOrwKc2G983NmznY/r5/ZtZCDvIOXnXtwqJIgYz/ymsy7n7RGvMyrzf1WaSQrw==
dependencies:
"@types/json-schema" "^7.0.7"
"@typescript-eslint/scope-manager" "4.31.0"
"@typescript-eslint/types" "4.31.0"
"@typescript-eslint/typescript-estree" "4.31.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
"@typescript-eslint/parser@^4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.31.0.tgz#87b7cd16b24b9170c77595d8b1363f8047121e05"
integrity sha512-oWbzvPh5amMuTmKaf1wp0ySxPt2ZXHnFQBN2Szu1O//7LmOvgaKTCIDNLK2NvzpmVd5A2M/1j/rujBqO37hj3w==
dependencies:
"@typescript-eslint/scope-manager" "4.31.0"
"@typescript-eslint/types" "4.31.0"
"@typescript-eslint/typescript-estree" "4.31.0"
debug "^4.3.1"
"@typescript-eslint/scope-manager@4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.0.tgz#9be33aed4e9901db753803ba233b70d79a87fc3e"
integrity sha512-LJ+xtl34W76JMRLjbaQorhR0hfRAlp3Lscdiz9NeI/8i+q0hdBZ7BsiYieLoYWqy+AnRigaD3hUwPFugSzdocg==
dependencies:
"@typescript-eslint/types" "4.31.0"
"@typescript-eslint/visitor-keys" "4.31.0"
"@typescript-eslint/types@4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.0.tgz#9a7c86fcc1620189567dc4e46cad7efa07ee8dce"
integrity sha512-9XR5q9mk7DCXgXLS7REIVs+BaAswfdHhx91XqlJklmqWpTALGjygWVIb/UnLh4NWhfwhR5wNe1yTyCInxVhLqQ==
"@typescript-eslint/typescript-estree@4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.0.tgz#4da4cb6274a7ef3b21d53f9e7147cc76f278a078"
integrity sha512-QHl2014t3ptg+xpmOSSPn5hm4mY8D4s97ftzyk9BZ8RxYQ3j73XcwuijnJ9cMa6DO4aLXeo8XS3z1omT9LA/Eg==
dependencies:
"@typescript-eslint/types" "4.31.0"
"@typescript-eslint/visitor-keys" "4.31.0"
debug "^4.3.1"
globby "^11.0.3"
is-glob "^4.0.1"
semver "^7.3.5"
tsutils "^3.21.0"
"@typescript-eslint/visitor-keys@4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.0.tgz#4e87b7761cb4e0e627dc2047021aa693fc76ea2b"
integrity sha512-HUcRp2a9I+P21+O21yu3ezv3GEPGjyGiXoEUQwZXjR8UxRApGeLyWH4ZIIUSalE28aG4YsV6GjtaAVB3QKOu0w==
dependencies:
"@typescript-eslint/types" "4.31.0"
eslint-visitor-keys "^2.0.0"
abab@^2.0.0: abab@^2.0.0:
version "2.0.5" version "2.0.5"
resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz"
@ -1921,7 +1995,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
dependencies: dependencies:
ms "2.0.0" ms "2.0.0"
debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
version "4.3.2" version "4.3.2"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz"
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
@ -2293,6 +2367,13 @@ eslint-utils@^2.1.0:
dependencies: dependencies:
eslint-visitor-keys "^1.1.0" eslint-visitor-keys "^1.1.0"
eslint-utils@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
dependencies:
eslint-visitor-keys "^2.0.0"
eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
version "1.3.0" version "1.3.0"
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
@ -5614,6 +5695,18 @@ tr46@^1.0.1:
dependencies: dependencies:
punycode "^2.1.0" punycode "^2.1.0"
tslib@^1.8.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
dependencies:
tslib "^1.8.1"
tty-browserify@^0.0.1: tty-browserify@^0.0.1:
version "0.0.1" version "0.0.1"
resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz" resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz"