- Status: accepted
- Deciders: Thomas GERBET
- Date: 2022-01-18
Tuleap uses private JS libraries to share code between its different apps. To interop with external applications or just to share code with the rest of world it might be needed to publish our packages to a public registry. This document describes the process and sets the rules for publishing a package.
- Packages are only published on the npmjs.com registry
- Packages can only be published under the
tuleap
organization, to put it another way the package name must be prefixed by@tuleap/
(it is already the case for internal packages to avoid typosquatting) - Packages versioning follow SemVer to be consistent with the rest of the JS ecosystem. Current Tuleap versions has no impact on the version used for a JS package
- Only Tuleap maintainers can approve the publication of a new version of a JS package
- It is possible to determine from which commit a version of a JS package has been built
- The build and publication of the JS libraries are handled through an automated pipeline
- Increment/Set the new version of the JS package to release, follow SemVer rules
- Push to review this change like any other changes
- Once approved and submitted, tag the commit with
PACKAGE_NAME_PACKAGE_VERSION
e.g. for a package called@tuleap/example
and a1.0.1
your tag should be@tuleap/example_1.0.1
- Publish the tag
- Trigger the build pipeline with the tag