@@ -47,6 +47,37 @@ declare global {
47
47
}
48
48
}
49
49
50
+ /** @internal */
51
+ export const env = process . env as ProcessEnv
52
+ /**
53
+ * Declare all env vars, to aid discoverability.
54
+ * If an env var affects ts-node's behavior, it should not be buried somewhere in our codebase.
55
+ * @internal
56
+ */
57
+ export interface ProcessEnv {
58
+ TS_NODE_DEBUG ?: string
59
+ TS_NODE_DIR ?: string
60
+ TS_NODE_EMIT ?: string
61
+ TS_NODE_SCOPE ?: string
62
+ TS_NODE_FILES ?: string
63
+ TS_NODE_PRETTY ?: string
64
+ TS_NODE_COMPILER ?: string
65
+ TS_NODE_COMPILER_OPTIONS ?: string
66
+ TS_NODE_IGNORE ?: string
67
+ TS_NODE_PROJECT ?: string
68
+ TS_NODE_SKIP_PROJECT ?: string
69
+ TS_NODE_SKIP_IGNORE ?: string
70
+ TS_NODE_PREFER_TS_EXTS ?: string
71
+ TS_NODE_IGNORE_DIAGNOSTICS ?: string
72
+ TS_NODE_TRANSPILE_ONLY ?: string
73
+ TS_NODE_TYPE_CHECK ?: string
74
+ TS_NODE_COMPILER_HOST ?: string
75
+ TS_NODE_LOG_ERROR ?: string
76
+ TS_NODE_HISTORY ?: string
77
+
78
+ NODE_NO_READLINE ?: string
79
+ }
80
+
50
81
/**
51
82
* @internal
52
83
*/
@@ -63,7 +94,7 @@ function yn (value: string | undefined) {
63
94
/**
64
95
* Debugging `ts-node`.
65
96
*/
66
- const shouldDebug = yn ( process . env . TS_NODE_DEBUG )
97
+ const shouldDebug = yn ( env . TS_NODE_DEBUG )
67
98
/** @internal */
68
99
export const debug = shouldDebug ?
69
100
( ...args : any ) => console . log ( `[ts-node ${ new Date ( ) . toISOString ( ) } ]` , ...args )
@@ -284,23 +315,23 @@ export interface TypeInfo {
284
315
* variables.
285
316
*/
286
317
export const DEFAULTS : RegisterOptions = {
287
- dir : process . env . TS_NODE_DIR ,
288
- emit : yn ( process . env . TS_NODE_EMIT ) ,
289
- scope : yn ( process . env . TS_NODE_SCOPE ) ,
290
- files : yn ( process . env . TS_NODE_FILES ) ,
291
- pretty : yn ( process . env . TS_NODE_PRETTY ) ,
292
- compiler : process . env . TS_NODE_COMPILER ,
293
- compilerOptions : parse ( process . env . TS_NODE_COMPILER_OPTIONS ) ,
294
- ignore : split ( process . env . TS_NODE_IGNORE ) ,
295
- project : process . env . TS_NODE_PROJECT ,
296
- skipProject : yn ( process . env . TS_NODE_SKIP_PROJECT ) ,
297
- skipIgnore : yn ( process . env . TS_NODE_SKIP_IGNORE ) ,
298
- preferTsExts : yn ( process . env . TS_NODE_PREFER_TS_EXTS ) ,
299
- ignoreDiagnostics : split ( process . env . TS_NODE_IGNORE_DIAGNOSTICS ) ,
300
- transpileOnly : yn ( process . env . TS_NODE_TRANSPILE_ONLY ) ,
301
- typeCheck : yn ( process . env . TS_NODE_TYPE_CHECK ) ,
302
- compilerHost : yn ( process . env . TS_NODE_COMPILER_HOST ) ,
303
- logError : yn ( process . env . TS_NODE_LOG_ERROR ) ,
318
+ dir : env . TS_NODE_DIR ,
319
+ emit : yn ( env . TS_NODE_EMIT ) ,
320
+ scope : yn ( env . TS_NODE_SCOPE ) ,
321
+ files : yn ( env . TS_NODE_FILES ) ,
322
+ pretty : yn ( env . TS_NODE_PRETTY ) ,
323
+ compiler : env . TS_NODE_COMPILER ,
324
+ compilerOptions : parse ( env . TS_NODE_COMPILER_OPTIONS ) ,
325
+ ignore : split ( env . TS_NODE_IGNORE ) ,
326
+ project : env . TS_NODE_PROJECT ,
327
+ skipProject : yn ( env . TS_NODE_SKIP_PROJECT ) ,
328
+ skipIgnore : yn ( env . TS_NODE_SKIP_IGNORE ) ,
329
+ preferTsExts : yn ( env . TS_NODE_PREFER_TS_EXTS ) ,
330
+ ignoreDiagnostics : split ( env . TS_NODE_IGNORE_DIAGNOSTICS ) ,
331
+ transpileOnly : yn ( env . TS_NODE_TRANSPILE_ONLY ) ,
332
+ typeCheck : yn ( env . TS_NODE_TYPE_CHECK ) ,
333
+ compilerHost : yn ( env . TS_NODE_COMPILER_HOST ) ,
334
+ logError : yn ( env . TS_NODE_LOG_ERROR ) ,
304
335
experimentalEsmLoader : false
305
336
}
306
337
0 commit comments