
Company News
AWS Security Hub Adds Socket for Supply Chain Security
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.
@orderly.network/npm-release
Advanced tools
CLI for releasing npm packages using [release-it](https://github.com/release-it/release-it), with support for environment-based registry/token config, Git auth, pre-release tags, optional internal registry publishing, and Slack notifications.
CLI for releasing npm packages using release-it, with support for environment-based registry/token config, Git auth, pre-release tags, optional internal registry publishing, and Slack notifications.
.release-it.json required.GIT_TOKEN + GIT_USERNAME; commit identity via GIT_NAME / GIT_EMAIL.PRERELEASE_TAG (e.g. alpha, beta) for prerelease versions and npm dist-tag.NPM_REGISTRY_INTERNAL and NPM_TOKEN_INTERNAL are set.From your project root:
npx @orderly.network/npm-release
Or add it as a devDependency and run it from your package scripts:
pnpm add -D @orderly.network/npm-release
{
"scripts": {
"release": "orderly-npm-release"
}
}
The package also exposes the orderly-npm-release binary directly.
| Variable | Description |
|---|---|
CI_COMMIT_BRANCH | Current branch in CI. Used to infer a prerelease tag from internal/* branches. |
NPM_REGISTRY | Primary npm registry URL. Defaults to https://registry.npmjs.org. |
NPM_TOKEN | Auth token for the primary registry. Appended to the local .npmrc when set. |
NPM_REGISTRY_INTERNAL | Optional internal registry URL. Used only after a successful public npm publish. |
NPM_TOKEN_INTERNAL | Auth token for NPM_REGISTRY_INTERNAL. Required with NPM_REGISTRY_INTERNAL for dual publishing. |
GIT_TOKEN | Git personal access token for push. Used with GIT_USERNAME to rewrite GitHub/GitLab remote URLs. |
GIT_USERNAME | Git username used with GIT_TOKEN for authenticated Git push. |
GIT_NAME | Git user.name for release commits. |
GIT_EMAIL | Git user.email for release commits. |
RELEASE_VERSION_TYPE | Bump type passed to release-it, usually patch, minor, or major. |
PRERELEASE_TAG | Pre-release identifier (e.g. alpha, beta). Sets release-it preRelease and npm dist-tag. |
SLACK_WEBHOOK_URL | Webhook URL for success/failure Slack notifications. |
All variables are optional. Unset values use defaults or disable the corresponding feature (e.g. no Slack notification if SLACK_WEBHOOK_URL is not set).
There are two internal registry flows:
NPM_REGISTRY is set and is not https://registry.npmjs.org, the CLI publishes to that registry and does not create a git tag. Commits and push still occur; only tagging is skipped.NPM_REGISTRY_INTERNAL and NPM_TOKEN_INTERNAL are set, the CLI runs npm publish --registry <NPM_REGISTRY_INTERNAL> after release-it succeeds. This publishes the same version to the internal registry without another version bump or git operation.Internal package URLs in Slack notifications use the Verdaccio-style path:
<registry>/-/web/detail/<package-name>
PRERELEASE_TAG is set and the current package.json version is already a prerelease with the same preId (e.g. 1.0.0-alpha.0 with tag alpha), the version is incremented as prerelease (e.g. 1.0.0-alpha.1).RELEASE_VERSION_TYPE (patch, minor, or major). When PRERELEASE_TAG is set, the new version is a prerelease and published under that npm dist-tag.PRERELEASE_TAG is not set and the current branch is internal/<tag>, the CLI uses <tag> as the prerelease tag.The CLI does not require a clean working directory. It is intended to run in CI after pnpm install or build steps that may change the lockfile or generated files.
In GitLab CI (or similar), set the needed environment variables and run:
pnpm release
or:
npx @orderly.network/npm-release
When GIT_USERNAME and GIT_TOKEN are set, the CLI rewrites origin before
release-it pushes. This also works with GitLab Runner checkout URLs such as
https://gitlab-ci-token:<token>@gitlab.com/group/project.git; the existing
checkout credentials are ignored and replaced with the configured git token.
Public npm release with an additional internal registry publish:
GIT_NAME="Release Bot" \
GIT_EMAIL="release@example.com" \
GIT_USERNAME="<git-user>" \
GIT_TOKEN="<git-token>" \
NPM_TOKEN="<npm-token>" \
NPM_REGISTRY_INTERNAL="https://npm.example.com" \
NPM_TOKEN_INTERNAL="<internal-npm-token>" \
RELEASE_VERSION_TYPE="patch" \
orderly-npm-release
MIT
FAQs
CLI for releasing npm packages using [release-it](https://github.com/release-it/release-it), with support for environment-based registry/token config, Git auth, pre-release tags, optional internal registry publishing, and Slack notifications.
We found that @orderly.network/npm-release demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 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.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.