I created and used this tool to create fast frontends using esbuild. It was experimental and is today irrlevant since we have tools like https://github.com/vitejs/vite, which I use on every frontends.
πͺ A simple "CreateReactApp-like", using esbuild, to bootstrap your React app and npm scripts.
> npx reactor Usage: reactor <command> Commands: reactor create bootstrap your React app with initial files reactor start run the local dev server reactor build use esbuild to create the distribution files reactor toc generate TOC for your documentation from your markdown files
First prepare your new project with a startup package.json:
> mkdir yourApp; cd yourApp > npm i --save-dev @uralys/reactor
Let's create your boot files:
> npx reactor create β’οΈ reactor updated you files successfully. β you can now start your App > npm run start:dev
You can now version and push your project to your repository
> git init > git add . > git commit -m "Initial commit from @uralys/reactor" > git remote add origin https://github.com/your-new-repo > git push origin master
Once your app is created, you can use:
npm run start:devto run a local server withesbuildandlive-servernpm run buildto build you/publicdistribution withesbuild
npm run tocto generate TOC from you markdowns if you useReactorto generate a documentation website. I'll document this later.
- add a sitemap config to generate your
sitemap.xml - for Google configure your indexation on https://search.google.com/search-console
- for DuckDuckGo configure your indexation on Bing (import from google search-console) https://www.bing.com/webmasters
You can update reactor.config.js:
{ esbuild: { ...esbuildOptions }, documentation: { source: './path/to/docs', dist: './path/to/tocs' }, start: { hosts: ["platform.localhost"] }, sitemap: { publicPath = './public', links = [], hostname: 'https://your.domain', outputName = 'sitemap.xml' } }
If your project uses dotenv, call it from the top of reactor.config.js
import dotenv from 'dotenv'; dotenv.config();
- analyse perfs with https://pagespeed.web.dev/
- use
La Tavernefor your state management - add
reactrouter - add
axiosfor http requests - use this
auth0 guidefor the authentication - add animations with
react-spring
- use serverless!
- use
netlifyto deploy. (Note: setNODE_VERSIONin environnment vars)
> npm version patch > ggpush --tags > npm run release