@rapyuta-robotics/dummy-package v0.0.5
@rapyuta-robotics/dummy-package
How to add this package to your project
In your project's directory, run yarn add @rapyuta-robotics/dummy-package
How to develop this package locally
Start development:
1. First, make sure that you have added this package to your project (see: How to add this package to your project)
2. In this package's 📦 directory, run yarn link
to create the symlink
3. In this package's 📦 directory, run yarn start
to watch this package's file changes and rebuild automatically
4. In your project's 📝 directory, run yarn link @rapyuta-robotics/dummy-package
to establish the symlink
5. Your project is now referencing to the local copy of this package everytime you import such as import Spirit from '@rapyuta-robotics/dummy-package'
6. When you edit the code of this package, your project will hot-reload and reflect the new changes
Stop development:
1. In your project's 📝 directory, run yarn unlink @rapyuta-robotics/dummy-package
to disband the symlink (NOTE: you need to do this before step (3), otherwise the unlink will fail. In the case that you mistakenly run (3) before (1), run yarn link
in this package's 📦 directory and restart from (1))
2. In your project's 📝 directory, run yarn install --force
to ensure that it's using the correct remote version of @rapyuta-robotics/dummy-package
3. In this package's 📦 directory, run yarn unlink
to cancel the symlink
How to publish a new version
A new version will be published to NPM everytime a new release is created
The workflow shall be: 1. Create a new release targeting devel. No release branch should be created as we are using trunk-based development approach. 2. Tag of the new release should follow semantic versioning with breaking change (compatibility issue).feature update.bugfix patches -> (x.y.z) 3. Once release is created, github action will automatically publish it to npmjs.
References
- This project uses
tsup
for bundling and hot-bundling on code changes (see: https://github.com/egoist/tsup) - Yarn link & unlink workflow reference: https://gist.github.com/alanbsmith/6c581e5042b8e5e558b0b4454192eb69
- Trunk-based development: https://www.atlassian.com/continuous-delivery/continuous-integration/trunk-based-development