From c5778fc45d698e9f3a9ba8fdd2cf72601d5dcfdf Mon Sep 17 00:00:00 2001 From: Wojciech Maj Date: Tue, 4 Apr 2023 13:31:14 +0200 Subject: [PATCH] Convert test suite to TypeScript --- test/{Test.jsx => Test.tsx} | 2 +- test/{button.styles.js => button.styles.ts} | 0 test/index.html | 2 +- test/{index.jsx => index.tsx} | 2 +- test/package.json | 3 + test/tsconfig.json | 14 +++ test/{vite.config.js => vite.config.ts} | 0 test/yarn.lock | 107 +++++++++++++++++++- 8 files changed, 126 insertions(+), 4 deletions(-) rename test/{Test.jsx => Test.tsx} (98%) rename test/{button.styles.js => button.styles.ts} (100%) rename test/{index.jsx => index.tsx} (68%) create mode 100644 test/tsconfig.json rename test/{vite.config.js => vite.config.ts} (100%) diff --git a/test/Test.jsx b/test/Test.tsx similarity index 98% rename from test/Test.jsx rename to test/Test.tsx index 5db8f08..550b3e9 100644 --- a/test/Test.jsx +++ b/test/Test.tsx @@ -18,7 +18,7 @@ const errorConfig = { children: 'Try again', }; -function sleep(ms) { +function sleep(ms: number) { return new Promise((resolve) => setTimeout(resolve, ms)); } diff --git a/test/button.styles.js b/test/button.styles.ts similarity index 100% rename from test/button.styles.js rename to test/button.styles.ts diff --git a/test/index.html b/test/index.html index 52571b8..58f6f00 100644 --- a/test/index.html +++ b/test/index.html @@ -7,6 +7,6 @@
- + diff --git a/test/index.jsx b/test/index.tsx similarity index 68% rename from test/index.jsx rename to test/index.tsx index cb2b506..4a67864 100644 --- a/test/index.jsx +++ b/test/index.tsx @@ -3,7 +3,7 @@ import { createRoot } from 'react-dom/client'; import Test from './Test'; -createRoot(document.getElementById('react-root')).render( +createRoot(document.getElementById('react-root') as HTMLDivElement).render( , diff --git a/test/package.json b/test/package.json index c2a9383..5560453 100644 --- a/test/package.json +++ b/test/package.json @@ -23,7 +23,10 @@ "styled-components": "^5.3.0" }, "devDependencies": { + "@types/babel__core": "^7.20.0", + "@types/styled-components": "^5.1.26", "@vitejs/plugin-react": "^3.0.0", + "typescript": "^5.0.3", "vite": "^4.0.0" } } diff --git a/test/tsconfig.json b/test/tsconfig.json new file mode 100644 index 0000000..39799d1 --- /dev/null +++ b/test/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "declaration": true, + "esModuleInterop": true, + "isolatedModules": true, + "jsx": "react", + "moduleResolution": "node", + "noUncheckedIndexedAccess": true, + "outDir": "dist", + "strict": true, + "strictNullChecks": true, + "target": "es5" + } +} diff --git a/test/vite.config.js b/test/vite.config.ts similarity index 100% rename from test/vite.config.js rename to test/vite.config.ts diff --git a/test/yarn.lock b/test/yarn.lock index f8dba3e..95b03c7 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -209,6 +209,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.1.0": + version: 7.21.4 + resolution: "@babel/parser@npm:7.21.4" + bin: + parser: ./bin/babel-parser.js + checksum: de610ecd1bff331766d0c058023ca11a4f242bfafefc42caf926becccfb6756637d167c001987ca830dd4b34b93c629a4cef63f8c8c864a8564cdfde1989ac77 + languageName: node + linkType: hard + "@babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3": version: 7.21.3 resolution: "@babel/parser@npm:7.21.3" @@ -269,6 +278,17 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.3.0": + version: 7.21.4 + resolution: "@babel/types@npm:7.21.4" + dependencies: + "@babel/helper-string-parser": ^7.19.4 + "@babel/helper-validator-identifier": ^7.19.1 + to-fast-properties: ^2.0.0 + checksum: 587bc55a91ce003b0f8aa10d70070f8006560d7dc0360dc0406d306a2cb2a10154e2f9080b9c37abec76907a90b330a536406cb75e6bdc905484f37b75c73219 + languageName: node + linkType: hard + "@babel/types@npm:^7.18.6, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.2, @babel/types@npm:^7.21.3, @babel/types@npm:^7.8.3": version: 7.21.3 resolution: "@babel/types@npm:7.21.3" @@ -550,6 +570,57 @@ __metadata: languageName: node linkType: hard +"@types/babel__core@npm:^7.20.0": + version: 7.20.0 + resolution: "@types/babel__core@npm:7.20.0" + dependencies: + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: 49b601a0a7637f1f387442c8156bd086cfd10ff4b82b0e1994e73a6396643b5435366fb33d6b604eade8467cca594ef97adcbc412aede90bb112ebe88d0ad6df + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.4 + resolution: "@types/babel__generator@npm:7.6.4" + dependencies: + "@babel/types": ^7.0.0 + checksum: 20effbbb5f8a3a0211e95959d06ae70c097fb6191011b73b38fe86deebefad8e09ee014605e0fd3cdaedc73d158be555866810e9166e1f09e4cfd880b874dcb0 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.1 + resolution: "@types/babel__template@npm:7.4.1" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: 649fe8b42c2876be1fd28c6ed9b276f78152d5904ec290b6c861d9ef324206e0a5c242e8305c421ac52ecf6358fa7e32ab7a692f55370484825c1df29b1596ee + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*": + version: 7.18.3 + resolution: "@types/babel__traverse@npm:7.18.3" + dependencies: + "@babel/types": ^7.3.0 + checksum: d20953338b2f012ab7750932ece0a78e7d1645b0a6ff42d49be90f55e9998085da1374a9786a7da252df89555c6586695ba4d1d4b4e88ab2b9f306bcd35e00d3 + languageName: node + linkType: hard + +"@types/hoist-non-react-statics@npm:*": + version: 3.3.1 + resolution: "@types/hoist-non-react-statics@npm:3.3.1" + dependencies: + "@types/react": "*" + hoist-non-react-statics: ^3.3.0 + checksum: 2c0778570d9a01d05afabc781b32163f28409bb98f7245c38d5eaf082416fdb73034003f5825eb5e21313044e8d2d9e1f3fe2831e345d3d1b1d20bcd12270719 + languageName: node + linkType: hard + "@types/prop-types@npm:*": version: 15.7.5 resolution: "@types/prop-types@npm:15.7.5" @@ -575,6 +646,17 @@ __metadata: languageName: node linkType: hard +"@types/styled-components@npm:^5.1.26": + version: 5.1.26 + resolution: "@types/styled-components@npm:5.1.26" + dependencies: + "@types/hoist-non-react-statics": "*" + "@types/react": "*" + csstype: ^3.0.2 + checksum: 84f53b3101739b20d1731554fb7735bc2f3f5d050a8b392e9845403c8c8bbd729737d033978649f9195a97b557875b010d46e35a4538564a2d0dbcce661dbf76 + languageName: node + linkType: hard + "@vitejs/plugin-react@npm:^3.0.0": version: 3.1.0 resolution: "@vitejs/plugin-react@npm:3.1.0" @@ -1153,7 +1235,7 @@ __metadata: languageName: node linkType: hard -"hoist-non-react-statics@npm:^3.0.0": +"hoist-non-react-statics@npm:^3.0.0, hoist-non-react-statics@npm:^3.3.0": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" dependencies: @@ -1678,6 +1760,8 @@ __metadata: version: 0.0.0-use.local resolution: "react-async-button-test-page@workspace:." dependencies: + "@types/babel__core": ^7.20.0 + "@types/styled-components": ^5.1.26 "@vitejs/plugin-react": ^3.0.0 "@wojtekmaj/react-async-button": "portal:../" prop-types: ^15.6.0 @@ -1685,6 +1769,7 @@ __metadata: react-dom: ^18.2.0 react-is: ^18.2.0 styled-components: ^5.3.0 + typescript: ^5.0.3 vite: ^4.0.0 languageName: unknown linkType: soft @@ -1996,6 +2081,26 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.0.3": + version: 5.0.3 + resolution: "typescript@npm:5.0.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 3cce0576d218cb4277ff8b6adfef1a706e9114a98b4261a38ad658a7642f1b274a8396394f6cbff8c0ba852996d7ed2e233e9b8431d5d55ac7c2f6fea645af02 + languageName: node + linkType: hard + +"typescript@patch:typescript@^5.0.3#~builtin": + version: 5.0.3 + resolution: "typescript@patch:typescript@npm%3A5.0.3#~builtin::version=5.0.3&hash=ddd1e8" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 9ec0a8eed38d46cc2c8794555b7674e413604c56c159f71b8ff21ce7f17334a44127a68724cb2ef8221ff3b19369f8f05654e8a5266621d7d962aeed889bd630 + languageName: node + linkType: hard + "unique-filename@npm:^2.0.0": version: 2.0.1 resolution: "unique-filename@npm:2.0.1" -- 2.51.2