{"id":13604912,"url":"https://github.com/ws-rush/reactive","last_synced_at":"2025-04-12T02:32:10.191Z","repository":{"id":194253024,"uuid":"690015944","full_name":"ws-rush/reactive","owner":"ws-rush","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-22T11:18:21.000Z","size":1287,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-22T12:03:23.553Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ws-rush.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-09-11T11:24:19.000Z","updated_at":"2024-04-23T14:01:06.707Z","dependencies_parsed_at":"2024-04-23T14:00:48.879Z","dependency_job_id":null,"html_url":"https://github.com/ws-rush/reactive","commit_stats":null,"previous_names":["wusaby-rush/reactive","ws-rush/reactive"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ws-rush%2Freactive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ws-rush%2Freactive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ws-rush%2Freactive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ws-rush%2Freactive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ws-rush","download_url":"https://codeload.github.com/ws-rush/reactive/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223489697,"owners_count":17153806,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T19:00:52.640Z","updated_at":"2025-04-12T02:32:10.177Z","avatar_url":"https://github.com/ws-rush.png","language":"TypeScript","funding_links":[],"categories":["Get Started"],"sub_categories":["Templates"],"readme":"\u003cp align='center'\u003e\n  \u003cimg src='https://api.iconify.design/carbon:chart-radar.svg?color=%23939598' alt='Reactive - Opinionated Vite Starter Template' width='80'/\u003e\n\u003c/p\u003e\n\n\u003cp align='center'\u003e\nMocking up web app with \u003cb\u003eReactive\u003c/b\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cp align='center'\u003e\n\u003ca href=\"https://reactive-template.netlify.app/\"\u003eLive Demo\u003c/a\u003e\n\u003ca href=\"https://reactive-docs.netlify.app/\"\u003eDocs\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n## Features\n\n- ⚡️ [React 19](https://react.dev/), [Vite](https://github.com/vitejs/vite), [pnpm](https://pnpm.io/), [esbuild](https://github.com/evanw/esbuild) - born with fastness\n\n- 🗂️ [File based routing with layouts support](https://reactrouter.com/dev/how-to/file-route-conventions)\n\n- 📦 [Components auto importing](./app/components)\n\n- 🔮 [State Management via Tawr](https://www.npmjs.com/package/@tawr/state)\n\n- 🎨 [Tailwindcss](https://tailwindcss.com/) - A utility-first CSS framework packed with classes\n\n- 😃 [Use icons from any icon sets with components](https://github.com/unplugin/unplugin-icons)\n\n- 🔤 [Self-hosted fonts](https://fontsource.org/fonts/red-hat-text/install).\n\n- 🌍 [I18n ready](https://lingui.dev/)\n\n\u003c!-- - 📲 [PWA](https://github.com/antfu/vite-plugin-pwa) --\u003e\n\n- 📥 [APIs auto importing](https://github.com/unjs/unimport)\n\n- 🗒 [Markdown Support](https://github.com/hmsk/vite-plugin-markdown?tab=readme-ov-file)\n\n- 🏷️ [Manage meta tsgs](https://react.dev/blog/2024/04/25/react-19#support-for-metadata-tags)\n\n- 🖼 [Transform and Optmize images](https://github.com/JonasKruckenberg/imagetools/tree/main/packages/vite)\n\n- 🦾 TypeScript, of course\n\n- 🐶 Git hooks with [husky](https://typicode.github.io/husky)\n\n- ⚙️ Unit Testing with [Vitest](https://github.com/vitest-dev/vitest)\u003c!--, E2E Testing with [Cypress](https://cypress.io/)\n  on [GitHub Actions](https://github.com/features/actions) # miss ci piplines and e2e test--\u003e\n\n- ☁️ Deploy on Netlify, zero-config\n\n- 🔎 Inspect code with - [Vite Inspect](https://github.com/antfu/vite-plugin-inspect), visit it at `/__inspect`. also open components in editor with React DevTools, and use [Tailwind CSS Devtools](https://chromewebstore.google.com/detail/tailwind-css-devtools/pgamkpjkbfldnmemhcbekimfdnjcgkco) for tailwind inspecting\n\n- 📝 Mocking Server API with [json-server](https://github.com/yracnet/vite-plugin-json-server/tree/main)\n\n\u003e for component preview add [Preview.js](https://marketplace.visualstudio.com/items?itemName=zenclabs.previewjs) to vscode\n\n\u003cbr\u003e\n\n## Try it now!\n\n\u003e Reactive requires Node \u003e=20.x\n\n### GitHub Template\n\n[Create a repo from this template on GitHub](https://github.com/wusaby-rush/reactive/generate).\n\n### Clone to local\n\nIf you prefer to do it manually with the cleaner git history\n\n```bash\nnpx degit wusaby-rush/reactive my-reactive-app\ncd my-reactive-app\npnpm i # If you don't have pnpm installed, run: npm install -g pnpm\n```\n\n## Checklist\n\nWhen you use this template, try follow the checklist to update your info properly\n\n- [ ] Remove the `.github` folder\n- [ ] Clean up the READMEs and remove routes\n- [ ] Remove tests and write your own\n\nAnd, enjoy :)\n\n## Usage\n\n### Development\n\nJust run and visit http://localhost:5173\n\n```bash\npnpm dev\n```\n\n### Build\n\nTo build the App, run\n\n```bash\npnpm build\n```\n\nAnd you will see the generated file in `dist` that ready to be served.\n\n### Deploy on Netlify\n\nGo to [Netlify](https://app.netlify.com/start) and select your clone, `OK` along the way, and your App will be live in a minute.\n\n### Docker Production Build\n\nFirst, build the vitesse image by opening the terminal in the project's root directory.\n\n```bash\ndocker buildx build . -t reactive:latest\n```\n\nRun the image and specify port mapping with the `-p` flag.\n\n```bash\ndocker run --rm -it -p 8080:80 reactive:latest\n```\n\n## Why\n\nConfigure apps is a headeach, I loved vitesse template for vue, so I decided do one for react.\n\n## Expanding the ESLint configuration\n\nIf you are developing a production application, we recommend updating the configuration to enable type aware lint rules:\n\n- Configure the top-level `parserOptions` property like this:\n\n```js\n   parserOptions: {\n    ecmaVersion: 'latest',\n    sourceType: 'module',\n    project: ['./tsconfig.json', './tsconfig.node.json'],\n    tsconfigRootDir: __dirname,\n   },\n```\n\n- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`\n- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`\n- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` \u0026 `plugin:react/jsx-runtime` to the `extends` list\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fws-rush%2Freactive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fws-rush%2Freactive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fws-rush%2Freactive/lists"}