@aligent/cdk-prerender-proxy 0.2.5-experimental5 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/lib/error-response-construct.js +1 -1
  2. package/lib/handlers/cache-control.ts +20 -3
  3. package/lib/handlers/error-response.ts +50 -3
  4. package/lib/handlers/node_modules/.package-lock.json +55 -0
  5. package/lib/handlers/node_modules/@types/aws-lambda/LICENSE +21 -0
  6. package/lib/handlers/node_modules/@types/aws-lambda/README.md +16 -0
  7. package/lib/handlers/node_modules/@types/aws-lambda/common/api-gateway.d.ts +79 -0
  8. package/lib/handlers/node_modules/@types/aws-lambda/common/cloudfront.d.ts +79 -0
  9. package/lib/handlers/node_modules/@types/aws-lambda/handler.d.ts +171 -0
  10. package/lib/handlers/node_modules/@types/aws-lambda/index.d.ts +85 -0
  11. package/lib/handlers/node_modules/@types/aws-lambda/package.json +210 -0
  12. package/lib/handlers/node_modules/@types/aws-lambda/trigger/alb.d.ts +48 -0
  13. package/lib/handlers/node_modules/@types/aws-lambda/trigger/api-gateway-authorizer.d.ts +174 -0
  14. package/lib/handlers/node_modules/@types/aws-lambda/trigger/api-gateway-proxy.d.ts +187 -0
  15. package/lib/handlers/node_modules/@types/aws-lambda/trigger/appsync-resolver.d.ts +51 -0
  16. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cloudformation-custom-resource.d.ts +68 -0
  17. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cloudfront-request.d.ts +20 -0
  18. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cloudfront-response.d.ts +21 -0
  19. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cloudwatch-events.d.ts +8 -0
  20. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cloudwatch-logs.d.ts +37 -0
  21. package/lib/handlers/node_modules/@types/aws-lambda/trigger/codebuild-cloudwatch-state.d.ts +104 -0
  22. package/lib/handlers/node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-action.d.ts +31 -0
  23. package/lib/handlers/node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-pipeline.d.ts +32 -0
  24. package/lib/handlers/node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-stage.d.ts +23 -0
  25. package/lib/handlers/node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch.d.ts +11 -0
  26. package/lib/handlers/node_modules/@types/aws-lambda/trigger/codepipeline.d.ts +55 -0
  27. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/_common.d.ts +41 -0
  28. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/create-auth-challenge.d.ts +22 -0
  29. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/custom-email-sender.d.ts +86 -0
  30. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/custom-message.d.ts +44 -0
  31. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/define-auth-challenge.d.ts +21 -0
  32. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/index.d.ts +119 -0
  33. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/post-authentication.d.ts +15 -0
  34. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/post-confirmation.d.ts +22 -0
  35. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-authentication.d.ts +15 -0
  36. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-signup.d.ts +31 -0
  37. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-token-generation.d.ts +45 -0
  38. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/user-migration.d.ts +39 -0
  39. package/lib/handlers/node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/verify-auth-challenge-response.d.ts +20 -0
  40. package/lib/handlers/node_modules/@types/aws-lambda/trigger/connect-contact-flow.d.ts +65 -0
  41. package/lib/handlers/node_modules/@types/aws-lambda/trigger/dynamodb-stream.d.ts +45 -0
  42. package/lib/handlers/node_modules/@types/aws-lambda/trigger/eventbridge.d.ts +18 -0
  43. package/lib/handlers/node_modules/@types/aws-lambda/trigger/iot.d.ts +28 -0
  44. package/lib/handlers/node_modules/@types/aws-lambda/trigger/kinesis-firehose-transformation.d.ts +45 -0
  45. package/lib/handlers/node_modules/@types/aws-lambda/trigger/kinesis-stream.d.ts +28 -0
  46. package/lib/handlers/node_modules/@types/aws-lambda/trigger/lex.d.ts +116 -0
  47. package/lib/handlers/node_modules/@types/aws-lambda/trigger/msk.d.ts +21 -0
  48. package/lib/handlers/node_modules/@types/aws-lambda/trigger/s3-batch.d.ts +41 -0
  49. package/lib/handlers/node_modules/@types/aws-lambda/trigger/s3.d.ts +60 -0
  50. package/lib/handlers/node_modules/@types/aws-lambda/trigger/ses.d.ts +103 -0
  51. package/lib/handlers/node_modules/@types/aws-lambda/trigger/sns.d.ts +38 -0
  52. package/lib/handlers/node_modules/@types/aws-lambda/trigger/sqs.d.ts +46 -0
  53. package/lib/handlers/node_modules/@types/node/LICENSE +21 -0
  54. package/lib/handlers/node_modules/@types/node/README.md +16 -0
  55. package/lib/handlers/node_modules/@types/node/assert/strict.d.ts +4 -0
  56. package/lib/handlers/node_modules/@types/node/assert.d.ts +124 -0
  57. package/lib/handlers/node_modules/@types/node/async_hooks.d.ts +226 -0
  58. package/lib/handlers/node_modules/@types/node/base.d.ts +19 -0
  59. package/lib/handlers/node_modules/@types/node/buffer.d.ts +84 -0
  60. package/lib/handlers/node_modules/@types/node/child_process.d.ts +526 -0
  61. package/lib/handlers/node_modules/@types/node/cluster.d.ts +262 -0
  62. package/lib/handlers/node_modules/@types/node/console.d.ts +133 -0
  63. package/lib/handlers/node_modules/@types/node/constants.d.ts +13 -0
  64. package/lib/handlers/node_modules/@types/node/crypto.d.ts +1580 -0
  65. package/lib/handlers/node_modules/@types/node/dgram.d.ts +141 -0
  66. package/lib/handlers/node_modules/@types/node/diagnostic_channel.d.ts +34 -0
  67. package/lib/handlers/node_modules/@types/node/dns/promises.d.ts +97 -0
  68. package/lib/handlers/node_modules/@types/node/dns.d.ts +322 -0
  69. package/lib/handlers/node_modules/@types/node/domain.d.ts +24 -0
  70. package/lib/handlers/node_modules/@types/node/events.d.ts +93 -0
  71. package/lib/handlers/node_modules/@types/node/fs/promises.d.ts +592 -0
  72. package/lib/handlers/node_modules/@types/node/fs.d.ts +2239 -0
  73. package/lib/handlers/node_modules/@types/node/globals.d.ts +655 -0
  74. package/lib/handlers/node_modules/@types/node/globals.global.d.ts +1 -0
  75. package/lib/handlers/node_modules/@types/node/http.d.ts +434 -0
  76. package/lib/handlers/node_modules/@types/node/http2.d.ts +976 -0
  77. package/lib/handlers/node_modules/@types/node/https.d.ts +36 -0
  78. package/lib/handlers/node_modules/@types/node/index.d.ts +58 -0
  79. package/lib/handlers/node_modules/@types/node/inspector.d.ts +3041 -0
  80. package/lib/handlers/node_modules/@types/node/module.d.ts +52 -0
  81. package/lib/handlers/node_modules/@types/node/net.d.ts +326 -0
  82. package/lib/handlers/node_modules/@types/node/os.d.ts +239 -0
  83. package/lib/handlers/node_modules/@types/node/package.json +232 -0
  84. package/lib/handlers/node_modules/@types/node/path.d.ts +163 -0
  85. package/lib/handlers/node_modules/@types/node/perf_hooks.d.ts +310 -0
  86. package/lib/handlers/node_modules/@types/node/process.d.ts +461 -0
  87. package/lib/handlers/node_modules/@types/node/punycode.d.ts +75 -0
  88. package/lib/handlers/node_modules/@types/node/querystring.d.ts +28 -0
  89. package/lib/handlers/node_modules/@types/node/readline.d.ts +192 -0
  90. package/lib/handlers/node_modules/@types/node/repl.d.ts +395 -0
  91. package/lib/handlers/node_modules/@types/node/stream/promises.d.ts +67 -0
  92. package/lib/handlers/node_modules/@types/node/stream.d.ts +471 -0
  93. package/lib/handlers/node_modules/@types/node/string_decoder.d.ts +7 -0
  94. package/lib/handlers/node_modules/@types/node/timers/promises.d.ts +21 -0
  95. package/lib/handlers/node_modules/@types/node/timers.d.ts +27 -0
  96. package/lib/handlers/node_modules/@types/node/tls.d.ts +793 -0
  97. package/lib/handlers/node_modules/@types/node/trace_events.d.ts +61 -0
  98. package/lib/handlers/node_modules/@types/node/ts3.6/assert.d.ts +98 -0
  99. package/lib/handlers/node_modules/@types/node/ts3.6/base.d.ts +68 -0
  100. package/lib/handlers/node_modules/@types/node/ts3.6/index.d.ts +7 -0
  101. package/lib/handlers/node_modules/@types/node/tty.d.ts +66 -0
  102. package/lib/handlers/node_modules/@types/node/url.d.ts +116 -0
  103. package/lib/handlers/node_modules/@types/node/util/types.d.ts +53 -0
  104. package/lib/handlers/node_modules/@types/node/util.d.ts +156 -0
  105. package/lib/handlers/node_modules/@types/node/v8.d.ts +198 -0
  106. package/lib/handlers/node_modules/@types/node/vm.d.ts +152 -0
  107. package/lib/handlers/node_modules/@types/node/wasi.d.ts +86 -0
  108. package/lib/handlers/node_modules/@types/node/worker_threads.d.ts +282 -0
  109. package/lib/handlers/node_modules/@types/node/zlib.d.ts +361 -0
  110. package/lib/handlers/node_modules/axios/CHANGELOG.md +685 -0
  111. package/lib/handlers/node_modules/axios/LICENSE +19 -0
  112. package/lib/handlers/node_modules/axios/README.md +800 -0
  113. package/lib/handlers/node_modules/axios/UPGRADE_GUIDE.md +162 -0
  114. package/lib/handlers/node_modules/axios/dist/axios.js +1756 -0
  115. package/lib/handlers/node_modules/axios/dist/axios.map +1 -0
  116. package/lib/handlers/node_modules/axios/dist/axios.min.js +3 -0
  117. package/lib/handlers/node_modules/axios/dist/axios.min.map +1 -0
  118. package/lib/handlers/node_modules/axios/index.d.ts +161 -0
  119. package/lib/handlers/node_modules/axios/index.js +1 -0
  120. package/lib/handlers/node_modules/axios/lib/adapters/README.md +37 -0
  121. package/lib/handlers/node_modules/axios/lib/adapters/http.js +303 -0
  122. package/lib/handlers/node_modules/axios/lib/adapters/xhr.js +179 -0
  123. package/lib/handlers/node_modules/axios/lib/axios.js +56 -0
  124. package/lib/handlers/node_modules/axios/lib/cancel/Cancel.js +19 -0
  125. package/lib/handlers/node_modules/axios/lib/cancel/CancelToken.js +57 -0
  126. package/lib/handlers/node_modules/axios/lib/cancel/isCancel.js +5 -0
  127. package/lib/handlers/node_modules/axios/lib/core/Axios.js +95 -0
  128. package/lib/handlers/node_modules/axios/lib/core/InterceptorManager.js +52 -0
  129. package/lib/handlers/node_modules/axios/lib/core/README.md +7 -0
  130. package/lib/handlers/node_modules/axios/lib/core/buildFullPath.js +20 -0
  131. package/lib/handlers/node_modules/axios/lib/core/createError.js +18 -0
  132. package/lib/handlers/node_modules/axios/lib/core/dispatchRequest.js +79 -0
  133. package/lib/handlers/node_modules/axios/lib/core/enhanceError.js +42 -0
  134. package/lib/handlers/node_modules/axios/lib/core/mergeConfig.js +87 -0
  135. package/lib/handlers/node_modules/axios/lib/core/settle.js +25 -0
  136. package/lib/handlers/node_modules/axios/lib/core/transformData.js +20 -0
  137. package/lib/handlers/node_modules/axios/lib/defaults.js +98 -0
  138. package/lib/handlers/node_modules/axios/lib/helpers/README.md +7 -0
  139. package/lib/handlers/node_modules/axios/lib/helpers/bind.js +11 -0
  140. package/lib/handlers/node_modules/axios/lib/helpers/buildURL.js +70 -0
  141. package/lib/handlers/node_modules/axios/lib/helpers/combineURLs.js +14 -0
  142. package/lib/handlers/node_modules/axios/lib/helpers/cookies.js +53 -0
  143. package/lib/handlers/node_modules/axios/lib/helpers/deprecatedMethod.js +24 -0
  144. package/lib/handlers/node_modules/axios/lib/helpers/isAbsoluteURL.js +14 -0
  145. package/lib/handlers/node_modules/axios/lib/helpers/isAxiosError.js +11 -0
  146. package/lib/handlers/node_modules/axios/lib/helpers/isURLSameOrigin.js +68 -0
  147. package/lib/handlers/node_modules/axios/lib/helpers/normalizeHeaderName.js +12 -0
  148. package/lib/handlers/node_modules/axios/lib/helpers/parseHeaders.js +53 -0
  149. package/lib/handlers/node_modules/axios/lib/helpers/spread.js +27 -0
  150. package/lib/handlers/node_modules/axios/lib/utils.js +351 -0
  151. package/lib/handlers/node_modules/axios/package.json +86 -0
  152. package/lib/handlers/node_modules/buffer-from/LICENSE +21 -0
  153. package/lib/handlers/node_modules/buffer-from/index.js +69 -0
  154. package/lib/handlers/node_modules/buffer-from/package.json +19 -0
  155. package/lib/handlers/node_modules/buffer-from/readme.md +69 -0
  156. package/lib/handlers/node_modules/follow-redirects/LICENSE +18 -0
  157. package/lib/handlers/node_modules/follow-redirects/README.md +148 -0
  158. package/lib/handlers/node_modules/follow-redirects/debug.js +14 -0
  159. package/lib/handlers/node_modules/follow-redirects/http.js +1 -0
  160. package/lib/handlers/node_modules/follow-redirects/https.js +1 -0
  161. package/lib/handlers/node_modules/follow-redirects/index.js +531 -0
  162. package/lib/handlers/node_modules/follow-redirects/package.json +59 -0
  163. package/lib/handlers/node_modules/source-map/CHANGELOG.md +301 -0
  164. package/lib/handlers/node_modules/source-map/LICENSE +28 -0
  165. package/lib/handlers/node_modules/source-map/README.md +742 -0
  166. package/lib/handlers/node_modules/source-map/dist/source-map.debug.js +3234 -0
  167. package/lib/handlers/node_modules/source-map/dist/source-map.js +3233 -0
  168. package/lib/handlers/node_modules/source-map/dist/source-map.min.js +2 -0
  169. package/lib/handlers/node_modules/source-map/dist/source-map.min.js.map +1 -0
  170. package/lib/handlers/node_modules/source-map/lib/array-set.js +121 -0
  171. package/lib/handlers/node_modules/source-map/lib/base64-vlq.js +140 -0
  172. package/lib/handlers/node_modules/source-map/lib/base64.js +67 -0
  173. package/lib/handlers/node_modules/source-map/lib/binary-search.js +111 -0
  174. package/lib/handlers/node_modules/source-map/lib/mapping-list.js +79 -0
  175. package/lib/handlers/node_modules/source-map/lib/quick-sort.js +114 -0
  176. package/lib/handlers/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  177. package/lib/handlers/node_modules/source-map/lib/source-map-generator.js +425 -0
  178. package/lib/handlers/node_modules/source-map/lib/source-node.js +413 -0
  179. package/lib/handlers/node_modules/source-map/lib/util.js +488 -0
  180. package/lib/handlers/node_modules/source-map/package.json +73 -0
  181. package/lib/handlers/node_modules/source-map/source-map.d.ts +98 -0
  182. package/lib/handlers/node_modules/source-map/source-map.js +8 -0
  183. package/lib/handlers/node_modules/source-map-support/LICENSE.md +21 -0
  184. package/lib/handlers/node_modules/source-map-support/README.md +284 -0
  185. package/lib/handlers/node_modules/source-map-support/browser-source-map-support.js +114 -0
  186. package/lib/handlers/node_modules/source-map-support/package.json +31 -0
  187. package/lib/handlers/node_modules/source-map-support/register.js +1 -0
  188. package/lib/handlers/node_modules/source-map-support/source-map-support.js +604 -0
  189. package/lib/handlers/package-lock.json +40 -1257
  190. package/lib/handlers/package.json +3 -7
  191. package/lib/handlers/prerender-check.ts +33 -3
  192. package/lib/handlers/prerender.ts +42 -3
  193. package/lib/handlers/tsconfig.json +4 -1
  194. package/lib/prerender-cf-cache-control-construct.js +1 -1
  195. package/lib/prerender-check-construct.js +1 -1
  196. package/lib/prerender-construct.js +1 -1
  197. package/package.json +4 -6
