Configure options below — the preview updates in real time.
Core fields that identify your package in the npm registry.
The unique name of the package. Must be URL-safe, lowercase, max 214 characters. Cannot start with a dot or underscore.
The current version of the package. Must be a valid semver string.
Fields that help users find and understand your package.
A concise description of the package to help users find it via npm search.
An array of relevant keywords to help people discover the package in the npm registry.
The URL to the project's homepage.
The URL to your project's issue tracker or an email address for reporting issues.
Specifies the license terms under which the package is distributed. Use an SPDX license identifier.
Specifies the location where the code lives (e.g. GitHub, GitLab). Shorthand format: github:user/repo.
Config values to override npm defaults at publish-time (e.g. setting access to public for scoped packages or overriding the registry URL).
Fields that identify the people behind the package and how to fund its development.
The primary author of the package. Format: "Name <email> (url)".
A list of people who have contributed to the project. Each entry uses the format: "Name <email> (url)".
Describes ways to fund the development of the package. Can be a URL string or an object with type and url.
Fields that define the package's main entry points and included files.
The primary entry point for CommonJS. Resolved via require('module-name').
De facto standard field used by bundlers (Webpack, Rollup) for specifying the ESM entry point.
Specifies the main entry point for TypeScript type declarations.
Used by module bundlers to define client-side entry points, overriding main for web environments.
Specifies executable files. Use key-value pairs to map command names to local file paths.
Specifies files to be installed for the man program to find. File paths to manual documentation files.
An inclusion array of files/folders to be packed when the module is published. Supports file paths, directory names, and glob patterns.
Indicates the standard folder structure of the package. Can contain bin, man, lib, doc, example, or test keys.
Fields that control how Node.js and bundlers resolve your package.
Defines whether .js files within the package should be treated as CommonJS or ES Modules.
The modern alternative to main. Defines entry points and enables conditional exports based on environment (import, require, node, default).
Defines internal subpath aliases for files in the current package. Keys must start with #.
Specifies the package manager and strict version required for working on the package. Used by Node's Corepack.
Defines lifecycle hooks, custom commands, and application-specific configuration.
Key-value pairs mapping script names to shell commands. Common scripts: dev, build, start, test, lint, format.
Application-specific configuration parameters exposed as environment variables (npm_package_config_...) during package scripts.
Package dependencies required at different stages.
Production packages required by your code at runtime. Map package names to semver ranges.
Packages required for local development and testing only. Not installed in production.
Packages that your module expects the host consumer application to provide.
Provides metadata for peerDependencies. Use to mark specific peer dependencies as optional so warnings are suppressed if not met.
Dependencies that npm will attempt to install but whose failures will not abort the installation.
Used to force resolution to a specific version deep within the dependency tree (e.g. to patch a transitive vulnerability).
Defines an array of dependencies that should be bundled internally when packaging the project.
Declares the specific versions of Node.js and package managers your package requires.
Key-value pairs mapping tool names (node, npm, yarn) to semver requirement ranges.
Specifies the operating systems your module will natively run on. Prefix with ! to negate.
Specifies the CPU architectures your module supports. Prefix with ! to negate.
Specifies which C standard library implementation a native module expects. Used to ship specific bindings via optionalDependencies. Prefix with ! to negate.
Configures monorepo workspace directories.
Array of glob patterns specifying directories that are workspace packages.
Get started
1{}