Frontend libraries for building an AutoInvent application
- conveyor - A frontend dashboard generator for inventory data.
- conveyor-redux - Generates reducers and epics for use with conveyor
- conveyor-schema - A schema helper library for conveyor
- magql-query - Query builder and request tool for communicating with a magql backend.
Packages are managed using rush
Refer to rush documention for complete explantions.
Installing all dependencies (for all projects)
Installing a new dependency to a single project
cd into/project rush add --package example-lib
- Manually updating the package.json and running
rush updatewill also work.
- Hint: Adding the flag
--make-consistentwill cause other packages using this dependency to use the same version
Building (all) projects
Updating after a package.json file has changed
Documenting changes for the next package release (write changelogs)
Removing all temporary folders created by Rush
Building .tgz files for all packages (outputs to current directory)
rush publish --pack --include-all --publish --release-folder .
Pull the latest
git checkout main && git pull
Create branch for changes
git checkout -b <branchname>
Stage and commit changes with conventional commit message (
- note that the
scopeof the commit is the package name (
repowhen affecting more than one)
- see commit log for examples
- note that the
Document changes for the next release
- This command should be run once you are ready to merge your PR, after all your changes have been committed to the branch. It analyzes the changes in your branch and (when necessary) prompts you to write human-readable descriptions of your changes.
- See here for best practices when writing the changelogs
Commit and push the changelog files generated by rush
- git commit-msg hook enforcing conventional commits
- git pre-commit hook which runs prettier
- github action for labeling pull requests based on the paths of the files changes: https://github.com/actions/labeler
- lint on build (
- lint bulk command (
- ci using github actions
rush change --verify
- investigate publishing public packages: https://rushjs.io/pages/maintainer/publishing/
- consolidate dev dependencies using rigs
- investigate automatically creating releases from PRs / commits? (https://github.com/semantic-release/semantic-release#-semantic-release)