UNPKG

3.83 kBTypeScriptView Raw
1export interface Dependencies {
2 [name: string]: string;
3}
4export declare type PackageBin = string | {
5 [commandName: string]: string;
6};
7export declare type PackageScripts = {
8 [name: string]: string;
9} & {
10 prepublish?: string;
11 prepare?: string;
12 prepublishOnly?: string;
13 prepack?: string;
14 postpack?: string;
15 publish?: string;
16 postpublish?: string;
17 preinstall?: string;
18 install?: string;
19 postinstall?: string;
20 preuninstall?: string;
21 uninstall?: string;
22 postuninstall?: string;
23 preversion?: string;
24 version?: string;
25 postversion?: string;
26 pretest?: string;
27 test?: string;
28 posttest?: string;
29 prestop?: string;
30 stop?: string;
31 poststop?: string;
32 prestart?: string;
33 start?: string;
34 poststart?: string;
35 prerestart?: string;
36 restart?: string;
37 postrestart?: string;
38 preshrinkwrap?: string;
39 shrinkwrap?: string;
40 postshrinkwrap?: string;
41};
42export interface PeerDependenciesMeta {
43 [dependencyName: string]: {
44 optional?: boolean;
45 };
46}
47export interface DependenciesMeta {
48 [dependencyName: string]: {
49 injected?: boolean;
50 node?: string;
51 patch?: string;
52 };
53}
54export interface PublishConfig extends Record<string, unknown> {
55 directory?: string;
56 linkDirectory?: boolean;
57 executableFiles?: string[];
58}
59declare type Version = string;
60declare type Pattern = string;
61export interface TypesVersions {
62 [version: Version]: {
63 [pattern: Pattern]: string[];
64 };
65}
66export interface BaseManifest {
67 name?: string;
68 version?: string;
69 bin?: PackageBin;
70 description?: string;
71 directories?: {
72 bin?: string;
73 };
74 files?: string[];
75 dependencies?: Dependencies;
76 devDependencies?: Dependencies;
77 optionalDependencies?: Dependencies;
78 peerDependencies?: Dependencies;
79 peerDependenciesMeta?: PeerDependenciesMeta;
80 dependenciesMeta?: DependenciesMeta;
81 bundleDependencies?: string[];
82 bundledDependencies?: string[];
83 homepage?: string;
84 repository?: string | {
85 url: string;
86 };
87 scripts?: PackageScripts;
88 config?: object;
89 engines?: {
90 node?: string;
91 npm?: string;
92 pnpm?: string;
93 };
94 cpu?: string[];
95 os?: string[];
96 libc?: string[];
97 main?: string;
98 module?: string;
99 typings?: string;
100 types?: string;
101 publishConfig?: PublishConfig;
102 typesVersions?: TypesVersions;
103 readme?: string;
104 keywords?: string[];
105 author?: string;
106 license?: string;
107}
108export declare type DependencyManifest = BaseManifest & Required<Pick<BaseManifest, 'name' | 'version'>>;
109export declare type PackageExtension = Pick<BaseManifest, 'dependencies' | 'optionalDependencies' | 'peerDependencies' | 'peerDependenciesMeta'>;
110export interface PeerDependencyRules {
111 ignoreMissing?: string[];
112 allowAny?: string[];
113 allowedVersions?: Record<string, string>;
114}
115export declare type AllowedDeprecatedVersions = Record<string, string>;
116export declare type ProjectManifest = BaseManifest & {
117 pnpm?: {
118 neverBuiltDependencies?: string[];
119 onlyBuiltDependencies?: string[];
120 overrides?: Record<string, string>;
121 packageExtensions?: Record<string, PackageExtension>;
122 peerDependencyRules?: PeerDependencyRules;
123 allowedDeprecatedVersions?: AllowedDeprecatedVersions;
124 allowNonAppliedPatches?: boolean;
125 patchedDependencies?: Record<string, string>;
126 updateConfig?: {
127 ignoreDependencies?: string[];
128 };
129 auditConfig?: {
130 ignoreCves?: string[];
131 };
132 };
133 private?: boolean;
134 resolutions?: Record<string, string>;
135};
136export declare type PackageManifest = DependencyManifest & {
137 deprecated?: string;
138};
139export {};