moda-web-library
v2.15.1
Published
Web prototype build with Node.js, React, Redux, React-Router v4, Redux-JsonApi.
Downloads
3,299
Readme
Node.js Web Prototype
Web prototype build with Node.js, React, Redux, React-Router v4, Redux-JsonApi.
Setup and run locally
- Make sure you have node.js and yarn installed
- Clone the repo
- Run
yarn install
- Run
yarn build
to build the app - Run
yarn start
to start the Node server. You can reach it on http://localhost:9000/new You can disable prerendering withyarn start --prerender=false
. - For development, run
yarn dev
to run the dev server. It will watch changes and hot reload. Open it on http://localhost:8080/new
Running tests
You can run all tests with yarn test
. Run a specific test with yarn test [filePath]
.
Build the library package and use it in mojo (integration/staging/production)
- Merge your PR and wait for the new release from semantic-release
- Upgrade
moda-web-library
in your mojo PR and merge it
Build the library package and use it in mojo (sandbox)
- Publish a pre-release (e.g.
1.0.0-pre.1
) withnpm publish --tag pre
. - Update package.json in mojo with the new version and push your branch.
- Your sandbox now should have the new version of moda-web-librar
Build the library package and use it in mojo (development)
- Make sure you have yalc installed globally:
npm install --global yalc
- Run
yarn library:watch
- Run
yalc add moda-web-library
in mojo - Start the rails server
- After you're done with development, run
yalc remove moda-web-library
in mojo
Fetching resources
For resource fetching we use Apollo. See their docs. For non-graphql endpoints, we use apollo-link-rest.
Generating types for Apollo
Run yarn apollo:types:generate
to re-generate the Apollo types in src/generated_types
.
Using the linter
Running the linter from console is as simple as running yarn lint
.
To autofix formatting errors, run yarn lint-fix
.
Setting up linter in your editor
Most editors have plugins which can highlight lint errors in real time, and autoformat using jsPrettier. The setup is different for each editor, I will provide a guide for SublimeText v3.
- Install package control
- Install the following packages:
- If you would like to autoformat on save, turn on
auto_format_on_save
in Preferences -> Package Settings -> JsPrettier -> Settings - Default