pnpm:
experienced some incompatibility issues moving from npm to pnpm
pnpm install links a shell script instead of javascript to node_modules/.bin/ folder, resulting breakage of some launch config for debugging (jest). See https://github.com/pnpm/pnpm/issues/1282
pnpm has some issue with 'npm-run-all', see https://github.com/pnpm/pnpm/issues/3275
able to work around
Vue+Vite: see https://github.com/bingtimren/rush-vue-sam-study
Vue CLI: see https://github.com/bingtimren/rush-vue-sam-study
AWS CDK: see https://github.com/bingtimren/rush-vue-sam-study, or use a bundler
AWS SAM: use CDK
Branching:
Git Flow based (long live feature branches) / Trunk based
For monorepo, trunk based is recommended
Changelog
For single project repo, changelog can be generated from git commit messages
For monorepo, depend on other tools (like 'rush change')
Publishing
Configuration:
config/rush/command-line.json
Kinds:
bulk (run the same run-script in each sub projects)
global (run once)
dependencies (npm packages)
(recommended) make it into a regular rush project (but requires build first then)
or, publish into an NPM registry and use common/scripts/install-run.js to launch
or, use Auto-installers
a holder under "common/autoinstallers" with a package.json & shrinkwrap file
rush will automatically install the dependencies before command is invoked (good solution for git hook scripts)
disadvantage: not buildable, increase overall installation footprint