Skip to content
This repository has been archived by the owner on Mar 22, 2024. It is now read-only.
/ reactor Public archive

☢️ ReactJs app boilerplate using esbuild

License

Notifications You must be signed in to change notification settings

uralys/reactor

Repository files navigation

archived in 2024

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.

Reactor

Build Status License version

🪄 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

create your app

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

commands

Once your app is created, you can use:

  • npm run start:dev to run a local server with esbuild and live-server
  • npm run build to build you /public distribution with esbuild

TOC (Optional)

  • npm run toc to generate TOC from you markdowns if you use Reactor to generate a documentation website. I'll document this later.

indexation (Optional)

Config

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();

Tips and suggestions

monitoring

frontend

backend

  • use serverless!
  • use netlify to deploy. (Note: set NODE_VERSION in environnment vars)

dev:publish Reactor

> npm version patch
> ggpush --tags
> npm run release