UNPKG

zod-package-json

Version:

Zod schema for the package.json file format

194 lines (193 loc) 11.9 kB
import * as z from "zod/mini"; export declare const PackageJson: z.ZodMiniObject<{ /** Package name. */ name: z.ZodMiniString<string>; /** Package semver version number. */ version: z.ZodMiniString<string>; /** Description for the package. */ description: z.ZodMiniOptional<z.ZodMiniString<string>>; /** List of keywords for searching the package. */ keywords: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>; /** URL of the package's homepage. */ homepage: z.ZodMiniOptional<z.ZodMiniString<string>>; /** Issue tracker for the package. */ bugs: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{ url: z.ZodMiniOptional<z.ZodMiniString<string>>; email: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>]>>; /** SPDX license expression or a custom license. */ license: z.ZodMiniOptional<z.ZodMiniString<string>>; /** Author of the package. */ author: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{ name: z.ZodMiniString<string>; email: z.ZodMiniOptional<z.ZodMiniString<string>>; url: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>]>>; /** Contributors to the package. */ contributors: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{ name: z.ZodMiniString<string>; email: z.ZodMiniOptional<z.ZodMiniString<string>>; url: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>]>>>; /** Maintainers of the package. */ maintainers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{ name: z.ZodMiniString<string>; email: z.ZodMiniOptional<z.ZodMiniString<string>>; url: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>]>>>; /** Funding options for the package. */ funding: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{ url: z.ZodMiniString<string>; type: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>, z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{ url: z.ZodMiniString<string>; type: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>]>>]>>; /** File patterns for files to be included when publishing the package. */ files: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>; /** Package exports. @see {@link https://nodejs.org/api/packages.html#exports} */ exports: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniNull, z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>]>>; /** Type for all the `.js` files in the package, usually `module`. */ type: z.ZodMiniOptional<z.ZodMiniLiteral<"module" | "commonjs">>; /** Main entry point for the package, usually CommonJS. */ main: z.ZodMiniOptional<z.ZodMiniString<string>>; /** 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.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniBoolean<boolean>]>>]>>; /** Executable files. */ bin: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>]>>; /** Documentation to be used with the `man` command. */ man: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; /** Directories in the package. */ directories: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>; /** Repository for the package's source code. */ repository: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{ /** Repository type (e.g., `git`). */ type: z.ZodMiniString<string>; /** Machine-readable repository URL (e.g., `https://github.com/user/repo.git`). */ url: z.ZodMiniString<string>; /** Directory in a monorepo where the package's source code is located. */ directory: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>]>>; /** Scripts used in the package. */ scripts: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>; /** Configuration values for scripts. */ config: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>; /** Production dependencies. */ dependencies: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>; /** Development dependencies. */ devDependencies: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>; /** Peer dependencies. */ peerDependencies: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>; /** Metadata about peer dependencies. */ peerDependenciesMeta: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{ optional: z.ZodMiniBoolean<boolean>; }, z.core.$strip>>>; /** Dependencies bundled with the package. */ bundleDependencies: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; /** Dependencies bundled with the package (equivalent to `bundleDependencies`). */ bundledDependencies: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; /** Optional dependencies. */ optionalDependencies: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>; /** Overrides for dependency resolution using npm. */ overrides: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>; /** Runtime systems supported by the package. */ engines: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>; /** Operating systems supported by the package. */ os: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>; /** CPU architectures supported by the package. */ cpu: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>; /** Version of libc required to build or run this package on Linux. */ libc: z.ZodMiniOptional<z.ZodMiniString<string>>; /** Tooling required to develop the package. */ devEngines: z.ZodMiniOptional<z.ZodMiniObject<{ cpu: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{ name: z.ZodMiniString<string>; version: z.ZodMiniOptional<z.ZodMiniString<string>>; onFail: z.ZodMiniOptional<z.ZodMiniLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>, z.ZodMiniArray<z.ZodMiniObject<{ name: z.ZodMiniString<string>; version: z.ZodMiniOptional<z.ZodMiniString<string>>; onFail: z.ZodMiniOptional<z.ZodMiniLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>>]>>; os: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{ name: z.ZodMiniString<string>; version: z.ZodMiniOptional<z.ZodMiniString<string>>; onFail: z.ZodMiniOptional<z.ZodMiniLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>, z.ZodMiniArray<z.ZodMiniObject<{ name: z.ZodMiniString<string>; version: z.ZodMiniOptional<z.ZodMiniString<string>>; onFail: z.ZodMiniOptional<z.ZodMiniLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>>]>>; libc: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{ name: z.ZodMiniString<string>; version: z.ZodMiniOptional<z.ZodMiniString<string>>; onFail: z.ZodMiniOptional<z.ZodMiniLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>, z.ZodMiniArray<z.ZodMiniObject<{ name: z.ZodMiniString<string>; version: z.ZodMiniOptional<z.ZodMiniString<string>>; onFail: z.ZodMiniOptional<z.ZodMiniLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>>]>>; runtime: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{ name: z.ZodMiniString<string>; version: z.ZodMiniOptional<z.ZodMiniString<string>>; onFail: z.ZodMiniOptional<z.ZodMiniLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>, z.ZodMiniArray<z.ZodMiniObject<{ name: z.ZodMiniString<string>; version: z.ZodMiniOptional<z.ZodMiniString<string>>; onFail: z.ZodMiniOptional<z.ZodMiniLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>>]>>; packageManager: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{ name: z.ZodMiniString<string>; version: z.ZodMiniOptional<z.ZodMiniString<string>>; onFail: z.ZodMiniOptional<z.ZodMiniLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>, z.ZodMiniArray<z.ZodMiniObject<{ name: z.ZodMiniString<string>; version: z.ZodMiniOptional<z.ZodMiniString<string>>; onFail: z.ZodMiniOptional<z.ZodMiniLiteral<"ignore" | "warn" | "error">>; }, z.core.$strip>>]>>; }, z.core.$strip>>; /** True if the package should not be published. */ private: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; /** Configuration values used at publishing time. */ publishConfig: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>; /** File patterns for locating local workspaces. */ workspaces: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>; /** Deprecation message. */ deprecated: z.ZodMiniOptional<z.ZodMiniString<string>>; /** Main ESM entry point for the package. */ module: z.ZodMiniOptional<z.ZodMiniString<string>>; /** Main TypeScript declaration file. */ types: z.ZodMiniOptional<z.ZodMiniString<string>>; /** Main TypeScript declaration file (equivalent to `types`). */ typings: z.ZodMiniOptional<z.ZodMiniString<string>>; /** TypeScript types resolutions. @see {@link https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#version-selection-with-typesversions} */ typesVersions: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>>>>; /** Corepack package manager. @see {@link https://nodejs.org/api/corepack.html} */ packageManager: z.ZodMiniOptional<z.ZodMiniString<string>>; /** 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.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; /** Imports map. @see {@link https://nodejs.org/api/packages.html#imports} */ imports: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>; }, 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>;