A semantic‑release plugin that updates version numbers during the prepare stage. This plugin supports the following file formats:
-
composer.json: Updates the
"version"
field in a JSON file. -
.csproj: Updates the
<Version>
tag in an XML file (if the tag does not exist, it is added to the first<PropertyGroup>
). - VERSION: Updates a VERSION file that contains only the version number.
Install the plugin via npm:
npm install semantic-release-multi-lang --save-dev
Add the plugin to your semantic‑release configuration (e.g., in a .releaserc.json file or within the release field in your package.json). For example:
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
["semantic-release-multi-lang", {
"composerFile": "./composer.json",
"csprojFiles": ["./ProjectA.csproj", "./ProjectB.csproj"],
"versionFile": "./VERSION"
}]
]
}
-
composerFile: Specifies the path to the composer.json file. Defaults to composer.json in the project root.
-
csprojFiles: Specifies the path(s) to one or more .csproj files. This can be a string or an array. If not set, the plugin will search for all .csproj files in the project root (non-recursively).
-
versionFile: Specifies the path to the VERSION file. This file will contain only the version number. Defaults to a file named VERSION in the project root.
MIT License