UNPKG

904 BJavaScriptView Raw
1"use strict";
2
3const JSConcatPackager = require('./JSConcatPackager');
4
5const JSPackager = require('./JSPackager');
6
7const CSSPackager = require('./CSSPackager');
8
9const HTMLPackager = require('./HTMLPackager');
10
11const SourceMapPackager = require('./SourceMapPackager');
12
13const RawPackager = require('./RawPackager');
14
15class PackagerRegistry {
16 constructor(options) {
17 this.packagers = new Map();
18 this.add('css', CSSPackager);
19 this.add('html', HTMLPackager);
20 this.add('map', SourceMapPackager);
21 this.add('js', options.scopeHoist ? JSConcatPackager : JSPackager);
22 }
23
24 add(type, packager) {
25 if (typeof packager === 'string') {
26 packager = require(packager);
27 }
28
29 this.packagers.set(type, packager);
30 }
31
32 has(type) {
33 return this.packagers.has(type);
34 }
35
36 get(type) {
37 return this.packagers.get(type) || RawPackager;
38 }
39
40}
41
42module.exports = PackagerRegistry;
\No newline at end of file