@@ -0,0 +1,526 @@
1
+ declare module 'child_process' {
2
+ import { BaseEncodingOptions } from 'fs';
3
+ import { EventEmitter, Abortable } from 'events';
4
+ import * as net from 'net';
5
+ import { Writable, Readable, Stream, Pipe } from 'stream';
6
+
7
+ type Serializable = string | object | number | boolean | bigint;
8
+ type SendHandle = net.Socket | net.Server;
9
+
10
+ interface ChildProcess extends EventEmitter {
11
+ stdin: Writable | null;
12
+ stdout: Readable | null;
13
+ stderr: Readable | null;
14
+ readonly channel?: Pipe | null;
15
+ readonly stdio: [
16
+ Writable | null, // stdin
17
+ Readable | null, // stdout
18
+ Readable | null, // stderr
19
+ Readable | Writable | null | undefined, // extra
20
+ Readable | Writable | null | undefined // extra
21
+ ];
22
+ readonly killed: boolean;
23
+ readonly pid?: number;
24
+ readonly connected: boolean;
25
+ readonly exitCode: number | null;
26
+ readonly signalCode: NodeJS.Signals | null;
27
+ readonly spawnargs: string[];
28
+ readonly spawnfile: string;
29
+ kill(signal?: NodeJS.Signals | number): boolean;
30
+ send(message: Serializable, callback?: (error: Error | null) => void): boolean;
31
+ send(message: Serializable, sendHandle?: SendHandle, callback?: (error: Error | null) => void): boolean;
32
+ send(message: Serializable, sendHandle?: SendHandle, options?: MessageOptions, callback?: (error: Error | null) => void): boolean;
33
+ disconnect(): void;
34
+ unref(): void;
35
+ ref(): void;
36
+
37
+ /**
38
+ * events.EventEmitter
39
+ * 1. close
40
+ * 2. disconnect
41
+ * 3. error
42
+ * 4. exit
43
+ * 5. message
44
+ * 6. spawn
45
+ */
46
+
47
+ addListener(event: string, listener: (...args: any[]) => void): this;
48
+ addListener(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
49
+ addListener(event: "disconnect", listener: () => void): this;
50
+ addListener(event: "error", listener: (err: Error) => void): this;
51
+ addListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
52
+ addListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this;
53
+ addListener(event: "spawn", listener: () => void): this;
54
+
55
+ emit(event: string | symbol, ...args: any[]): boolean;
56
+ emit(event: "close", code: number | null, signal: NodeJS.Signals | null): boolean;
57
+ emit(event: "disconnect"): boolean;
58
+ emit(event: "error", err: Error): boolean;
59
+ emit(event: "exit", code: number | null, signal: NodeJS.Signals | null): boolean;
60
+ emit(event: "message", message: Serializable, sendHandle: SendHandle): boolean;
61
+ emit(event: "spawn", listener: () => void): boolean;
62
+
63
+ on(event: string, listener: (...args: any[]) => void): this;
64
+ on(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
65
+ on(event: "disconnect", listener: () => void): this;
66
+ on(event: "error", listener: (err: Error) => void): this;
67
+ on(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
68
+ on(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this;
69
+ on(event: "spawn", listener: () => void): this;
70
+
71
+ once(event: string, listener: (...args: any[]) => void): this;
72
+ once(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
73
+ once(event: "disconnect", listener: () => void): this;
74
+ once(event: "error", listener: (err: Error) => void): this;
75
+ once(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
76
+ once(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this;
77
+ once(event: "spawn", listener: () => void): this;
78
+
79
+ prependListener(event: string, listener: (...args: any[]) => void): this;
80
+ prependListener(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
81
+ prependListener(event: "disconnect", listener: () => void): this;
82
+ prependListener(event: "error", listener: (err: Error) => void): this;
83
+ prependListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
84
+ prependListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this;
85
+ prependListener(event: "spawn", listener: () => void): this;
86
+
87
+ prependOnceListener(event: string, listener: (...args: any[]) => void): this;
88
+ prependOnceListener(event: "close", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
89
+ prependOnceListener(event: "disconnect", listener: () => void): this;
90
+ prependOnceListener(event: "error", listener: (err: Error) => void): this;
91
+ prependOnceListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
92
+ prependOnceListener(event: "message", listener: (message: Serializable, sendHandle: SendHandle) => void): this;
93
+ prependOnceListener(event: "spawn", listener: () => void): this;
94
+ }
95
+
96
+ // return this object when stdio option is undefined or not specified
97
+ interface ChildProcessWithoutNullStreams extends ChildProcess {
98
+ stdin: Writable;
99
+ stdout: Readable;
100
+ stderr: Readable;
101
+ readonly stdio: [
102
+ Writable, // stdin
103
+ Readable, // stdout
104
+ Readable, // stderr
105
+ Readable | Writable | null | undefined, // extra, no modification
106
+ Readable | Writable | null | undefined // extra, no modification
107
+ ];
108
+ }
109
+
110
+ // return this object when stdio option is a tuple of 3
111
+ interface ChildProcessByStdio<
112
+ I extends null | Writable,
113
+ O extends null | Readable,
114
+ E extends null | Readable,
115
+ > extends ChildProcess {
116
+ stdin: I;
117
+ stdout: O;
118
+ stderr: E;
119
+ readonly stdio: [
120
+ I,
121
+ O,
122
+ E,
123
+ Readable | Writable | null | undefined, // extra, no modification
124
+ Readable | Writable | null | undefined // extra, no modification
125
+ ];
126
+ }
127
+
128
+ interface MessageOptions {
129
+ keepOpen?: boolean;
130
+ }
131
+
132
+ type IOType = "overlapped" | "pipe" | "ignore" | "inherit";
133
+
134
+ type StdioOptions = IOType | Array<(IOType | "ipc" | Stream | number | null | undefined)>;
135
+
136
+ type SerializationType = 'json' | 'advanced';
137
+
138
+ interface MessagingOptions extends Abortable {
139
+ /**
140
+ * Specify the kind of serialization used for sending messages between processes.
141
+ * @default 'json'
142
+ */
143
+ serialization?: SerializationType;
144
+
145
+ /**
146
+ * The signal value to be used when the spawned process will be killed by the abort signal.
147
+ * @default 'SIGTERM'
148
+ */
149
+ killSignal?: NodeJS.Signals | number;
150
+ }
151
+
152
+ interface ProcessEnvOptions {
153
+ uid?: number;
154
+ gid?: number;
155
+ cwd?: string;
156
+ env?: NodeJS.ProcessEnv;
157
+ }
158
+
159
+ interface CommonOptions extends ProcessEnvOptions {
160
+ /**
161
+ * @default true
162
+ */
163
+ windowsHide?: boolean;
164
+ /**
165
+ * @default 0
166
+ */
167
+ timeout?: number;
168
+ }
169
+
170
+ interface CommonSpawnOptions extends CommonOptions, MessagingOptions, Abortable {
171
+ argv0?: string;
172
+ stdio?: StdioOptions;
173
+ shell?: boolean | string;
174
+ windowsVerbatimArguments?: boolean;
175
+ }
176
+
177
+ interface SpawnOptions extends CommonSpawnOptions {
178
+ detached?: boolean;
179
+ }
180
+
181
+ interface SpawnOptionsWithoutStdio extends SpawnOptions {
182
+ stdio?: StdioPipeNamed | StdioPipe[];
183
+ }
184
+
185
+ type StdioNull = 'inherit' | 'ignore' | Stream;
186
+ type StdioPipeNamed = 'pipe' | 'overlapped';
187
+ type StdioPipe = undefined | null | StdioPipeNamed;
188
+
189
+ interface SpawnOptionsWithStdioTuple<
190
+ Stdin extends StdioNull | StdioPipe,
191
+ Stdout extends StdioNull | StdioPipe,
192
+ Stderr extends StdioNull | StdioPipe,
193
+ > extends SpawnOptions {
194
+ stdio: [Stdin, Stdout, Stderr];
195
+ }
196
+
197
+ // overloads of spawn without 'args'
198
+ function spawn(command: string, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams;
199
+
200
+ function spawn(
201
+ command: string,
202
+ options: SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioPipe>,
203
+ ): ChildProcessByStdio<Writable, Readable, Readable>;
204
+ function spawn(
205
+ command: string,
206
+ options: SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioNull>,
207
+ ): ChildProcessByStdio<Writable, Readable, null>;
208
+ function spawn(
209
+ command: string,
210
+ options: SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioPipe>,
211
+ ): ChildProcessByStdio<Writable, null, Readable>;
212
+ function spawn(
213
+ command: string,
214
+ options: SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioPipe>,
215
+ ): ChildProcessByStdio<null, Readable, Readable>;
216
+ function spawn(
217
+ command: string,
218
+ options: SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioNull>,
219
+ ): ChildProcessByStdio<Writable, null, null>;
220
+ function spawn(
221
+ command: string,
222
+ options: SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioNull>,
223
+ ): ChildProcessByStdio<null, Readable, null>;
224
+ function spawn(
225
+ command: string,
226
+ options: SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioPipe>,
227
+ ): ChildProcessByStdio<null, null, Readable>;
228
+ function spawn(
229
+ command: string,
230
+ options: SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioNull>,
231
+ ): ChildProcessByStdio<null, null, null>;
232
+
233
+ function spawn(command: string, options: SpawnOptions): ChildProcess;
234
+
235
+ // overloads of spawn with 'args'
236
+ function spawn(command: string, args?: ReadonlyArray<string>, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams;
237
+
238
+ function spawn(
239
+ command: string,
240
+ args: ReadonlyArray<string>,
241
+ options: SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioPipe>,
242
+ ): ChildProcessByStdio<Writable, Readable, Readable>;
243
+ function spawn(
244
+ command: string,
245
+ args: ReadonlyArray<string>,
246
+ options: SpawnOptionsWithStdioTuple<StdioPipe, StdioPipe, StdioNull>,
247
+ ): ChildProcessByStdio<Writable, Readable, null>;
248
+ function spawn(
249
+ command: string,
250
+ args: ReadonlyArray<string>,
251
+ options: SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioPipe>,
252
+ ): ChildProcessByStdio<Writable, null, Readable>;
253
+ function spawn(
254
+ command: string,
255
+ args: ReadonlyArray<string>,
256
+ options: SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioPipe>,
257
+ ): ChildProcessByStdio<null, Readable, Readable>;
258
+ function spawn(
259
+ command: string,
260
+ args: ReadonlyArray<string>,
261
+ options: SpawnOptionsWithStdioTuple<StdioPipe, StdioNull, StdioNull>,
262
+ ): ChildProcessByStdio<Writable, null, null>;
263
+ function spawn(
264
+ command: string,
265
+ args: ReadonlyArray<string>,
266
+ options: SpawnOptionsWithStdioTuple<StdioNull, StdioPipe, StdioNull>,
267
+ ): ChildProcessByStdio<null, Readable, null>;
268
+ function spawn(
269
+ command: string,
270
+ args: ReadonlyArray<string>,
271
+ options: SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioPipe>,
272
+ ): ChildProcessByStdio<null, null, Readable>;
273
+ function spawn(
274
+ command: string,
275
+ args: ReadonlyArray<string>,
276
+ options: SpawnOptionsWithStdioTuple<StdioNull, StdioNull, StdioNull>,
277
+ ): ChildProcessByStdio<null, null, null>;
278
+
279
+ function spawn(command: string, args: ReadonlyArray<string>, options: SpawnOptions): ChildProcess;
280
+
281
+ interface ExecOptions extends CommonOptions {
282
+ shell?: string;
283
+ maxBuffer?: number;
284
+ killSignal?: NodeJS.Signals | number;
285
+ }
286
+
287
+ interface ExecOptionsWithStringEncoding extends ExecOptions {
288
+ encoding: BufferEncoding;
289
+ }
290
+
291
+ interface ExecOptionsWithBufferEncoding extends ExecOptions {
292
+ encoding: BufferEncoding | null; // specify `null`.
293
+ }
294
+
295
+ interface ExecException extends Error {
296
+ cmd?: string;
297
+ killed?: boolean;
298
+ code?: number;
299
+ signal?: NodeJS.Signals;
300
+ }
301
+
302
+ // no `options` definitely means stdout/stderr are `string`.
303
+ function exec(command: string, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess;
304
+
305
+ // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`.
306
+ function exec(command: string, options: { encoding: "buffer" | null } & ExecOptions, callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess;
307
+
308
+ // `options` with well known `encoding` means stdout/stderr are definitely `string`.
309
+ function exec(command: string, options: { encoding: BufferEncoding } & ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess;
310
+
311
+ // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`.
312
+ // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`.
313
+ function exec(
314
+ command: string,
315
+ options: { encoding: BufferEncoding } & ExecOptions,
316
+ callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
317
+ ): ChildProcess;
318
+
319
+ // `options` without an `encoding` means stdout/stderr are definitely `string`.
320
+ function exec(command: string, options: ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess;
321
+
322
+ // fallback if nothing else matches. Worst case is always `string | Buffer`.
323
+ function exec(
324
+ command: string,
325
+ options: (BaseEncodingOptions & ExecOptions) | undefined | null,
326
+ callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
327
+ ): ChildProcess;
328
+
329
+ interface PromiseWithChild<T> extends Promise<T> {
330
+ child: ChildProcess;
331
+ }
332
+
333
+ // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime.
334
+ namespace exec {
335
+ function __promisify__(command: string): PromiseWithChild<{ stdout: string, stderr: string }>;
336
+ function __promisify__(command: string, options: { encoding: "buffer" | null } & ExecOptions): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>;
337
+ function __promisify__(command: string, options: { encoding: BufferEncoding } & ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>;
338
+ function __promisify__(command: string, options: ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>;
339
+ function __promisify__(command: string, options?: (BaseEncodingOptions & ExecOptions) | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>;
340
+ }
341
+
342
+ interface ExecFileOptions extends CommonOptions, Abortable {
343
+ maxBuffer?: number;
344
+ killSignal?: NodeJS.Signals | number;
345
+ windowsVerbatimArguments?: boolean;
346
+ shell?: boolean | string;
347
+ signal?: AbortSignal;
348
+ }
349
+ interface ExecFileOptionsWithStringEncoding extends ExecFileOptions {
350
+ encoding: BufferEncoding;
351
+ }
352
+ interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions {
353
+ encoding: 'buffer' | null;
354
+ }
355
+ interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions {
356
+ encoding: BufferEncoding;
357
+ }
358
+ type ExecFileException = ExecException & NodeJS.ErrnoException;
359
+
360
+ function execFile(file: string): ChildProcess;
361
+ function execFile(file: string, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): ChildProcess;
362
+ function execFile(file: string, args?: ReadonlyArray<string> | null): ChildProcess;
363
+ function execFile(file: string, args: ReadonlyArray<string> | undefined | null, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): ChildProcess;
364
+
365
+ // no `options` definitely means stdout/stderr are `string`.
366
+ function execFile(file: string, callback: (error: ExecFileException | null, stdout: string, stderr: string) => void): ChildProcess;
367
+ function execFile(file: string, args: ReadonlyArray<string> | undefined | null, callback: (error: ExecFileException | null, stdout: string, stderr: string) => void): ChildProcess;
368
+
369
+ // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`.
370
+ function execFile(file: string, options: ExecFileOptionsWithBufferEncoding, callback: (error: ExecFileException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess;
371
+ function execFile(
372
+ file: string,
373
+ args: ReadonlyArray<string> | undefined | null,
374
+ options: ExecFileOptionsWithBufferEncoding,
375
+ callback: (error: ExecFileException | null, stdout: Buffer, stderr: Buffer) => void,
376
+ ): ChildProcess;
377
+
378
+ // `options` with well known `encoding` means stdout/stderr are definitely `string`.
379
+ function execFile(file: string, options: ExecFileOptionsWithStringEncoding, callback: (error: ExecFileException | null, stdout: string, stderr: string) => void): ChildProcess;
380
+ function execFile(
381
+ file: string,
382
+ args: ReadonlyArray<string> | undefined | null,
383
+ options: ExecFileOptionsWithStringEncoding,
384
+ callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
385
+ ): ChildProcess;
386
+
387
+ // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`.
388
+ // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`.
389
+ function execFile(
390
+ file: string,
391
+ options: ExecFileOptionsWithOtherEncoding,
392
+ callback: (error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
393
+ ): ChildProcess;
394
+ function execFile(
395
+ file: string,
396
+ args: ReadonlyArray<string> | undefined | null,
397
+ options: ExecFileOptionsWithOtherEncoding,
398
+ callback: (error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
399
+ ): ChildProcess;
400
+
401
+ // `options` without an `encoding` means stdout/stderr are definitely `string`.
402
+ function execFile(file: string, options: ExecFileOptions, callback: (error: ExecFileException | null, stdout: string, stderr: string) => void): ChildProcess;
403
+ function execFile(
404
+ file: string,
405
+ args: ReadonlyArray<string> | undefined | null,
406
+ options: ExecFileOptions,
407
+ callback: (error: ExecFileException | null, stdout: string, stderr: string) => void
408
+ ): ChildProcess;
409
+
410
+ // fallback if nothing else matches. Worst case is always `string | Buffer`.
411
+ function execFile(
412
+ file: string,
413
+ options: (BaseEncodingOptions & ExecFileOptions) | undefined | null,
414
+ callback: ((error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null,
415
+ ): ChildProcess;
416
+ function execFile(
417
+ file: string,
418
+ args: ReadonlyArray<string> | undefined | null,
419
+ options: (BaseEncodingOptions & ExecFileOptions) | undefined | null,
420
+ callback: ((error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null,
421
+ ): ChildProcess;
422
+
423
+ // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime.
424
+ namespace execFile {
425
+ function __promisify__(file: string): PromiseWithChild<{ stdout: string, stderr: string }>;
426
+ function __promisify__(file: string, args: ReadonlyArray<string> | undefined | null): PromiseWithChild<{ stdout: string, stderr: string }>;
427
+ function __promisify__(file: string, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>;
428
+ function __promisify__(file: string, args: ReadonlyArray<string> | undefined | null, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>;
429
+ function __promisify__(file: string, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>;
430
+ function __promisify__(file: string, args: ReadonlyArray<string> | undefined | null, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>;
431
+ function __promisify__(file: string, options: ExecFileOptionsWithOtherEncoding): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>;
432
+ function __promisify__(
433
+ file: string,
434
+ args: ReadonlyArray<string> | undefined | null,
435
+ options: ExecFileOptionsWithOtherEncoding,
436
+ ): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>;
437
+ function __promisify__(file: string, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>;
438
+ function __promisify__(file: string, args: ReadonlyArray<string> | undefined | null, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>;
439
+ function __promisify__(file: string, options: (BaseEncodingOptions & ExecFileOptions) | undefined | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>;
440
+ function __promisify__(
441
+ file: string,
442
+ args: ReadonlyArray<string> | undefined | null,
443
+ options: (BaseEncodingOptions & ExecFileOptions) | undefined | null,
444
+ ): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>;
445
+ }
446
+
447
+ interface ForkOptions extends ProcessEnvOptions, MessagingOptions, Abortable {
448
+ execPath?: string;
449
+ execArgv?: string[];
450
+ silent?: boolean;
451
+ stdio?: StdioOptions;
452
+ detached?: boolean;
453
+ windowsVerbatimArguments?: boolean;
454
+ }
455
+ function fork(modulePath: string, options?: ForkOptions): ChildProcess;
456
+ function fork(modulePath: string, args?: ReadonlyArray<string>, options?: ForkOptions): ChildProcess;
457
+
458
+ interface SpawnSyncOptions extends CommonSpawnOptions {
459
+ input?: string | NodeJS.ArrayBufferView;
460
+ maxBuffer?: number;
461
+ encoding?: BufferEncoding | 'buffer' | null;
462
+ }
463
+ interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions {
464
+ encoding: BufferEncoding;
465
+ }
466
+ interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions {
467
+ encoding?: 'buffer' | null;
468
+ }
469
+ interface SpawnSyncReturns<T> {
470
+ pid: number;
471
+ output: string[];
472
+ stdout: T;
473
+ stderr: T;
474
+ status: number | null;
475
+ signal: NodeJS.Signals | null;
476
+ error?: Error;
477
+ }
478
+ function spawnSync(command: string): SpawnSyncReturns<Buffer>;
479
+ function spawnSync(command: string, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns<string>;
480
+ function spawnSync(command: string, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns<Buffer>;
481
+ function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns<Buffer>;
482
+ function spawnSync(command: string, args?: ReadonlyArray<string>, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns<string>;
483
+ function spawnSync(command: string, args?: ReadonlyArray<string>, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns<Buffer>;
484
+ function spawnSync(command: string, args?: ReadonlyArray<string>, options?: SpawnSyncOptions): SpawnSyncReturns<Buffer>;
485
+
486
+ interface ExecSyncOptions extends CommonOptions {
487
+ input?: string | Uint8Array;
488
+ stdio?: StdioOptions;
489
+ shell?: string;
490
+ killSignal?: NodeJS.Signals | number;
491
+ maxBuffer?: number;
492
+ encoding?: BufferEncoding | 'buffer' | null;
493
+ }
494
+ interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions {
495
+ encoding: BufferEncoding;
496
+ }
497
+ interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions {
498
+ encoding?: 'buffer' | null;
499
+ }
500
+ function execSync(command: string): Buffer;
501
+ function execSync(command: string, options?: ExecSyncOptionsWithStringEncoding): string;
502
+ function execSync(command: string, options?: ExecSyncOptionsWithBufferEncoding): Buffer;
503
+ function execSync(command: string, options?: ExecSyncOptions): Buffer;
504
+
505
+ interface ExecFileSyncOptions extends CommonOptions {
506
+ input?: string | NodeJS.ArrayBufferView;
507
+ stdio?: StdioOptions;
508
+ killSignal?: NodeJS.Signals | number;
509
+ maxBuffer?: number;
510
+ encoding?: BufferEncoding;
511
+ shell?: boolean | string;
512
+ }
513
+ interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions {
514
+ encoding: BufferEncoding;
515
+ }
516
+ interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions {
517
+ encoding: BufferEncoding; // specify `null`.
518
+ }
519
+ function execFileSync(command: string): Buffer;
520
+ function execFileSync(command: string, options?: ExecFileSyncOptionsWithStringEncoding): string;
521
+ function execFileSync(command: string, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer;
522
+ function execFileSync(command: string, options?: ExecFileSyncOptions): Buffer;
523
+ function execFileSync(command: string, args?: ReadonlyArray<string>, options?: ExecFileSyncOptionsWithStringEncoding): string;
524
+ function execFileSync(command: string, args?: ReadonlyArray<string>, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer;
525
+ function execFileSync(command: string, args?: ReadonlyArray<string>, options?: ExecFileSyncOptions): Buffer;
526
+ }