From bc288717c78b3fd3e67d25b2cecb93cc1da77d0c Mon Sep 17 00:00:00 2001 From: Alex <116060421+n0one42@users.noreply.github.com> Date: Mon, 25 Mar 2024 10:43:45 +0100 Subject: [PATCH] Implementation of tsx support for react Implementation of tsx support for react --- src/Web/ClientApp-React/package.json | 2 ++ .../ClientApp-React/src/components/Home.js | 3 ++- .../src/components/SampleComponent.tsx | 12 ++++++++++++ src/Web/ClientApp-React/tsconfig.json | 19 +++++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/Web/ClientApp-React/src/components/SampleComponent.tsx create mode 100644 src/Web/ClientApp-React/tsconfig.json diff --git a/src/Web/ClientApp-React/package.json b/src/Web/ClientApp-React/package.json index dbbfaea81..44f8e26cc 100644 --- a/src/Web/ClientApp-React/package.json +++ b/src/Web/ClientApp-React/package.json @@ -29,6 +29,8 @@ "workbox-streams": "^6.5.4" }, "devDependencies": { + "@types/react": "^18.2.69", + "@types/react-dom": "^18.2.22", "ajv": "^8.12.0", "cross-env": "^7.0.3", "eslint": "^8.39.0", diff --git a/src/Web/ClientApp-React/src/components/Home.js b/src/Web/ClientApp-React/src/components/Home.js index 26fdbc3fc..33736f78a 100644 --- a/src/Web/ClientApp-React/src/components/Home.js +++ b/src/Web/ClientApp-React/src/components/Home.js @@ -1,4 +1,5 @@ import React, { Component } from 'react'; +import SampleComponent from './SampleComponent'; export class Home extends Component { static displayName = Home.name; @@ -13,7 +14,7 @@ export class Home extends Component {
To help you get started, we have also set up:
+create-react-app
runs in the background automatically, so your client-side resources are dynamically built on demand and the page refreshes when you modify any file.{title}
+); + +export default SampleComponent; diff --git a/src/Web/ClientApp-React/tsconfig.json b/src/Web/ClientApp-React/tsconfig.json new file mode 100644 index 000000000..d59fb3a8c --- /dev/null +++ b/src/Web/ClientApp-React/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src"] +}