From c22afe213276e1e1c9bd3c366b9fd47848f3300a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B3bert=20Fuszenecker?= Date: Mon, 11 Jun 2018 10:30:20 +0200 Subject: [PATCH] TSLint and friends --- .vscode/settings.json | 3 + package.json | 2 + tslint.json | 144 +++++++++++++++++++----------------------- yarn.lock | 58 +++++++++++++++-- 4 files changed, 120 insertions(+), 87 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..00ad71f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "typescript.tsdk": "node_modules\\typescript\\lib" +} \ No newline at end of file diff --git a/package.json b/package.json index 207c294..04b8697 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,8 @@ "@types/webpack": "4.4.0", "awesome-typescript-loader": "5.0.0", "eslint": "4.19.1", + "tslint": "5.10.0", + "tslint-loader": "3.6.0", "typescript": "2.9.1", "webpack": "4.10.2", "webpack-cli": "2.1.4", diff --git a/tslint.json b/tslint.json index 5deb357..9832aa7 100644 --- a/tslint.json +++ b/tslint.json @@ -1,99 +1,83 @@ { - "extends": ["tslint-react"], + "extends": "tslint:latest", "rules": { - "align": [ - true, - "parameters", - "arguments", - "statements" - ], - "ban": false, - "class-name": true, - "comment-format": [ + "member-access": [ true, - "check-space" + "check-accessor", + "check-constructor", + "check-parameter-property" ], - "curly": true, - "eofline": false, - "forin": true, - "indent": [ true, "spaces" ], - "interface-name": [true, "never-prefix"], - "jsdoc-format": true, - "jsx-no-lambda": false, - "jsx-no-multiline-js": false, - "label-position": true, - "max-line-length": [ true, 120 ], "member-ordering": [ true, - "public-before-private", - "static-before-instance", - "variables-before-functions" + { + "order": [ + "public-static-field", + "public-instance-field", + "protected-static-field", + "protected-instance-field", + "private-static-field", + "private-instance-field", + "public-constructor", + "protected-constructor", + "private-constructor", + "public-static-method", + "public-instance-method", + "protected-static-method", + "protected-instance-method", + "private-static-method", + "private-instance-method" + ] + } ], - "no-any": true, - "no-arg": true, - "no-bitwise": true, - "no-console": [ + "no-inferrable-types": [ true, - "log", - "error", - "debug", - "info", - "time", - "timeEnd", - "trace" + "ignore-params" ], - "no-consecutive-blank-lines": true, - "no-construct": true, - "no-debugger": true, - "no-duplicate-variable": true, - "no-empty": true, - "no-eval": true, - "no-shadowed-variable": true, - "no-string-literal": true, + "no-magic-numbers": true, "no-switch-case-fall-through": true, - "no-trailing-whitespace": false, - "no-unused-expression": true, - "no-use-before-declare": true, - "one-line": [ + "no-this-assignment": true, + "prefer-object-spread": true, + "cyclomatic-complexity": true, + "indent": [ true, - "check-catch", - "check-else", - "check-open-brace", - "check-whitespace" + "spaces", + 4 ], - "quotemark": [true, "single", "jsx-double"], - "radix": true, - "semicolon": [true, "always"], - "switch-default": true, - - "trailing-comma": false, - - "triple-equals": [ true, "allow-null-check" ], - "typedef": [ + "linebreak-style": [ true, - "parameter", - "property-declaration" + "CRLF" ], - "typedef-whitespace": [ + "max-file-line-count": [ true, - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - } + 300 + ], + "max-line-length": [ + true, + 180 + ], + "no-duplicate-imports": true, + "no-require-imports": true, + "object-literal-sort-keys": false, + "align": [ + true, + "parameters", + "arguments", + "statements", + "members", + "elements" + ], + "arrow-return-shorthand": [ + true, + "multiline" ], - "variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore", "allow-pascal-case"], - "whitespace": [ + "encoding": true, + "newline-before-return": true, + "number-literal-format": true, + "quotemark": [true, "double", "jsx-double", "avoid-escape"], + "variable-name": [ true, - "check-branch", - "check-decl", - "check-module", - "check-operator", - "check-separator", - "check-type", - "check-typecast" + "check-format", + "ban-keywords" ] } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 164ca2d..59def7f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1206,7 +1206,7 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -builtin-modules@^1.0.0: +builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1475,6 +1475,10 @@ colors@^1.1.2: version "1.3.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.0.tgz#5f20c9fef6945cb1134260aab33bfbdc8295e04e" +commander@^2.12.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" @@ -1813,7 +1817,7 @@ detect-node@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" -diff@^3.3.1, diff@^3.5.0: +diff@^3.2.0, diff@^3.3.1, diff@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -2532,7 +2536,7 @@ glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -3261,6 +3265,13 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" +js-yaml@^3.7.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + js-yaml@^3.9.1: version "3.11.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" @@ -3466,7 +3477,7 @@ loader-utils@^0.2.11: json5 "^0.5.0" object-assign "^4.0.1" -loader-utils@^1.1.0: +loader-utils@^1.0.2, loader-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" dependencies: @@ -4784,7 +4795,7 @@ resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" -resolve@^1.1.6: +resolve@^1.1.6, resolve@^1.3.2: version "1.7.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" dependencies: @@ -4814,7 +4825,7 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" -rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: +rimraf@^2.2.8, rimraf@^2.4.4, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: @@ -5439,10 +5450,43 @@ trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" -tslib@^1.9.0: +tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: version "1.9.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.2.tgz#8be0cc9a1f6dc7727c38deb16c2ebd1a2892988e" +tslint-loader@3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/tslint-loader/-/tslint-loader-3.6.0.tgz#12ed4d5ef57d68be25cd12692fb2108b66469d76" + dependencies: + loader-utils "^1.0.2" + mkdirp "^0.5.1" + object-assign "^4.1.1" + rimraf "^2.4.4" + semver "^5.3.0" + +tslint@5.10.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.10.0.tgz#11e26bccb88afa02dd0d9956cae3d4540b5f54c3" + dependencies: + babel-code-frame "^6.22.0" + builtin-modules "^1.1.1" + chalk "^2.3.0" + commander "^2.12.1" + diff "^3.2.0" + glob "^7.1.1" + js-yaml "^3.7.0" + minimatch "^3.0.4" + resolve "^1.3.2" + semver "^5.3.0" + tslib "^1.8.0" + tsutils "^2.12.1" + +tsutils@^2.12.1: + version "2.27.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.27.1.tgz#ab0276ac23664f36ce8fd4414daec4aebf4373ee" + 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"