/ui is a collection of all alicenet user interfaces and is one of the primary repositories that will be worked on consistently
It is a fairly straight-forward monorepo, however additional details are noted below for ease of use and configuration.
/package.json
-- contains all shared dependencies
/<project>/package.json
-- contains all unique dependencies (if applicable)
/netlify.toml
-- contains all necessary CI/CD .env parameters*
/ui-boilerblate
-- A UI boilerplate that should be used for all React/MUI web applications
Currenty we are using a single netlify.toml, which means given sitegroup [x,y,z] any .env parameter for site x, will be available for sites y and z.
In the current state this is not posing as an issue as most env keys are not uniquely needed they are currently: company specific/application ambiguous contract addresses and RPC endpoints, and staging vs production deploy state.
If this poses an issue in the future we should investigate breaking this up, but it may pose as a problem due to the base install directory, to unify dependencies, is the /
directory, not the /ui/<project>
directory, in the latter case sublevel configurations are available. See this conversation for more details
/.lintstagedrc.json
-- Contains all pre-commit checks & configuration
/.commitlint.config.js
-- Commit lint configuration
/.prettierrc
-- Global project prettier config
The following segments contains guidelines and requirements for creating additional projects within this /ui monorepo as well as links to coding guidelines
Please follow the coding guidelines outlined here
New applications should clone the existing /ui-boilerplate
folder unless an application requires something particularly custom in nature, to which it should be discussed with the team prior to creation.
-
All PRs for should be first made against
staging
in lieu of ongoing fires 🔥 -
Only
staging
may merge tomain
After inittial repoitory function has been established it is assumed the following requirements should take place for all forthcoming code requests:
- All PRs to
staging
must be reviewed by at least: - All PRs to
main
must be reviewed by at least:- 1 @lead engineer
Mistakes happen and will generally be handled in tandem by 1 or more @lead engineers and an accompanying @core engineer
We utilize https://netlify.com for all continuous deployment as follows:
All commits to main are considered production ready and automatically deployed
All commits to staging are considered staging ready and automatically deployed
TBD on Netlify migration to monorepop
This occurs due to stale code in the webpack bundle and can be resolved as follows to force a re-bundle:
Remove node_modules and wipe package-lock files and reinstall dependencies -- Next run should have updated methods. Alternatively you may need to clear npm cache's webpack/.cache files depending on your environment