@@ -10,6 +10,16 @@ import { VALID_FLAW_CHECKS } from "../constants/index.js";
10
10
const dirname = fileURLToPath ( new URL ( "." , import . meta. url ) ) ;
11
11
const ROOT = path . join ( dirname , ".." , ".." ) ;
12
12
13
+ function parse ( value ) {
14
+ try {
15
+ return JSON . parse ( value ) ;
16
+ } catch ( e ) {
17
+ throw new Error ( `Error parsing value '${ value } ' in .env file: ` , {
18
+ cause : e ,
19
+ } ) ;
20
+ }
21
+ }
22
+
13
23
dotenv . config ( {
14
24
path : path . join ( cwd ( ) , process . env . ENV_FILE || ".env" ) ,
15
25
} ) ;
@@ -31,10 +41,10 @@ export const FOLDERSEARCH = process.env.BUILD_FOLDERSEARCH || "";
31
41
export const GOOGLE_ANALYTICS_MEASUREMENT_ID =
32
42
process . env . BUILD_GOOGLE_ANALYTICS_MEASUREMENT_ID || "" ;
33
43
export const NO_PROGRESSBAR = Boolean (
34
- JSON . parse ( process . env . BUILD_NO_PROGRESSBAR || process . env . CI || "false" )
44
+ parse ( process . env . BUILD_NO_PROGRESSBAR || process . env . CI || "false" )
35
45
) ;
36
- export const FIX_FLAWS = JSON . parse ( process . env . BUILD_FIX_FLAWS || "false" ) ;
37
- export const FIX_FLAWS_DRY_RUN = JSON . parse (
46
+ export const FIX_FLAWS = parse ( process . env . BUILD_FIX_FLAWS || "false" ) ;
47
+ export const FIX_FLAWS_DRY_RUN = parse (
38
48
process . env . BUILD_FIX_FLAWS_DRY_RUN || "false"
39
49
) ;
40
50
export const FIX_FLAWS_TYPES = new Set (
@@ -50,14 +60,14 @@ if ([...FIX_FLAWS_TYPES].some((flawType) => !VALID_FLAW_CHECKS.has(flawType))) {
50
60
) ;
51
61
}
52
62
53
- export const FIX_FLAWS_VERBOSE = JSON . parse (
63
+ export const FIX_FLAWS_VERBOSE = parse (
54
64
// It's on by default because it's such a sensible option to always have
55
65
// on.
56
66
process . env . BUILD_FIX_FLAWS_VERBOSE || "true"
57
67
) ;
58
68
59
69
// See explanation in docs/envvars.md
60
- export const ALWAYS_ALLOW_ROBOTS = JSON . parse (
70
+ export const ALWAYS_ALLOW_ROBOTS = parse (
61
71
process . env . BUILD_ALWAYS_ALLOW_ROBOTS || "false"
62
72
) ;
63
73
@@ -130,7 +140,7 @@ function correctContentPathFromEnv(envVarName) {
130
140
// filecheck
131
141
// ---------
132
142
133
- export const MAX_FILE_SIZE = JSON . parse (
143
+ export const MAX_FILE_SIZE = parse (
134
144
process . env . FILECHECK_MAX_FILE_SIZE || 500 * 1024 // 500KiB
135
145
) ;
136
146
@@ -168,7 +178,7 @@ export const PROXY_HOSTNAME =
168
178
export const CONTENT_HOSTNAME = process . env . SERVER_CONTENT_HOST ;
169
179
export const OFFLINE_CONTENT = process . env . SERVER_OFFLINE_CONTENT === "true" ;
170
180
171
- export const FAKE_V1_API = JSON . parse ( process . env . SERVER_FAKE_V1_API || false ) ;
181
+ export const FAKE_V1_API = parse ( process . env . SERVER_FAKE_V1_API || false ) ;
172
182
173
183
// ----
174
184
// tool
0 commit comments