Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Cypress io Cypress Npm Release Main

From Leeroopedia
Knowledge Sources
Domains Release_Engineering, Package_Management
Last Updated 2026-02-12 00:00 GMT

Overview

Concrete tools for publishing npm packages and uploading binaries to CDN provided by the Cypress release scripts.

Description

Multiple scripts coordinate the release:

  • scripts/npm-release.js (L176-216): main() orchestrates npm publishing via releasePackages() (L126-167)
  • scripts/binary/index.js (L341-378): deploy.upload() uploads binary zip to S3
  • scripts/binary/index.js (L122-148): deploy.release() updates the S3 version manifest
  • scripts/prepare-release-artifacts.js (L14-26): prepares artifacts for publishing

Usage

Invoked by CI pipeline scripts during the release phase.

Code Reference

Source Location

  • Repository: cypress-io/cypress
  • Files:
    • scripts/npm-release.js:L176-216 (main)
    • scripts/npm-release.js:L126-167 (releasePackages)
    • scripts/binary/index.js:L341-378 (deploy.upload)
    • scripts/binary/index.js:L122-148 (deploy.release)
    • scripts/prepare-release-artifacts.js:L14-26

Signature

// npm-release.js
async function main() {
  // Calls releasePackages() for npm publish
  // Verifies npm accessibility
}

// binary/index.js
const deploy = {
  async upload() { /* Upload binary zip to S3 */ },
  async release() { /* Update version manifest */ },
}

Import

// CLI invocation
node scripts/npm-release.js
node scripts/binary.js deploy-binary
node scripts/binary.js release

I/O Contract

Inputs

Name Type Required Description
packages string[] Yes Package names to publish
version string Yes Release version
Binary zip file Yes Platform-specific binary archive
S3 credentials env vars Yes AWS credentials for CDN upload
npm token env var Yes npm authentication token

Outputs

Name Type Description
npm packages registry Published packages on npmjs.com
Binary on CDN S3 Binary zip accessible via download URL
Version manifest S3 JSON Updated manifest with new version entry

Usage Examples

Release Commands

# Prepare artifacts
node scripts/prepare-release-artifacts.js

# Publish npm packages
node scripts/npm-release.js

# Upload binary and update manifest
node scripts/binary.js deploy-binary
node scripts/binary.js release

Related Pages

Implements Principle

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment