Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@stephansama/multipublish

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stephansama/multipublish

Publish packages to multiple providers easily

latest
Source
npmnpm
Version
1.0.13
Version published
Weekly downloads
36
-85.54%
Maintainers
1
Weekly downloads
 
Created
Source

@stephansama / multipublish

source code documentation npm socket.dev jsr npm downloads

yaml zod @tanstack/intent jsr tsdown

Publish packages to multiple providers easily

Table of contents
Open Table of contents

Installation

pnpm install @stephansama/multipublish

CLI Options

OptionAliasDescriptionType
--config-cPath to config filestring
--dry-dPerform a dry runboolean
--released-rPackages that have been updated and require a publisharray
--releasedFile-fFile denoting which packages have been updatedstring
--useChangesetStatus-sPath to changeset status file used to version releaseboolean
--verbose-vEnable verbose loggingboolean
--versionJsr-jUpdate version JSR configuration filesboolean

Usage

Configuration

You can configure multipublish by creating a configuration file (or object) in the root of your project. The following file formats are supported:

  • package.json
  • .multipublishrc.cjs
  • .multipublishrc.js
  • .multipublishrc.json
  • .multipublishrc.mjs
  • .multipublishrc.ts
  • .multipublishrc.yaml
  • .multipublishrc.yml
  • .multipublishrc
  • .config/.multipublishrc.json
  • .config/.multipublishrc.yaml
  • .config/.multipublishrc.yml
  • .config/.multipublishrc
  • .config/multipublishrc.cjs
  • .config/multipublishrc.js
  • .config/multipublishrc.json
  • .config/multipublishrc.mjs
  • .config/multipublishrc.ts
  • .config/multipublishrc.yaml
  • .config/multipublishrc.yml
  • .config/multipublishrc
  • multipublish.config.cjs
  • multipublish.config.js
  • multipublish.config.mjs
  • multipublish.config.ts
{
  "$schema": "./node_modules/@stephansama/multipublish/config/schema.json",
  "platforms": [
    ["jsr", { "experimentalGenerateJSR": true, "defaultExclude": ["!dist"] }],
    [
      "npm",
      {
        "registry": "https://npm.pkg.github.com",
        "tokenEnvironmentKey": "GITHUB_TOKEN"
      }
    ]
  ]
}

GitHub NPM Registry

If publishing to the GitHub NPM registry, you must add packages to permissions when using a GitHub token. And allow write and read permissions for workflows (located in repo settings > actions > general).

permissions:
  packages: write

JSR Configuration

When publishing to JSR, you must either have a valid jsr.json or deno.json, or allow experimentalGenerateJSR using the config option.

Changesets

If you are using jsr this with changesets, please update your version script with a preversion script that calls the multipublish CLI in order to update your existing jsr configurations.

JSR

{
  "scripts": {
    "preversion": "multipublish --useChangesetStatus --versionJsr",
    "version": "changeset version"
  }
}

Published packages

you can run multipublish after a changeset publish like so

- if: github.ref_name == 'main'
  name: 🦋 Create Changeset Release
  uses: changesets/action@v1
  id: changesets
  with:
    commit: "chore: Update version for release"
    title: "chore: Update version for release"
    publish: pnpm run publish
    createGithubReleases: true
- name: publish to other registries
  if: steps.changesets.outputs.published == 'true'
  run: |
    echo "${{ steps.changesets.outputs.publishedPackages }}" | multipublish

Zod Schema

Config

Object containing the following properties:

PropertyTypeDefault
platforms (*)Platforms
tmpDirectorystring'.release'
useChangesetsbooleantrue

(*) Required.

JsrPlatformOptions

Object containing the following properties:

PropertyTypeDefault
allowSlowTypesbooleantrue
defaultExcludeArray<string>
defaultIncludeArray<string>
experimentalGenerateJSRbooleanfalse
experimentalUpdateCatalogsbooleanfalse
tokenEnvironmentKeystring'JSR_AUTH_TOKEN'

All properties are optional.

NpmPlatformOptions

Object containing the following properties:

PropertyTypeDefault
registrystring'https://registry.npmjs.org/'
strategy'.npmrc' | 'package.json''.npmrc'
tokenEnvironmentKeystring'NODE_AUTH_TOKEN'

All properties are optional.

Platforms

*Array of 'jsr' | 'npm' *or* Tuple:

or Tuple: items.*

Keywords

multipublish

FAQs

Package last updated on 16 May 2026

Did you know?

Socket

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.

Install

Related posts