gitea/docs/content/doc/packages/npm.en-us.md
Jack Vine 83680c97a7
NPM Package Registry search API endpoint (#20280)
Close #20098, in the NPM registry API, implemented to match what's described by https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#get-v1search

Currently have only implemented the bare minimum to work with the [Unity Package Manager](https://docs.unity3d.com/Manual/upm-ui.html).

Co-authored-by: Jack Vine <jackv@jack-lemur-suse.cat-prometheus.ts.net>
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2022-09-24 19:24:33 +08:00

3.5 KiB

date title slug draft toc menu
2021-07-20T00:00:00+00:00 npm Packages Repository packages/npm false false
sidebar
parent name weight identifier
packages npm 70 npm

npm Packages Repository

Publish npm packages for your user or organization.

Table of Contents

{{< toc >}}

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://gitea.example.com/api/packages/{owner}/npm/
npm config set -- '//gitea.example.com/api/packages/{owner}/npm/:_authToken' "{token}"
Parameter Description
scope The scope of the packages.
owner The owner of the package.
token Your [personal access token]({{< relref "doc/developers/api-usage.en-us.md#authentication" >}}).

For example:

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

or without scope:

npm config set registry https://gitea.example.com/api/packages/testuser/npm/
npm config set -- '//gitea.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}]
Parameter Description
package_name The package name.
package_version The 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}
Parameter Description
package_name The 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}
Parameter Description
package_name The package name.
version The version of the package.
tag The 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:gitea.

Supported commands

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