From eb04d9b379183c8bddc4aba8490dae94de915d8f Mon Sep 17 00:00:00 2001 From: Izan Gil <66965250+SrIzan10@users.noreply.github.com> Date: Tue, 29 Oct 2024 22:08:41 +0100 Subject: [PATCH] initial commit --- .gitignore | 24 +++++++++++++++ README.md | 50 +++++++++++++++++++++++++++++++ bun.lockb | Bin 0 -> 74129 bytes eslint.config.js | 28 ++++++++++++++++++ index.html | 13 +++++++++ package.json | 29 ++++++++++++++++++ public/vite.svg | 1 + src/App.css | 14 +++++++++ src/App.tsx | 32 ++++++++++++++++++++ src/assets/react.svg | 1 + src/index.css | 68 +++++++++++++++++++++++++++++++++++++++++++ src/main.tsx | 10 +++++++ src/vite-env.d.ts | 1 + tsconfig.app.json | 25 ++++++++++++++++ tsconfig.json | 7 +++++ tsconfig.node.json | 23 +++++++++++++++ vite.config.ts | 7 +++++ 17 files changed, 333 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100755 bun.lockb create mode 100644 eslint.config.js create mode 100644 index.html create mode 100644 package.json create mode 100644 public/vite.svg create mode 100644 src/App.css create mode 100644 src/App.tsx create mode 100644 src/assets/react.svg create mode 100644 src/index.css create mode 100644 src/main.tsx create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.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/README.md b/README.md new file mode 100644 index 0000000..74872fd --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# 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 +export default tseslint.config({ + languageOptions: { + // other options... + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + }, +}) +``` + +- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked` +- Optionally add `...tseslint.configs.stylisticTypeChecked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config: + +```js +// eslint.config.js +import react from 'eslint-plugin-react' + +export default tseslint.config({ + // Set the react version + settings: { react: { version: '18.3' } }, + plugins: { + // Add the react plugin + react, + }, + rules: { + // other rules... + // Enable its recommended rules + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + }, +}) +``` diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..a8c6b9dc093412fa166db9ac76f009131bc5afa2 GIT binary patch literal 74129 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 + + + + + + Vite + React + TS + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..8258f2a --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "base64", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@eslint/js": "^9.13.0", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.1", + "@vitejs/plugin-react-swc": "^3.5.0", + "eslint": "^9.13.0", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.13", + "globals": "^15.11.0", + "typescript": "~5.6.2", + "typescript-eslint": "^8.10.0", + "vite": "^5.4.9" + } +} diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..56b1775 --- /dev/null +++ b/src/App.css @@ -0,0 +1,14 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 1rem; + text-align: center; + display: flex; + flex-direction: column; +} + +textarea { + width: 100%; + height: 200px; + margin: 1rem 0; +} \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..dec2153 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,32 @@ +import { useState } from "react"; +import "./App.css"; + +function App() { + const [b64, setb64] = useState(""); + const [text, setText] = useState(""); + + return ( + <> +

Simplest base64 converter

+