Skip to main content
On this page

deno publish

deno publish publishes your package to the JSR registry.

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. The exports field can either be specified as a single string, or as an object mapping entrypoint names to paths in your 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
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.

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.

--set-version<VERSION>
Jump to heading

Set version for a package to be published. This flag can be used while publishing individual packages and cannot be used in a workspace.

--token<token>
Jump to heading

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

Options Jump to heading

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<CHECK_TYPE>optional
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<NO_CHECK_TYPE>optional
Jump to heading

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

Last updated on

Did you find what you needed?

Privacy policy