We recommend using yalc
tool for linking ng-ui-components
. It's because yalc
generates exactly the same package as
it would be published to the npm registry, especially it removes files that should be ignored and their existence cause
problems when we use yarn link
.
Here's how to do the linking:
yarn link-local
# in the project where you want to link this library to:
yalc link "@deviceinsight/ng-ui-components"
The git flow tools need to be installed. This depends on your operating system.
They can be also installed from the git repo: https://github.com/petervanderdoes/gitflow-avh
After git flow is installed, the repo needs to be initialized. Run git flow init
and answer every
question with the default (press Enter/Return).
To build a release of this library, execute ./release.sh
, which consists of the following steps:
Vulnerabilities can occur at any time. To be sure, the pipeline for the branches and the tags created in the release process will not fail, it is wise to run the checks locally before building the release. To do this, run:
npm install
npm run scan
npm run test
- Switch to develop branch and make sure both main and develop are current:
git checkout develop && git pull && git fetch origin main:main
- Get the upcoming release from
package.json
and start the release:
git flow release start $RELEASE_VERSION
, e.g. git flow release start 1.2.0
.
- Edit the version in
package.json
.
3.1. Edit the version in package.json
, remove the -SNAPSHOT
.
3.2. Commit package.json
. Commit message should be Release $RELEASE_VERSION
, e.g. Release 1.2.0
.
- Finish the release:
git flow release finish
This will merge the release branch into the main
branch and create a tag.
It will also merge the release branch into the develop
branch.
After this you should be on the develop
branch.
4.1 A merge conflict might occur in package.json
for the version
, when main is merged into the develop branch:
Resolve it by taking the version of the develop
branch. Then run npm install
to resolve conflicts in package-lock.version
.
Run git status
to see if there are more conflicts. If there are, resolve them and git add
the fixed files.
If there are no more conflicts, run git add package*
and git commit
.
- Start a new snapshot version:
5.1.
Edit the version in package.json
,
increment the minor version (e.g., from 1.1.0
to 1.2.0
) and add the -SNAPSHOT
again,
so that the version is e.g. 1.2.0-SNAPSHOT
.
5.2. Run npm install
.
5.2. Commit package.json
and package-lock.json
. Commit message should be Starting $NEW_SNAPSHOT_VERSION
, e.g. Starting 1.2.0
.
- Push the branches and the tag:
On branch develop
:
git push
git checkout main
git push
git push --tags
git checkout develop