Skip to main content
On this page

deno publish

Command-line Usage

deno publish [OPTIONS]

Publish the current working directory's package or workspace to JSR


Publishing options Jump to heading

--allow-dirty Jump to heading

Allow publishing if the repository has uncommitted changed.

--allow-slow-types Jump to heading

Allow publishing with slow types.

--dry-run Jump to heading

Prepare the package for publishing performing all checks and validations without uploading.

--no-provenance Jump to heading

Disable provenance attestation. Enabled by default on Github actions, publicly links the package to where it was built and published from.

--token Jump to heading

The API token to use when publishing. If unset, interactive authentication is be used.

Options Jump to heading

--config Jump to heading

Short flag: -c

Configure different aspects of deno including TypeScript, linting, and code formatting Typically the configuration file will be called deno.json or deno.jsonc and automatically detected; in that case this flag is not necessary.

--no-config Jump to heading

Disable automatic loading of the configuration file.

Type checking options Jump to heading

--check Jump to heading

Set type-checking behavior. This subcommand type-checks local modules by default, so adding --check is redundant If the value of "all" is supplied, remote modules will be included. Alternatively, the 'deno check' subcommand can be used.

--no-check Jump to heading

Skip type-checking. If the value of "remote" is supplied, diagnostic errors from remote modules will be ignored.

Package Requirements Jump to heading

Your package must have a name and version and an exports field in its deno.json or jsr.json file.

  • The name field must be unique and follow the @<scope_name>/<package_name> convention.
  • The version field must be a valid semver version.
  • The exports field must point to the main entry point of the package.

Example:

deno.json
{
  "name": "@scope_name/package_name",
  "version": "1.0.0",
  "exports": "./main.ts"
}

Before you publish your package, you must create it in the registry by visiting JSR - Publish a package.

Examples Jump to heading

Publish your current workspace

deno publish

Publish your current workspace with a specific token, bypassing interactive authentication

deno publish --token c00921b1-0d4f-4d18-b8c8-ac98227f9275

Publish and check for errors in remote modules

deno publish --check=all

Perform a dry run to simulate publishing.

deno publish --dry-run

Publish using settings from a specific configuration file

deno publish --config custom-config.json