···115115 * In some cases, you want to express the compatibility of your package with a host tool or library, while not necessarily doing a `require` of this host. This is usually referred to as a plugin. Notably, your module may be exposing a specific interface, expected and specified by the host documentation.
116116 */
117117 peerDependencies?: Record<string, string>
118118-118118+ /**
119119+ * TypeScript typings, typically ending by .d.ts
120120+ */
119121 types?: string
122122+ typings?: string
123123+ /**
124124+ * Non-Standard Node.js alternate entry-point to main.
125125+ * An initial implementation for supporting CJS packages (from main), and use module for ESM modules.
126126+ */
120127 module?: string
128128+ /**
129129+ * Make main entry-point be loaded as an ESM module, support "export" syntax instead of "require"
130130+ *
131131+ * Docs:
132132+ * - https://nodejs.org/docs/latest-v14.x/api/esm.html#esm_package_json_type_field
133133+ *
134134+ * @default 'commonjs'
135135+ * @since Node.js v14
136136+ */
137137+ type?: 'module' | 'commonjs'
138138+ /**
139139+ * Alternate and extensible alternative to "main" entry point.
140140+ *
141141+ * When using `{type: "module"}`, any ESM module file MUST end with `.mjs` extension.
142142+ *
143143+ * Docs:
144144+ * - https://nodejs.org/docs/latest-v14.x/api/esm.html#esm_exports_sugar
145145+ *
146146+ * @default 'commonjs'
147147+ * @since Node.js v14
148148+ */
149149+ exports?:
150150+ | string
151151+ | Record<
152152+ 'import' | 'require' | '.' | 'node' | 'browser' | string,
153153+ string | Record<'import' | 'require' | string, string>
154154+ >
121155 workspaces?: string[]
122156}