From 007fdead166e9677fb15d1a65eecd9f985bbb7f9 Mon Sep 17 00:00:00 2001 From: Alexandr Beznosov Date: Tue, 17 May 2022 12:33:02 +0400 Subject: [PATCH 1/3] Add typescript --- package-lock.json | 7 ++++--- package.json | 3 +++ src/{index.js => index.tsx} | 0 3 files changed, 7 insertions(+), 3 deletions(-) rename src/{index.js => index.tsx} (100%) diff --git a/package-lock.json b/package-lock.json index 970319d..fd52e84 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,9 +11,12 @@ "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.2.0", "@testing-library/user-event": "^13.5.0", + "@types/react": "^18.0.9", + "@types/react-dom": "^18.0.4", "react": "^18.1.0", "react-dom": "^18.1.0", "react-scripts": "5.0.1", + "typescript": "^4.6.4", "web-vitals": "^2.1.4" } }, @@ -15176,7 +15179,6 @@ "version": "4.6.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -27033,8 +27035,7 @@ "typescript": { "version": "4.6.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", - "peer": true + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" }, "unbox-primitive": { "version": "1.0.2", diff --git a/package.json b/package.json index ab72f50..0ce11c0 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,12 @@ "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.2.0", "@testing-library/user-event": "^13.5.0", + "@types/react": "^18.0.9", + "@types/react-dom": "^18.0.4", "react": "^18.1.0", "react-dom": "^18.1.0", "react-scripts": "5.0.1", + "typescript": "^4.6.4", "web-vitals": "^2.1.4" }, "scripts": { diff --git a/src/index.js b/src/index.tsx similarity index 100% rename from src/index.js rename to src/index.tsx From d07ee1eab6910ac7cad7e88b56285a6c15b48ecd Mon Sep 17 00:00:00 2001 From: Alexandr Beznosov Date: Tue, 17 May 2022 13:07:22 +0400 Subject: [PATCH 2/3] Add auto-formatting for ts, tsx --- .prettierrc | 7 +++++++ .vscode/settings.json | 27 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 .prettierrc create mode 100644 .vscode/settings.json diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..4afa041 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "all", + "tabWidth": 4, + "semi": true, + "singleQuote": true, + "arrowParens": "avoid" +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..2db3bca --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,27 @@ +{ + "typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "editor.renderWhitespace": "all", + "editor.formatOnSave": true, + "[typescript]": { + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescriptreact]": { + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true, + "source.fixAll.stylelint": true + }, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "files.exclude": { + "**/.git": true, + "**/node_modules": true, + "**/build": true + }, + + "scss.validate": false, + "css.validate": false +} From 5081e1eb2b3ad15a2697e51f363acaaf366d2269 Mon Sep 17 00:00:00 2001 From: Alexandr Beznosov Date: Tue, 17 May 2022 13:32:27 +0400 Subject: [PATCH 3/3] Add recommended extensions --- .vscode/extensions.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .vscode/extensions.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..00500d0 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["esbenp.prettier-vscode", "dbaeumer.vscode-eslint"] +}