{"id":14957176,"url":"https://github.com/vinaysharma14/rapid-react","last_synced_at":"2025-05-02T07:32:11.434Z","repository":{"id":49337869,"uuid":"316573154","full_name":"vinaysharma14/rapid-react","owner":"vinaysharma14","description":"A light weight interactive CLI Automation Tool 🛠️ for rapid scaffolding of tailored React apps with Create React App under the hood. :atom:","archived":false,"fork":false,"pushed_at":"2022-07-25T13:02:17.000Z","size":31424,"stargazers_count":71,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-29T23:07:43.585Z","etag":null,"topics":["cli-app","es6","javascript","mobx-react","react","react-hooks","react-redux","react-router","react-router-dom","reactjs","redux-form","redux-logger","redux-saga","sass","scaffolder","scss","tool","typescript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/rapid-react","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vinaysharma14.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-27T18:25:08.000Z","updated_at":"2024-01-08T04:35:16.000Z","dependencies_parsed_at":"2022-09-04T07:12:45.850Z","dependency_job_id":null,"html_url":"https://github.com/vinaysharma14/rapid-react","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinaysharma14%2Frapid-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinaysharma14%2Frapid-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinaysharma14%2Frapid-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinaysharma14%2Frapid-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinaysharma14","download_url":"https://codeload.github.com/vinaysharma14/rapid-react/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224305842,"owners_count":17289446,"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":["cli-app","es6","javascript","mobx-react","react","react-hooks","react-redux","react-router","react-router-dom","reactjs","redux-form","redux-logger","redux-saga","sass","scaffolder","scss","tool","typescript"],"created_at":"2024-09-24T13:14:17.657Z","updated_at":"2024-11-12T16:03:56.004Z","avatar_url":"https://github.com/vinaysharma14.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  Rapid React :hammer_and_wrench:\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n  A light weight interactive CLI Automation Tool :hammer_and_wrench: for rapid scaffolding of React apps,\n  \u003cbr\u003e\n  with\n  \u003ca href=\"https://create-react-app.dev/\" target=\"_blank\"\u003eCreate React App\u003c/a\u003e under the hood. :atom:\n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  Built with :heart: by \u003ca href=\"https://www.linkedin.com/in/vinaysharma-/\" target=\"_blank\"\u003eVinay\u003c/a\u003e.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#about-information_source\"\u003eAbout\u003c/a\u003e •\n  \u003ca href=\"#features-tada\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#requirements-white_check_mark\"\u003eRequirements\u003c/a\u003e •\n  \u003ca href=\"#installation-rocket\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"#documentation-green_book\"\u003eDocumentation\u003c/a\u003e •\n  \u003ca href=\"https://github.com/vinaysharma14/rapid-react/blob/master/ROADMAP.md\" target=\"_blank\"\u003eRoad Map\u003c/a\u003e •\n  \u003ca href=\"#contributing-handshake\"\u003eContributing\u003c/a\u003e •\n  \u003ca href=\"#license-page_facing_up\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n![intro-gif](docs/images/intro.gif)\n\n## About :information_source:\n\n\u003ca href=\"https://github.com/vinaysharma14/rapid-react\" target=\"_blank\"\u003eRapid React\u003c/a\u003e is an interactive CLI tool which automates the repetitive steps involved every time a new React app is setup. Usually developers :man_technologist: go through a time consuming process which involves waiting for **create-react-app** to finish it's boilerplate setup, followed by installation of dependencies \u0026 dev dependencies, setup of folder structure, routing, state management, e.t.c. before it can finally start working on the app. :construction:\n\nWell, now you can grab a cup of :coffee: while **Rapid React** scaffolds the app for you! :relieved:\n\n## Rapid React 2.0 is out! :gift:\n\n![update-notification](docs/images/update.png)\n\nThanks for showing your love for **Rapid React** which has motivated further to work on some cool new features!\n\n- **Rapid React** has been re-written from [React Redux](https://react-redux.js.org/) to [Redux Toolkit](https://redux-toolkit.js.org/) APIs. This would dramatically reduce the boilerplate code required to work with Redux and further cut down your development efforts. :weight_lifting:\n\n\u003e This has been considered after an in-depth advice from [Mark Erikson](https://github.com/markerikson) who is a Redux maintainer. You may check his suggestions [here](https://www.reddit.com/r/reactjs/comments/khhh49/introducing_react_rapid_a_light_weight/) which cover **RTK** as the recommended way to write Redux logic. This would be a **breaking change** for existing users.\n\n- Added support for Redux Thunk middleware!\n\n- A much more comprehensive and better looking version update notification!\n\n- A notification sound would play once the setup is complete! :bellhop_bell:\n\n## Features :tada:\n\n- Get notification every time an update is available. :gear:\n- Supports both [JavaScript](https://www.w3schools.com/js/) and [TypeScript](https://www.typescriptlang.org/). :heart_eyes:\n- Installs both dependencies and dev dependencies.\n- Supports popularly used CSS preprocessor [SASS](https://sass-lang.com/)! :fire:\n- Choose from commonly used folders (`assets`, `components`, `hooks`, `services`, `utils`, e.t.c.) to scaffold.\n- Scaffolds custom folder as well.\n- Choose preferred [export type](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export): named/default. :thinking:\n- Setups [routing](https://reactrouter.com/) with user defined routes.\n- Setups [Redux](https://react-redux.js.org/) state management with user defined reducers along with:\n  - [Redux Thunk](https://github.com/reduxjs/redux-thunk)\n  - [Redux Saga](https://redux-saga.js.org/)\n  - [Redux Logger](https://github.com/LogRocket/redux-logger#readme)\n- Setups [MobX](https://mobx.js.org/README.html) state management with user defined stores.\n- ...and much more! :tada:\n\n## Requirements :white_check_mark:\n\n- [Node.js](https://nodejs.org/en/download/) installed on your system.\n- An active internet connection for CLI to work.\n\n## Installation :rocket:\n\nFrom your terminal run:\n\n```bash\n# install the package from NPM\n$ npm install rapid-react\n```\n\n## Documentation :green_book:\n\n**Rapid React** installs `rapid-react` command in your system. To run the tool, you need to invoke this command from your terminal:\n\n```bash\n# that's it!\n$ rapid-react\n```\n\nAs soon as run the command you are greeted by the CLI.\n\n![greetings-screenshot](docs/images/greetings.png)\n\nFrom there on, you are asked a couple of question for a tailored experience for your app setup.\n\n![walk-through-screenshot](docs/images/walk-through.png)\n\nThe utility would walk you through from following:\n\n- **Language Preference**\u003cbr\u003e\n  Choose between JavaScript and TypeScript\n\n- **App Name** \u003cbr\u003e\n  Enter your app name. By default it fallbacks to _my-app_.\u003cbr\u003e\n\n  :white_check_mark: valid app names\u003cbr\u003e\n  foo\u003cbr\u003e\n  123foo\u003cbr\u003e\n  foo123\u003cbr\u003e\n  foo-bar\u003cbr\u003e\n\n  :x: invalid app names\u003cbr\u003e\n  Foo\u003cbr\u003e\n  Foo-Bar\u003cbr\u003e\n  FooBar\u003cbr\u003e\n\n- **Export Type Preference**\u003cbr\u003e\n  Choose between Named and Default.\n\n- **StyleSheet Preference**\u003cbr\u003e\n  Choose between CSS and SCSS.\n\n- **Routing requirement**\u003cbr\u003e\n  Choose either Yes or No.\n\n  - **If required, enter space separated route names**\u003cbr\u003e\n    e.g. `home login about signIn signUp`\n\n    :white_check_mark: valid route names\u003cbr\u003e\n    foo\u003cbr\u003e\n    fooBar\u003cbr\u003e\n    FooBar\u003cbr\u003e\n    Foo123\u003cbr\u003e\n\n    :x: invalid route names\u003cbr\u003e\n    123foo\u003cbr\u003e\n    foo-bar\u003cbr\u003e\n    foo.bar\u003cbr\u003e\n    foo?bar\u003cbr\u003e\n\n- **State management requirement**\u003cbr\u003e\n  Choose either Yes or No.\n\n  - **If required, select one**\u003cbr\u003e\n    Choose between MobX and Redux. Once chosen you'll be prompted to **enter space separated** names of stores(in case of MobX) or reducers(in case of Redux). The conventions would be same as routes.\n\n  - **Installing additional Redux libraries**\u003cbr\u003e\n    If you chose Redux you'll be prompted to choose from these additional libraries usually used with Redux:\n    - Redux Logger\n    - Redux Thunk\n    - Redux Saga\n\n- **Scaffold folders**:\n\n  - **Standard**\u003cbr\u003e\n    You can choose from commonly used folder to scaffold: `assets`, `components`, `data`, `errors`, `fallbacks`, `hooks`, `layouts`, `services`, `types`, `utils`, `validations`.\n  - **Custom**\u003cbr\u003e\n    You can **enter space separated** folders. The conventions would be same as routes.\n\n- **Dependencies**:\u003cbr\u003e\n  You can **enter space separated** dependencies. The conventions would be same as routes. E.g. `antd lodash moment`.\u003cbr\u003e\n  :warning: In case you are using **TypeScript** you'll have to explicitly mention type definition packages required for these dependencies. Such packages usually start with `@types/` prefix and are installed as dev dependencies.\n\n- **Dev Dependencies**:\n  You can **enter space separated** dev dependencies. The conventions would be same as routes. If you're not sure about what a dev dependency is, you can refer to [this](https://stackoverflow.com/a/22004559/11220479).\n\n## Contributing :handshake:\n\nYour contributions are always welcome! Please have a look at the [contribution guidelines](https://github.com/vinaysharma14/rapid-react/blob/master/CONTRIBUTING.md) first. 🎉\n\n## License :page_facing_up:\n\n**Rapid React** is licensed under the terms of [MIT License](https://github.com/vinaysharma14/rapid-react/blob/master/LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinaysharma14%2Frapid-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinaysharma14%2Frapid-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinaysharma14%2Frapid-react/lists"}