Rush StackShopBlogEvents
Skip to main content

Home > @rushstack/node-core-library > IPackageJsonExports

IPackageJsonExports interface

This interface is part of the IPackageJson file format. It is used for the values of the "exports" field.

See Node.js documentation on Conditional Exports and Node.js documentation on Community Conditional Exports.

Signature:

export interface IPackageJsonExports 

Properties

Property

Modifiers

Type

Description

"node-addons"?

string | IPackageJsonExports

(Optional) This export is like IPackageJsonExports.node in that it matches for any NodeJS environment. This export is specifically for native C++ addons.

browser?

string | IPackageJsonExports

(Optional) Any web browser environment.

default?

string | IPackageJsonExports

(Optional) This export matches as a fallback when no other conditions match. Because exports are evaluated in the order that they are specified in the package.json file, this condition should always come last as no later exports will match if this one does.

development?

string | IPackageJsonExports

(Optional) This export matches in development-only environments. This is always mutually exclusive with IPackageJsonExports.production.

import?

string | IPackageJsonExports

(Optional) This export matches when loaded via ESM syntax (i.e. - import '...' or import('...')). This is always mutually exclusive with IPackageJsonExports.require.

node?

string | IPackageJsonExports

(Optional) This export matches for any NodeJS environment.

production?

string | IPackageJsonExports

(Optional) This export matches in production-only environments. This is always mutually exclusive with IPackageJsonExports.development.

require?

string | IPackageJsonExports

(Optional) This export matches when loaded via require(). This is always mutually exclusive with IPackageJsonExports.import.

types?

string | IPackageJsonExports

(Optional) This export matches when loaded by the typing system (i.e. - the TypeScript compiler).