In order to run the project we need the following software binaries installed on our development machines:
node>=16.7.0
npm>=8.0.0
We can also use one of the listed cloud providers we support:
To install the application:
npm ci
To start a local copy of the app on port 3000
:
npm start
For running the test suite, use the following command. Since the tests run in watch mode by default, some users may encounter errors about too many files being open. In this case, it may be beneficial to install watchman.
npm test
You can request a coverage report by running the following command:
npm run test:coverage
For writing tests, the rule is move business or service logic to the lib folder and write unit tests. Logic that needs to be in a React component, then leverage tools like Cypress or Vitest mocking to write tests.
A development preview can also be run from docker:
docker build -t open-sauced-hot .
docker run -p 8080:80 open-sauced-hot
Alternatively you can pull the production container and skip all builds:
docker run -dit -p 8080:80 ghcr.io/open-sauced/hot
To check the code and styles quality, use the following command:
npm run lint
This will also display during development, but not break on errors.
To fix the linting errors, use the following command:
npm run format
It is advised to run this command before committing or opening a pull request.
We have a couple of scripts to check and adjust missing types.
In order to dry run what types would be added to package.json
:
npm run types:auto-check
In order to add any missing types to package.json
:
npm run types:auto-add
A production deployment is a complete build of the project, including the build of the static assets.
npm run build
We encourage you to contribute to Open Sauced! Please check out the Contributing guide for guidelines about how to proceed.
We have a commit utility called @open-sauced/conventional-commit that helps you write your commits in a way that is easy to understand and process by others.
It is generally integrated as an npm
script but you can run it with npx
as well:
npm run push
For any other npm based project or dotnpmrc defaulting to --yes
:
npx -y @open-sauced/conventional-commit
Got Questions? Join the conversation in our Discord.
Find Open Sauced videos and release overviews on our YouTube Channel.
MIT Β© Open Sauced