Because:
- During development it could be useful to start only parts of the stack
needed for development on specific domains.
This commit:
- Provides additional stack startup options to only start specific parts
of the stack, by using nx projects and tags.
Closes #FXA-9771
On M1 we currently sometimes need to 'yarn restart services' after a 'yarn start' before things start working. Maybe if we wait for the containers to be responsive before starting services we can avoid this. The important one seems to be mysql.
* feat(cli): add 'yarn delete services' command
sometimes you may want to leave all your DBs running but completely start over with fresh services. The pm2 restart command doesn't fully reset the environment and sometimes that's what you want. Delete lets us remove the service from pm2 so we can start it fresh.
* chore(ci): slow down pm2 startup
I've noticed ci failures where the services don't even get started up completely happening more frequently. During the brief time that circleci showed resource graphs the pm2 startup pegged both cpu and memory. If we wait for the services that have a lot of building at startup to finish before starting the next service maybe we'll have better stability.
* chore(tests): remove support-panel from functional test startup
why: several reasons...
- to have a unified approach and pattern for:
- debugging
- fs watching for local dev
- running services in dev
- configuring services in dev
- to improve the initial clone and subsequent `npm ci` experience
- to make future work on tooling easier
1. renamed _scripts/*.sh to use kebab-case
2. linted _scripts with shellcheck
3. added _dev directory and moved pm2 json files there
4. added nps and package-scripts.js
- this allows us to do nice things like: `npm start debug firefox`
- I'd like to expand this further but it's a start
5. refactored the install scripts to make `npm install` nicer
6. renamed pm2 process names for easier control
- can use `pm2 logs auth` instead of the id