On this page
deno publish
This applies to deno v1.42.0. and above.
Publish a package or workspace to JSR.
Command Jump to heading
deno publish [OPTIONS] - Publish the current working directory's package or
workspace.
Synopsis Jump to heading
deno publish [--token <token>] [-c|--config <FILE>] [-q|--quiet]
[--no-config] [--dry-run] [--allow-slow-types] [--allow-dirty]
[--no-provenance] [--check[=<CHECK_TYPE>]] [--no-check[=<NO_CHECK_TYPE>]]
deno publish -h|--help
Description Jump to heading
The deno publish command is used to
publish a package or workspace to
JSR.
The command will upload the package to the registry and make it available for others to use.
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
namefield must be unique and follow the@<scope_name>/<package_name>convention. - The
versionfield must be a valid semver version. - The
exportsfield must point to the main entry point of the package.
Example:
{
"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.
Arguments Jump to heading
There are no required arguments for this command - it should be run from within your package or workspace directory.
Options Jump to heading
-
--token <token>The API token to use when publishing. If unset, interactive authentication will be used
-
-c, --config <FILE>The configuration file can be used to configure different aspects of deno including TypeScript, linting, and code formatting. Typically the configuration file will be called
deno.jsonordeno.jsoncand automatically detected; in that case this flag is not necessary. See https://deno.land/manual@v1.41.3/getting_started/configuration_file -
-q, --quietSuppress diagnostic output
-
--no-configDisable automatic loading of the configuration file.
-
--dry-runPrepare the package for publishing performing all checks and validations without uploading
-
--allow-slow-typesAllow publishing with slow types
-
--allow-dirtyAllow publishing if the repository has uncommitted changed
-
--no-provenanceDisable provenance attestation. Enabled by default on Github actions, publicly links the package to where it was built and published from.
-
--check[=<CHECK_TYPE>]Set type-checking behavior. This subcommand type-checks local modules by default, so adding --check is redundant. If the value of '--check=all' is supplied, diagnostic errors from remote modules will be included.
Alternatively, the 'deno check' subcommand can be used.
-
--no-check[=<NO_CHECK_TYPE>]Skip type-checking. If the value of '--no-check=remote' is supplied, diagnostic errors from remote modules will be ignored
-
-h, --helpPrint help (see a summary with '-h')
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