CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-libnpmorg

Programmatic API for managing npm organization memberships and roles

74

0.97x
Overview
Eval results
Files

task.mdevals/scenario-4/

Release Channel Manager

Build a release helper that bumps package versions and assigns distribution tags to coordinate stable and preview releases using the package manager's built-in release tooling.

Capabilities

Patch release updates default channel

  • Starting from manifest version 1.4.2, running a patch release produces version 1.4.3 and sets the default distribution tag (e.g., the primary "latest" channel) to that version. @test

Prerelease isolated to channel

  • Given manifest version 2.0.0 and channel "next" with prerelease identifier "beta", releasing creates 2.0.1-beta.0 assigned to the "next" channel while the default channel remains 2.0.0. @test

Dry run reports plan

  • With dryRun enabled, the release returns the version that would be produced and the tag changes it would apply, while leaving the manifest and tags untouched. @test

Implementation

@generates

API

export async function performRelease(options: {
  manifestPath: string;
  packageName: string;
  releaseType: 'patch' | 'minor' | 'major' | 'prerelease';
  channel?: string;                 // distribution tag to update; defaults to the package's primary channel
  prereleaseIdentifier?: string;    // identifier for prerelease bumps (e.g., "beta")
  dryRun?: boolean;
}): Promise<{
  version: string;
  appliedTags: Record<string, string>;  // dist-tag -> version after the release (or planned when dryRun)
  planned: string[];                    // ordered description of actions taken or planned
}>;

export async function readTags(packageName: string): Promise<Record<string, string>>;

Dependencies { .dependencies }

npm { .dependency }

Provides version bumping and distribution tag management for published packages.

Install with Tessl CLI

npx tessl i tessl/npm-libnpmorg

tile.json