
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
@oat-sa/tao-extension-release
Advanced tools
This tool automates TAO extension release
Please verify installation prerequisite. And run :
npm i -g @oat-sa/tao-extension-release
This tool offers specialized release process for different types of repositories.
If the repository contains a TAO Extension, please use the command extensionRelease.
taoRelease extensionRelease
You will be prompted to follow the instructions.
This command does:
If the repository contains an npm package, please use the command npmRelease. This command must be run in the root directory of an npm package repository.
cd path/to/my/package/repo
taoRelease npmRelease
You will be prompted to follow the instructions.
This command does:
At then end, you will be prompted to trigger the execution of npm publish. The Github release is already finished at this stage. If the publish step fails, you can try again manually, or ask someone with the necessary privileges to perform the publishing.
If the repository is a lerna-managed monorepo, and contains npm packages, please use the command npmReleaseMonorepo. This command must be run in the root directory of the monorepo. Monorepo must be have lerna installed at the root, because release tool will use its CLI to get infromation about packages.
cd path/to/my/package/repo
taoRelease npmReleaseMonorepo
This command does:
For any other repository that doesn't need any special build but only tagging and merging, like PHP libraries, please use the command repoRelease. This command must be run in the root directory of the repository.
cd path/to/my/repo
taoRelease repoRelease
You will be prompted to follow the instructions.
This command does:
Commandline arguments to give you more control over the parameters of the release:
| option | description | default |
|---|---|---|
--base-branch <branch> | branch to release from | develop |
--branch-prefix <prefix> | releasing branch prefix | release |
--origin <remote> | git repository remote name | origin |
--release-branch <branch> | branch to release to | master |
--release-version <version> | version to be used for the release | version extracted from conventional commits |
--release-comment <comment> | comment to attach to the release | (none - prompted) |
--no-interactive | turns off the interactive mode | interactive mode is on by default, except on non TTY shells |
--no-write | turns off writting config to file system | no set |
| option | description | default |
|---|---|---|
--path-to-tao <path> | relative or absolute filesystem path | (none - prompted) |
--extension-to-release <extension> | extension name (e.g. taoFoobar) | (none - prompted) |
--update-translations | run translation update without prompting. Translations update is only available in interative mode. | |
--www-user <user> | the system user used to launch PHP commands | www-data |
| option | description | default |
|---|---|---|
--release-tag | tag to be used for the release, if it's different from root package.json version | |
--conventional-bump-type | one of: none,patch, minor, major. If not specified, will be calculated from conventional commits on each package. If none, will not change package versions. | |
--no-publish | do not publish packages to npm. Publishing is done as the last step. For no-interactive mode. |
Remove the package if already installed globally :
npm uninstall -g @oat-sa/tao-extension-release
Then clone the sources :
git clone git@github.com:oat-sa/tao-extension-release.git
cd tao-extension-release
npm install
npm link
So the command taoRelease will use the sources.
Useful commands :
npm test runs the test suitenpx jest -- my-test.spec.js runs a single testnpm run test:cov runs the test suite with code coveragenpm run test:dev runs the test suite in watch modenpm run lint verifies the sources complies with the code style guideA file named .tao-extension-release is created in the user directory.
The following values can be defined in this file :
token : your Github auth tokentaoRoot : the path to the root of TAOwwwUser : the system user used to launch PHP commands (www-data)Next version taken based on Conventional commits. Some treats of the next version calculation:
release-version option provided, it will be taken as next release version and version calculation will be skippedYou need a recent version of node.js for your platform.
You need to have the git > 1.7.0 command available in your PATH.
To release TAO extension, you may also need the php command available in your PATH
You also need the sudo command available in your PATH.
Task foosass not foundEverything looks OK but you don't know why the grunt task is not found. If you have updated node or npm recently, you can fix this by :
cd tao/views/build
npm reinstall node-sass --force
See the history
Copyright (c) 2017-2021 Open Assessment Technologies SA; GNU General Public License v2.0
FAQs
Helps you to release TAO extensions
The npm package @oat-sa/tao-extension-release receives a total of 17 weekly downloads. As such, @oat-sa/tao-extension-release popularity was classified as not popular.
We found that @oat-sa/tao-extension-release demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 28 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.