@catchfashion/semantic-release-config
A common semantic-release configuration for catchfashion TypeScript projects.
Setup
$ npm install @catchfashion/semantic-release-config --save-dev
Add the following to .releaserc.json
{
"extends": "@catchfashion/semantic-release-config"
}
Add the following to CI Script:
$ npx semantic-release
Configurations
Default
This is commonly used preset.
{
"extends": "@catchfashion/semantic-release-config"
}
Monorepo/Embedded Packages
This is a special configuration for monorepo packages, or embedded packages where package is co-located inside service repository.
For example, Media SDK is located in Media Service repository, and non-sdk related commits are not using semantic-commits.
In this case, Follow below setup steps.
First, Add semantic-release-commit-filter
package to devDependencies
:
$ npm i semantic-release-commit-filter --save-dev --save-exact
Then, Use following semantic-release configuration:
{
"extends": ["semantic-release-commit-filter", "@catchfashion/semantic-release-config"],
"tagFormat": "[PACKAGE_NAME]-v${version}"
}
That's all! Run semantic-release
inside package directory:
For example:
$ cd media-sdk
$ npx semantic-release
You can also check your configuration before automated release:
$ npx semantic-release --dry-run