From 62a4bad6f2843ebddb02467e5b147ca3817db2a1 Mon Sep 17 00:00:00 2001 From: Allen Zhang <37892968+zhangtao25@users.noreply.github.com> Date: Wed, 13 Sep 2023 13:23:22 +0800 Subject: [PATCH] feat: init --- samples/coverage/vite-react/.eslintrc.cjs | 18 +++++ samples/coverage/vite-react/.gitignore | 24 +++++++ samples/coverage/vite-react/README.md | 27 ++++++++ samples/coverage/vite-react/index.html | 13 ++++ samples/coverage/vite-react/package.json | 28 ++++++++ samples/coverage/vite-react/public/vite.svg | 1 + samples/coverage/vite-react/src/App.css | 42 +++++++++++ samples/coverage/vite-react/src/App.tsx | 35 ++++++++++ .../coverage/vite-react/src/assets/react.svg | 1 + samples/coverage/vite-react/src/index.css | 69 +++++++++++++++++++ samples/coverage/vite-react/src/main.tsx | 10 +++ samples/coverage/vite-react/src/vite-env.d.ts | 1 + samples/coverage/vite-react/tsconfig.json | 25 +++++++ .../coverage/vite-react/tsconfig.node.json | 10 +++ samples/coverage/vite-react/vite.config.ts | 7 ++ 15 files changed, 311 insertions(+) create mode 100644 samples/coverage/vite-react/.eslintrc.cjs create mode 100644 samples/coverage/vite-react/.gitignore create mode 100644 samples/coverage/vite-react/README.md create mode 100644 samples/coverage/vite-react/index.html create mode 100644 samples/coverage/vite-react/package.json create mode 100755 samples/coverage/vite-react/public/vite.svg create mode 100644 samples/coverage/vite-react/src/App.css create mode 100644 samples/coverage/vite-react/src/App.tsx create mode 100644 samples/coverage/vite-react/src/assets/react.svg create mode 100644 samples/coverage/vite-react/src/index.css create mode 100644 samples/coverage/vite-react/src/main.tsx create mode 100644 samples/coverage/vite-react/src/vite-env.d.ts create mode 100644 samples/coverage/vite-react/tsconfig.json create mode 100644 samples/coverage/vite-react/tsconfig.node.json create mode 100644 samples/coverage/vite-react/vite.config.ts diff --git a/samples/coverage/vite-react/.eslintrc.cjs b/samples/coverage/vite-react/.eslintrc.cjs new file mode 100644 index 00000000..d6c95379 --- /dev/null +++ b/samples/coverage/vite-react/.eslintrc.cjs @@ -0,0 +1,18 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react-hooks/recommended', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parser: '@typescript-eslint/parser', + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/samples/coverage/vite-react/.gitignore b/samples/coverage/vite-react/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/samples/coverage/vite-react/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/samples/coverage/vite-react/README.md b/samples/coverage/vite-react/README.md new file mode 100644 index 00000000..1ebe379f --- /dev/null +++ b/samples/coverage/vite-react/README.md @@ -0,0 +1,27 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: + +- Configure the top-level `parserOptions` property like this: + +```js + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + project: ['./tsconfig.json', './tsconfig.node.json'], + tsconfigRootDir: __dirname, + }, +``` + +- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` +- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list diff --git a/samples/coverage/vite-react/index.html b/samples/coverage/vite-react/index.html new file mode 100644 index 00000000..e4b78eae --- /dev/null +++ b/samples/coverage/vite-react/index.html @@ -0,0 +1,13 @@ + + +
+ + + +
+ Edit src/App.tsx
and save to test HMR
+
+ Click on the Vite and React logos to learn more +
+ > + ) +} + +export default App diff --git a/samples/coverage/vite-react/src/assets/react.svg b/samples/coverage/vite-react/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/samples/coverage/vite-react/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/samples/coverage/vite-react/src/index.css b/samples/coverage/vite-react/src/index.css new file mode 100644 index 00000000..2c3fac68 --- /dev/null +++ b/samples/coverage/vite-react/src/index.css @@ -0,0 +1,69 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/samples/coverage/vite-react/src/main.tsx b/samples/coverage/vite-react/src/main.tsx new file mode 100644 index 00000000..3d7150da --- /dev/null +++ b/samples/coverage/vite-react/src/main.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.tsx' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root')!).render( +