1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.BaseIncludePlugin = void 0;
|
4 | const IncludeDependency_1 = require("./IncludeDependency");
|
5 | const webpack = require("webpack");
|
6 | const TAP_NAME = "Aurelia:BaseInclude";
|
7 | const NullDependency = webpack.dependencies.NullDependency;
|
8 | class BaseIncludePlugin {
|
9 | apply(compiler) {
|
10 | compiler.hooks.compilation.tap(TAP_NAME, (compilation, data) => {
|
11 | const normalModuleFactory = data.normalModuleFactory;
|
12 | compilation.dependencyFactories.set(IncludeDependency_1.IncludeDependency, normalModuleFactory);
|
13 | compilation.dependencyTemplates.set(IncludeDependency_1.IncludeDependency, new NullDependency.Template());
|
14 | const handler = (parser) => {
|
15 | const addDependency = (request) => {
|
16 | let options = typeof request === 'object' ? request : undefined;
|
17 | let name = options ? options.name : request;
|
18 | parser.state.current.addDependency(new IncludeDependency_1.IncludeDependency(name, options));
|
19 | };
|
20 | this.parser(compilation, parser, addDependency);
|
21 | };
|
22 | normalModuleFactory.hooks.parser.for("javascript/auto").tap(TAP_NAME, handler);
|
23 | normalModuleFactory.hooks.parser.for("javascript/dynamic").tap(TAP_NAME, handler);
|
24 | normalModuleFactory.hooks.parser.for("javascript/esm").tap(TAP_NAME, handler);
|
25 | });
|
26 | }
|
27 | parser(compilation, parser, add) {
|
28 |
|
29 | }
|
30 | }
|
31 | exports.BaseIncludePlugin = BaseIncludePlugin;
|