UNPKG

755 BJavaScriptView Raw
1export const DEFAULT_EXTENSIONS = [
2 '.css',
3 '.scss',
4 '.sass',
5 '.pcss',
6 '.stylus',
7 '.styl',
8 '.less',
9 '.sss',
10 '.gif',
11 '.jpeg',
12 '.jpg',
13 '.png',
14 '.svg',
15 '.mp4',
16 '.webm',
17 '.ogv'
18]
19
20export let oldHandlers = {}
21
22export function noOp () {}
23
24export function restore () {
25 for (const ext in oldHandlers) {
26 if (oldHandlers[ext] === undefined) {
27 delete require.extensions[ext]
28 } else {
29 require.extensions[ext] = oldHandlers[ext]
30 }
31 }
32
33 oldHandlers = {}
34}
35
36export default function register (extensions = DEFAULT_EXTENSIONS, handler = noOp) {
37 restore()
38
39 for (const ext of extensions) {
40 oldHandlers[ext] = require.extensions[ext]
41 require.extensions[ext] = handler
42 }
43}
44
45// Run at import
46register()