React Silicon Life is a React boilerplate tailored for static rendering. This project does not use Server Side Rendering (no we do not always need SSR, yes trust me, I'm an engineer)
React Silicon Life comes preconfigured with some pretty 😎 features:
- Typescript to make you believe javascript is a typed language
- ESLint because tslint is dead and we wanna lint typescript
- Prettier to be sure we follow the same coding style
- Jest for tests, also because it's good now (not kidding)
- parcel, because bundling and dev server, out with the old webpack
You will need node >= 8
and npm >= 3
, or yarn
if you like yarn, use yarn
Clone or fork the project and install dependencies
$ git clone git@github.com:valpinkman/react-silicon-life.git
$ cd react-silicon-life
$ yarn
# or if you use `still` use npm
$ npm i
NPM dev script will spawn a dev server listening to https://localhost:1234
$ yarn start
Then you can start editing the App however you see fit. If you don't like the folder architecture, please feel free to change it at your gusto.
Testing is done using Jest. Start the tests by running yarn test
. Jest will generate snapshots that will be used when you run test again, and alert you if anything has changed. If you need to update your snapshots, simply run the command npm run test-update
If you need help configuring all the tools talked about here (typscript, tslint, prettier...) with VS Code, you can check my VSCode workspace settings on this gist
Well, all projects need a name, and with all the react boilerplate out there (actually, not just react), I needed a name as well. While I was setting up this starter, I was re-reading the amazing Manga by Tsutomo Nihei, Blame!, and the Silicon Life are pretty f*cking badass. I'll just recommend this piece of art, and all the other stories written by Tsutomo Nihei, to every one.
So now you know, if you haven't read it yet, you should
Oh, and here, a picture of PCell, a Silicon Life (in case you didn't figure it out yet 🙃)