Skip to content

Latest commit

 

History

History
32 lines (25 loc) · 1.72 KB

0009-publish-js-lib-registry.md

File metadata and controls

32 lines (25 loc) · 1.72 KB

Publish JS libraries on a registry

  • Status: accepted
  • Deciders: Thomas GERBET
  • Date: 2022-01-18

Context and Problem Statement

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.

Base rules

  • 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

Expected publication process

  1. Increment/Set the new version of the JS package to release, follow SemVer rules
  2. Push to review this change like any other changes
  3. Once approved and submitted, tag the commit with PACKAGE_NAME_PACKAGE_VERSION e.g. for a package called @tuleap/example and a 1.0.1 your tag should be @tuleap/example_1.0.1
  4. Publish the tag
  5. Trigger the build pipeline with the tag