From acacc15aae9b1aece4d0e9e4f16ee2dfaa71455a Mon Sep 17 00:00:00 2001 From: Niels de Bruin Date: Wed, 21 Mar 2018 11:20:32 +0100 Subject: [PATCH 1/6] Added tslint-config-prettier package --- packages/react-scripts/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/react-scripts/package.json b/packages/react-scripts/package.json index 16ba41caa..1f70d715e 100644 --- a/packages/react-scripts/package.json +++ b/packages/react-scripts/package.json @@ -48,6 +48,7 @@ "ts-loader": "^2.3.7", "tsconfig-paths-webpack-plugin": "^2.0.0", "tslint": "^5.7.0", + "tslint-config-prettier": "^1.10.0", "tslint-react": "^3.2.0", "uglifyjs-webpack-plugin": "^1.1.8", "url-loader": "0.6.2", From 98bc946e53438dd8824e1f79eaa3e00c618366ff Mon Sep 17 00:00:00 2001 From: Niels de Bruin Date: Wed, 21 Mar 2018 11:22:14 +0100 Subject: [PATCH 2/6] Replaced custom rules with tslint recommended preset and tslint-react --- packages/react-scripts/template/tslint.json | 98 +-------------------- 1 file changed, 1 insertion(+), 97 deletions(-) diff --git a/packages/react-scripts/template/tslint.json b/packages/react-scripts/template/tslint.json index eb5d66a02..71557ff74 100644 --- a/packages/react-scripts/template/tslint.json +++ b/packages/react-scripts/template/tslint.json @@ -1,99 +1,3 @@ { - "extends": ["tslint-react"], - "rules": { - "align": [ - true, - "parameters", - "arguments", - "statements" - ], - "ban": false, - "class-name": true, - "comment-format": [ - true, - "check-space" - ], - "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" - ], - "no-any": true, - "no-arg": true, - "no-bitwise": true, - "no-console": [ - true, - "log", - "error", - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "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-switch-case-fall-through": true, - "no-trailing-whitespace": false, - "no-unused-expression": true, - "no-use-before-declare": true, - "one-line": [ - true, - "check-catch", - "check-else", - "check-open-brace", - "check-whitespace" - ], - "quotemark": [true, "single", "jsx-double"], - "radix": true, - "semicolon": [true, "always"], - "switch-default": true, - - "trailing-comma": [false], - - "triple-equals": [ true, "allow-null-check" ], - "typedef": [ - true, - "parameter", - "property-declaration" - ], - "typedef-whitespace": [ - true, - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - } - ], - "variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore", "allow-pascal-case"], - "whitespace": [ - true, - "check-branch", - "check-decl", - "check-module", - "check-operator", - "check-separator", - "check-type", - "check-typecast" - ] - } + "extends": ["tslint:recommended", "tslint-react"] } From 61d5d9cc6a5573b5473e226389d3d9b968aa543b Mon Sep 17 00:00:00 2001 From: Niels de Bruin Date: Wed, 21 Mar 2018 11:23:41 +0100 Subject: [PATCH 3/6] Use tslint-config-prettier to use prettier codestyle by default --- packages/react-scripts/template/tslint.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-scripts/template/tslint.json b/packages/react-scripts/template/tslint.json index 71557ff74..8e995f1a9 100644 --- a/packages/react-scripts/template/tslint.json +++ b/packages/react-scripts/template/tslint.json @@ -1,3 +1,3 @@ { - "extends": ["tslint:recommended", "tslint-react"] + "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"] } From 3d457145faae981dc9f4908caa9812f84afd0d4d Mon Sep 17 00:00:00 2001 From: Niels de Bruin Date: Thu, 22 Mar 2018 13:37:41 +0100 Subject: [PATCH 4/6] Added type definitions and use correct import syntax for images --- packages/react-scripts/template/images.d.ts | 3 +++ packages/react-scripts/template/src/App.tsx | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 packages/react-scripts/template/images.d.ts diff --git a/packages/react-scripts/template/images.d.ts b/packages/react-scripts/template/images.d.ts new file mode 100644 index 000000000..397cc9b35 --- /dev/null +++ b/packages/react-scripts/template/images.d.ts @@ -0,0 +1,3 @@ +declare module '*.svg' +declare module '*.png' +declare module '*.jpg' diff --git a/packages/react-scripts/template/src/App.tsx b/packages/react-scripts/template/src/App.tsx index 921bb811d..66007c47b 100644 --- a/packages/react-scripts/template/src/App.tsx +++ b/packages/react-scripts/template/src/App.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import './App.css'; -const logo = require('./logo.svg'); +import logo from './logo.svg'; class App extends React.Component { render() { From 5b55833e7d33a6ac9e8301894dc8d4f8d01eb711 Mon Sep 17 00:00:00 2001 From: Niels de Bruin Date: Thu, 22 Mar 2018 13:38:32 +0100 Subject: [PATCH 5/6] Fixed linting errors --- packages/react-scripts/template/src/App.tsx | 2 +- packages/react-scripts/template/src/index.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react-scripts/template/src/App.tsx b/packages/react-scripts/template/src/App.tsx index 66007c47b..c1bc27ccd 100644 --- a/packages/react-scripts/template/src/App.tsx +++ b/packages/react-scripts/template/src/App.tsx @@ -4,7 +4,7 @@ import './App.css'; import logo from './logo.svg'; class App extends React.Component { - render() { + public render() { return (
diff --git a/packages/react-scripts/template/src/index.tsx b/packages/react-scripts/template/src/index.tsx index 1c66245ab..a7b130622 100644 --- a/packages/react-scripts/template/src/index.tsx +++ b/packages/react-scripts/template/src/index.tsx @@ -1,8 +1,8 @@ import * as React from 'react'; import * as ReactDOM from 'react-dom'; import App from './App'; -import registerServiceWorker from './registerServiceWorker'; import './index.css'; +import registerServiceWorker from './registerServiceWorker'; ReactDOM.render( , From 782fdc16c1cc7309aedbffff7204922fe8b82cf8 Mon Sep 17 00:00:00 2001 From: Niels de Bruin Date: Fri, 23 Mar 2018 10:19:13 +0100 Subject: [PATCH 6/6] Added linterOptions to ignore irrelevant files --- packages/react-scripts/template/tslint.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/react-scripts/template/tslint.json b/packages/react-scripts/template/tslint.json index 8e995f1a9..67823d8e1 100644 --- a/packages/react-scripts/template/tslint.json +++ b/packages/react-scripts/template/tslint.json @@ -1,3 +1,9 @@ { - "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"] + "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"], + "linterOptions": { + "exclude": [ + "config/**/*.js", + "node_modules/**/*.ts" + ] + } }