@catchfashion/semantic-release-config

semantic-release configuration for catchfashion projects

Usage no npm install needed!

<script type="module">
  import catchfashionSemanticReleaseConfig from 'https://cdn.skypack.dev/@catchfashion/semantic-release-config';
</script>

README

@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