/
Config.ts
170 lines (158 loc) · 4.44 KB
/
Config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
import {
Project,
ProjectManifest,
ProjectsGraph,
Registries,
} from '@pnpm/types'
import type { Hooks } from '@pnpm/pnpmfile'
export type UniversalOptions = Pick<Config, 'color' | 'dir' | 'rawConfig' | 'rawLocalConfig'>
export interface Config {
allProjects?: Project[]
selectedProjectsGraph?: ProjectsGraph
allowNew: boolean
autoInstallPeers?: boolean
bail: boolean
color: 'always' | 'auto' | 'never'
cliOptions: Record<string, any>, // eslint-disable-line
useBetaCli: boolean
extraBinPaths: string[]
filter: string[]
filterProd: string[]
rawLocalConfig: Record<string, any>, // eslint-disable-line
rawConfig: Record<string, any>, // eslint-disable-line
dryRun?: boolean // This option might be not supported ever
global?: boolean
dir: string
bin: string
ignoreScripts?: boolean
ignoreCompatibilityDb?: boolean
includeWorkspaceRoot?: boolean
save?: boolean
saveProd?: boolean
saveDev?: boolean
saveOptional?: boolean
savePeer?: boolean
saveWorkspaceProtocol?: boolean | 'rolling'
lockfileIncludeTarballUrl?: boolean
scriptShell?: string
stream?: boolean
pnpmExecPath: string
pnpmHomeDir: string
production?: boolean
fetchRetries?: number
fetchRetryFactor?: number
fetchRetryMintimeout?: number
fetchRetryMaxtimeout?: number
fetchTimeout?: number
saveExact?: boolean
savePrefix?: string
shellEmulator?: boolean
scriptsPrependNodePath?: boolean | 'warn-only'
force?: boolean
depth?: number
engineStrict?: boolean
nodeVersion?: string
offline?: boolean
registry?: string
optional?: boolean
unsafePerm?: boolean
loglevel?: 'silent' | 'error' | 'warn' | 'info' | 'debug'
frozenLockfile?: boolean
preferFrozenLockfile?: boolean
only?: 'prod' | 'production' | 'dev' | 'development'
packageManager: {
name: string
version: string
}
preferOffline?: boolean
sideEffectsCache?: boolean // for backward compatibility
sideEffectsCacheReadonly?: boolean // for backward compatibility
sideEffectsCacheRead?: boolean
sideEffectsCacheWrite?: boolean
shamefullyHoist?: boolean
dev?: boolean
ignoreCurrentPrefs?: boolean
recursive?: boolean
enablePrePostScripts?: boolean
useNodeVersion?: string
useStderr?: boolean
nodeLinker?: 'hoisted' | 'isolated' | 'pnp'
preferSymlinkedExecutables?: boolean
// proxy
httpProxy?: string
httpsProxy?: string
localAddress?: string
noProxy?: string | boolean
// ssl
cert?: string | string[]
key?: string
ca?: string | string[]
strictSsl?: boolean
userAgent?: string
tag?: string
updateNotifier?: boolean
alwaysAuth?: boolean
// pnpm specific configs
cacheDir: string
configDir: string
stateDir: string
storeDir?: string
virtualStoreDir?: string
verifyStoreIntegrity?: boolean
maxSockets?: number
networkConcurrency?: number
fetchingConcurrency?: number
lockfileOnly?: boolean // like npm's --package-lock-only
childConcurrency?: number
repeatInstallDepth?: number
ignorePnpmfile?: boolean
pnpmfile: string
hooks?: Hooks
packageImportMethod?: 'auto' | 'hardlink' | 'copy' | 'clone' | 'clone-or-copy'
hoistPattern?: string[]
publicHoistPattern?: string[]
useStoreServer?: boolean
useRunningStoreServer?: boolean
workspaceConcurrency: number
workspaceDir?: string
reporter?: string
aggregateOutput: boolean
linkWorkspacePackages: boolean | 'deep'
preferWorkspacePackages: boolean
reverse: boolean
sort: boolean
strictPeerDependencies: boolean
lockfileDir?: string
modulesDir?: string
sharedWorkspaceLockfile?: boolean
useLockfile: boolean
useGitBranchLockfile: boolean
mergeGitBranchLockfiles?: boolean
mergeGitBranchLockfilesBranchPattern?: string[]
globalPnpmfile?: string
npmPath?: string
gitChecks?: boolean
publishBranch?: string
recursiveInstall?: boolean
symlink: boolean
enablePnp?: boolean
enableModulesDir: boolean
modulesCacheMaxAge: number
embedReadme?: boolean
gitShallowHosts?: string[]
legacyDirFiltering?: boolean
onlyBuiltDependencies?: string[]
registries: Registries
ignoreWorkspaceRootCheck: boolean
workspaceRoot: boolean
testPattern?: string[]
changedFilesIgnorePattern?: string[]
rootProjectManifest?: ProjectManifest
userConfig: Record<string, string>
// feature flags for experimental testing
useInlineSpecifiersLockfileFormat?: boolean // For https://github.com/pnpm/pnpm/issues/4725
}
export interface ConfigWithDeprecatedSettings extends Config {
globalPrefix?: string
proxy?: string
}