A TypeScript definition for package.json file
npm install -S package-json-typeyarn add package-json-typeimport {
IDependencyMap,
IEngines,
IPackageJson,
SPDXLicenseIDApproved,
} from "package-json-type";
const dependency: IDependencyMap = {
bar: "^1.0.0",
baz: "^2.1.0",
qux: "file:../src/qux",
};
const engines: IEngines = {
node: ">=6.0.1 <11.0.0",
yarn: "^1.15.0",
zlib: "^0.14.0",
};
const license: SPDXLicenseIDApproved = "MIT";
const pkg: IPackageJson = {
name: "foo",
version: "1.2.3",
dependency,
description: "This is awesome foo",
engines,
license,
};interface IPackageJson {
author?: string | IAuthor;
bin?: string | IBinMap;
browser?: string | IBrowserMap;
bugs?: string | IBugs;
bundledDependencies?: string[];
bundleDependencies?: string[];
config?: IConfig;
contributors?: (string | IAuthor)[];
cpu?: CPU[];
dependencies?: IDependencyMap;
deprecated?: string;
description?: string;
devDependencies?: IDependencyMap;
devEngines?: IDevEngines;
directories?: IDirectories;
engines?: IEngines;
exports?: string | IConditionalExport | IExportsMap | string[] | null;
files?: string[];
flat?: boolean;
funding?: string | IFunding | IFunding[];
homepage?: string;
imports?: IImportsMap;
jsdelivr?: string;
keywords?: string[];
libc?: Libc[];
license?: SPDXLicenseID | SPDXLicenseIDApproved;
main?: string;
maintainers?: (string | IAuthor)[];
man?: string | string[];
module?: string;
name?: string;
optionalDependencies?: IDependencyMap;
os?: OS[];
overrides?: IOverrides;
packageManager?: string;
peerDependencies?: IDependencyMap;
peerDependenciesMeta?: IPeerDependenciesMeta;
preferGlobal?: boolean;
private?: boolean;
publishConfig?: IPublishConfig;
repository?: string | IRepository;
resolutions?: { [dependencyName: string]: string };
scripts?: IScriptsMap | { [scriptName: string]: string };
sideEffects?: boolean | string[];
type?: "module" | "commonjs";
types?: string;
typesVersions?: ITypesVersions;
typings?: string;
unpkg?: string;
version?: string;
workspaces?: string[] | IWorkspaces;
[field: string]: any;
}- IAuthor
- IBinMap
- IBrowserMap
- IBugs
- IConditionalExport
- IConfig
- IDependencyMap
- IDevEnginePackageManager
- IDevEngineRuntime
- IDevEngines
- IDirectories
- IEngines
- IExportsMap
- IFunding
- IImportsMap
- IOverrides
- IPackageJson
- IPeerDependenciesMeta
- IPeerDependencyMeta
- IPublishConfig
- IRepository
- IScriptsMap
- ITypesVersions
- IWorkspaces
- CPU
- Libc
- OS
- SPDXLicenseID
- SPDXLicenseIDApproved
If you have any problems, please let us know on github issues.
Contributions are always welcome :)
- If you'd like to contribute, please fork the repository
- run
npm ioryarninside the project - run
npm run devto run in dev mode - Make changes as you'd like
- To test run
npm testoryarn test - For clean code run
npm run lintoryarn lint - And send us your pull requests!
This project is licensed under MIT license.