UNPKG

2.1 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
7const path = require('path');
8
9const Asset = require('../Asset');
10
11const localRequire = require('../utils/localRequire');
12
13class PugAsset extends Asset {
14 constructor(name, options) {
15 super(name, options);
16 this.type = 'html';
17 this.hmrPageReload = true;
18 }
19
20 generate() {
21 var _this = this;
22
23 return (0, _asyncToGenerator2.default)(function* () {
24 const pug = yield localRequire('pug', _this.name);
25 const config = (yield _this.getConfig(['.pugrc', '.pugrc.js', 'pug.config.js'])) || {};
26 const compiled = pug.compile(_this.contents, {
27 compileDebug: false,
28 filename: _this.name,
29 basedir: path.dirname(_this.name),
30 pretty: config.pretty || false,
31 templateName: path.basename(_this.basename, path.extname(_this.basename)),
32 filters: config.filters,
33 filterOptions: config.filterOptions,
34 filterAliases: config.filterAliases
35 });
36
37 if (compiled.dependencies) {
38 var _iteratorNormalCompletion = true;
39 var _didIteratorError = false;
40 var _iteratorError = undefined;
41
42 try {
43 for (var _iterator = compiled.dependencies[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
44 let item = _step.value;
45
46 _this.addDependency(item, {
47 includedInParent: true
48 });
49 }
50 } catch (err) {
51 _didIteratorError = true;
52 _iteratorError = err;
53 } finally {
54 try {
55 if (!_iteratorNormalCompletion && _iterator.return != null) {
56 _iterator.return();
57 }
58 } finally {
59 if (_didIteratorError) {
60 throw _iteratorError;
61 }
62 }
63 }
64 }
65
66 return compiled(config.locals);
67 })();
68 }
69
70}
71
72module.exports = PugAsset;
\No newline at end of file