UNPKG

zod-package-json

Version:

Zod schema for the package.json file format

191 lines (190 loc) 9.68 kB
import * as z from "zod"; export declare const PackageJson: z.ZodObject<{ /** Package name. */ name: z.ZodString; /** Package semver version number. */ version: z.ZodString; /** Description for the package. */ description: z.ZodOptional<z.ZodString>; /** List of keywords for searching the package. */ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>; /** URL of the package's homepage. */ homepage: z.ZodOptional<z.ZodString>; /** Issue tracker for the package. */ bugs: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ url: z.ZodOptional<z.ZodString>; email: z.ZodOptional<z.ZodString>; }, z.core.$strip>]>>; /** SPDX license expression or a custom license. */ license: z.ZodOptional<z.ZodString>; /** Author of the package. */ author: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ name: z.ZodString; email: z.ZodOptional<z.ZodString>; url: z.ZodOptional<z.ZodString>; }, z.core.$strip>]>>; /** Contributors to the package. */ contributors: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ name: z.ZodString; email: z.ZodOptional<z.ZodString>; url: z.ZodOptional<z.ZodString>; }, z.core.$strip>]>>>; /** Maintainers of the package. */ maintainers: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ name: z.ZodString; email: z.ZodOptional<z.ZodString>; url: z.ZodOptional<z.ZodString>; }, z.core.$strip>]>>>; /** Funding options for the package. */ funding: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ url: z.ZodString; type: z.ZodOptional<z.ZodString>; }, z.core.$strip>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ url: z.ZodString; type: z.ZodOptional<z.ZodString>; }, z.core.$strip>]>>]>>; /** File patterns for files to be included when publishing the package. */ files: z.ZodOptional<z.ZodArray<z.ZodString>>; /** Package exports. @see {@link https://nodejs.org/api/packages.html#exports} */ exports: z.ZodOptional<z.ZodUnion<readonly [z.ZodNull, z.ZodString, z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>; /** Type for all the `.js` files in the package, usually `module`. */ type: z.ZodOptional<z.ZodLiteral<"module" | "commonjs">>; /** Main entry point for the package, usually CommonJS. */ main: z.ZodOptional<z.ZodString>; /** Main entry point for the package when used in a browser environment. @see {@link https://docs.npmjs.com/cli/v10/configuring-npm/package-json#browser} @see {@link https://gist.github.com/defunctzombie/4339901/49493836fb873ddaa4b8a7aa0ef2352119f69211} */ browser: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>>]>>; /** Executable files. */ bin: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>; /** Documentation to be used with the `man` command. */ man: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>; /** Directories in the package. */ directories: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Repository for the package's source code. */ repository: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ type: z.ZodString; url: z.ZodString; directory: z.ZodOptional<z.ZodString>; }, z.core.$strip>]>>; /** Scripts used in the package. */ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Configuration values for scripts. */ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; /** Production dependencies. */ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Development dependencies. */ devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Peer dependencies. */ peerDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Metadata about peer dependencies. */ peerDependenciesMeta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ optional: z.ZodBoolean; }, z.core.$strip>>>; /** Dependencies bundled with the package. */ bundleDependencies: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodString>]>>; /** Dependencies bundled with the package (equivalent to `bundleDependencies`). */ bundledDependencies: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodString>]>>; /** Optional dependencies. */ optionalDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Overrides for dependency resolution using npm. */ overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; /** Runtime systems supported by the package. */ engines: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; /** Operating systems supported by the package. */ os: z.ZodOptional<z.ZodArray<z.ZodString>>; /** CPU architectures supported by the package. */ cpu: z.ZodOptional<z.ZodArray<z.ZodString>>; /** Version of libc required to build or run this package on Linux. */ libc: z.ZodOptional<z.ZodString>; /** Tooling required to develop the package. */ devEngines: z.ZodOptional<z.ZodObject<{ cpu: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{ name: z.ZodString; version: z.ZodOptional<z.ZodString>; onFail: z.ZodOptional<z.ZodLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>, z.ZodArray<z.ZodObject<{ name: z.ZodString; version: z.ZodOptional<z.ZodString>; onFail: z.ZodOptional<z.ZodLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>>]>>; os: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{ name: z.ZodString; version: z.ZodOptional<z.ZodString>; onFail: z.ZodOptional<z.ZodLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>, z.ZodArray<z.ZodObject<{ name: z.ZodString; version: z.ZodOptional<z.ZodString>; onFail: z.ZodOptional<z.ZodLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>>]>>; libc: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{ name: z.ZodString; version: z.ZodOptional<z.ZodString>; onFail: z.ZodOptional<z.ZodLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>, z.ZodArray<z.ZodObject<{ name: z.ZodString; version: z.ZodOptional<z.ZodString>; onFail: z.ZodOptional<z.ZodLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>>]>>; runtime: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{ name: z.ZodString; version: z.ZodOptional<z.ZodString>; onFail: z.ZodOptional<z.ZodLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>, z.ZodArray<z.ZodObject<{ name: z.ZodString; version: z.ZodOptional<z.ZodString>; onFail: z.ZodOptional<z.ZodLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>>]>>; packageManager: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{ name: z.ZodString; version: z.ZodOptional<z.ZodString>; onFail: z.ZodOptional<z.ZodLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>, z.ZodArray<z.ZodObject<{ name: z.ZodString; version: z.ZodOptional<z.ZodString>; onFail: z.ZodOptional<z.ZodLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>>]>>; }, z.core.$strip>>; /** True if the package should not be published. */ private: z.ZodOptional<z.ZodBoolean>; /** Configuration values used at publishing time. */ publishConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; /** File patterns for locating local workspaces. */ workspaces: z.ZodOptional<z.ZodArray<z.ZodString>>; /** Deprecation message. */ deprecated: z.ZodOptional<z.ZodString>; /** Main ESM entry point for the package. */ module: z.ZodOptional<z.ZodString>; /** Main TypeScript declaration file. */ types: z.ZodOptional<z.ZodString>; /** Main TypeScript declaration file (equivalent to `types`). */ typings: z.ZodOptional<z.ZodString>; /** TypeScript types resolutions. @see {@link https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#version-selection-with-typesversions} */ typesVersions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>>; /** Corepack package manager. @see {@link https://nodejs.org/api/corepack.html} */ packageManager: z.ZodOptional<z.ZodString>; /** False if importing modules from the package does not cause side effects. True or a list of file patterns if importing modules from the package causes side effects. @see {@link https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free} */ sideEffects: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodString>]>>; /** Imports map. @see {@link https://nodejs.org/api/packages.html#imports} */ imports: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$loose>; /** `PackageJson` describes the manifest for a package found in the `package.json` file. @see {@link https://docs.npmjs.com/cli/v10/configuring-npm/package-json} */ export type PackageJson = z.infer<typeof PackageJson>;