Skip to content

Commit 04f794b

Browse files
committed
fix: lazy evaluate known extensions to allow env set in config
1 parent b8487d3 commit 04f794b

File tree

1 file changed

+21
-16
lines changed

1 file changed

+21
-16
lines changed

Diff for: src/shared/shared.ts

+21-16
Original file line numberDiff line numberDiff line change
@@ -175,24 +175,29 @@ export function slash(p: string): string {
175175
return p.replace(/\\/g, '/')
176176
}
177177

178-
const extraExts =
179-
(typeof process === 'object' && process.env.VITE_EXTRA_EXTENSIONS) ||
180-
(import.meta as any).env?.VITE_EXTRA_EXTENSIONS ||
181-
''
182-
183-
// md, html? are intentionally omitted, see treatAsHtml
184-
const KNOWN_EXTENSIONS = new Set(
185-
(
186-
'3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,' +
187-
'eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,' +
188-
'mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,' +
189-
'p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,' +
190-
'tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip' +
191-
(extraExts && typeof extraExts === 'string' ? ',' + extraExts : '')
192-
).split(',')
193-
)
178+
const KNOWN_EXTENSIONS = new Set()
194179

195180
export function treatAsHtml(filename: string): boolean {
181+
if (KNOWN_EXTENSIONS.size === 0) {
182+
const extraExts =
183+
(typeof process === 'object' && process.env.VITE_EXTRA_EXTENSIONS) ||
184+
(import.meta as any).env?.VITE_EXTRA_EXTENSIONS ||
185+
''
186+
187+
// md, html? are intentionally omitted
188+
;(
189+
'3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,' +
190+
'doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,' +
191+
'man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,' +
192+
'opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,' +
193+
'tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,' +
194+
'yaml,yml,zip' +
195+
(extraExts && typeof extraExts === 'string' ? ',' + extraExts : '')
196+
)
197+
.split(',')
198+
.forEach((ext) => KNOWN_EXTENSIONS.add(ext))
199+
}
200+
196201
const ext = filename.split('.').pop()
197202

198203
return ext == null || !KNOWN_EXTENSIONS.has(ext.toLowerCase())

0 commit comments

Comments
 (0)