CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-electron--get

Utility for downloading artifacts from different versions of Electron

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

artifact-download.mddocs/

Advanced Artifact Download

Comprehensive function for downloading any Electron release artifact with full control over platform, architecture, and artifact type. This enables downloading symbols, headers, FFmpeg, and other specialized artifacts.

Capabilities

Download Artifact Function

Downloads an artifact from an Electron release and returns an absolute path to the downloaded file.

/**
 * Downloads an artifact from an Electron release and returns an absolute path
 * to the downloaded file.
 * 
 * Each release of Electron comes with artifacts, many of which are
 * platform/arch-specific (e.g. `ffmpeg-v31.0.0-darwin-arm64.zip`) and others that
 * are generic (e.g. `SHASUMS256.txt`).
 * 
 * @param artifactDetails - The information required to download the artifact
 */
function downloadArtifact(
  artifactDetails: ElectronPlatformArtifactDetailsWithDefaults | ElectronGenericArtifactDetails
): Promise<string>;

Platform-Specific Artifacts

For platform and architecture-specific artifacts:

type ElectronPlatformArtifactDetailsWithDefaults = {
  version: string;
  artifactName: string;
  platform?: string;
  arch?: string;
  artifactSuffix?: string;
  isGeneric?: false;
} & ElectronDownloadRequestOptions;

Usage Examples:

import { downloadArtifact } from "@electron/get";

// Download Electron symbols for macOS x64
const symbolsPath = await downloadArtifact({
  version: '31.0.0',
  platform: 'darwin',
  arch: 'x64',
  artifactName: 'electron',
  artifactSuffix: 'symbols'
});

// Download FFmpeg for Windows x64
const ffmpegPath = await downloadArtifact({
  version: '31.0.0',
  platform: 'win32',
  arch: 'x64',
  artifactName: 'ffmpeg'
});

// Download for current platform (defaults applied)
const electronPath = await downloadArtifact({
  version: '31.0.0',
  artifactName: 'electron'
  // platform and arch will default to current system
});

// Download with custom options
const headersPath = await downloadArtifact({
  version: '31.0.0',
  platform: 'linux',
  arch: 'x64',
  artifactName: 'node-headers',
  cacheMode: ElectronDownloadCacheMode.WriteOnly,
  mirrorOptions: {
    mirror: 'https://internal-mirror.company.com/electron/'
  }
});

Generic Artifacts

For platform-agnostic artifacts:

type ElectronGenericArtifactDetails = {
  isGeneric: true;
  version: string;
  artifactName: string;
} & ElectronDownloadRequestOptions;

Usage Examples:

// Download checksums file
const checksumsPath = await downloadArtifact({
  isGeneric: true,
  version: '31.0.0',
  artifactName: 'SHASUMS256.txt'
});

// Download release notes
const notesPath = await downloadArtifact({
  isGeneric: true,
  version: '31.0.0',
  artifactName: 'RELEASES.md'
});

Common Artifact Types

Platform-Specific Artifacts

  • electron - Main Electron binary (default)
  • ffmpeg - FFmpeg library for media support
  • chromedriver - ChromeDriver for automated testing
  • mksnapshot - V8 snapshot generation tool

Artifact Suffixes

  • symbols - Debug symbols
  • dsym - macOS debug symbols (dSYM bundle)
  • pdb - Windows program database files

Generic Artifacts

  • SHASUMS256.txt - SHA256 checksums for verification
  • RELEASES.md - Release notes and changelog

Platform and Architecture Values

Supported Platforms

  • win32 - Windows
  • darwin - macOS
  • linux - Linux

Supported Architectures

  • x64 - 64-bit Intel/AMD
  • ia32 - 32-bit Intel/AMD (deprecated for Linux)
  • arm64 - 64-bit ARM (Apple Silicon)
  • armv7l - 32-bit ARM v7

Default Behavior

When platform or arch are omitted:

  • platform defaults to process.platform
  • arch defaults to the host architecture (via getHostArch())

File Naming Convention

Platform-specific artifacts follow the pattern:

{artifactName}-v{version}-{platform}-{arch}[-{artifactSuffix}].zip

Examples:

  • electron-v31.0.0-darwin-x64.zip
  • ffmpeg-v31.0.0-linux-arm64.zip
  • electron-v31.0.0-win32-x64-symbols.zip

Install with Tessl CLI

npx tessl i tessl/npm-electron--get

docs

artifact-download.md

basic-download.md

configuration.md

downloaders.md

index.md

utilities.md

tile.json