Old version

This documentation is for a Forgejo version which is no longer supported.

To read the up-to-date documentation, navigate to the latest version.

npm Package Registry

Publish npm packages for your user or organization.

Requirements

To work with the npm package registry, you need Node.js coupled with a package manager such as Yarn or npm itself.

The registry supports scoped and unscoped packages.

The following examples use the npm tool with the scope @test.

Configuring the package registry

To register the package registry you need to configure a new package source.

npm config set {scope}:registry https://forgejo.example.com/api/packages/{owner}/npm/
npm config set -- '//forgejo.example.com/api/packages/{owner}/npm/:_authToken' "{token}"
ParameterDescription
scopeThe scope of the packages.
ownerThe owner of the package.
tokenYour personal access token.

For example:

npm config set @test:registry https://forgejo.example.com/api/packages/testuser/npm/
npm config set -- '//forgejo.example.com/api/packages/testuser/npm/:_authToken' "personal_access_token"

or without scope:

npm config set registry https://forgejo.example.com/api/packages/testuser/npm/
npm config set -- '//forgejo.example.com/api/packages/testuser/npm/:_authToken' "personal_access_token"

Publish a package

Publish a package by running the following command in your project:

npm publish

You cannot publish a package if a package of the same name and version already exists. You must delete the existing package first.

Unpublish a package

Delete a package by running the following command:

npm unpublish {package_name}[@{package_version}]
ParameterDescription
package_nameThe package name.
package_versionThe package version.

For example:

npm unpublish @test/test_package
npm unpublish @test/test_package@1.0.0

Install a package

To install a package from the package registry, execute the following command:

npm install {package_name}
ParameterDescription
package_nameThe package name.

For example:

npm install @test/test_package

Tag a package

The registry supports version tags which can be managed by npm dist-tag:

npm dist-tag add {package_name}@{version} {tag}
ParameterDescription
package_nameThe package name.
versionThe version of the package.
tagThe tag name.

For example:

npm dist-tag add test_package@1.0.2 release

The tag name must not be a valid version. All tag names which are parsable as a version are rejected.

Search packages

The registry supports searching but does not support special search qualifiers like author:forgejo.

Supported commands

npm install
npm ci
npm publish
npm unpublish
npm dist-tag
npm view
npm search