1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
6 |
|
7 | const Asset = require('../Asset');
|
8 |
|
9 | const localRequire = require('../utils/localRequire');
|
10 |
|
11 | class CoffeeScriptAsset extends Asset {
|
12 | constructor(name, options) {
|
13 | super(name, options);
|
14 | this.type = 'js';
|
15 | }
|
16 |
|
17 | generate() {
|
18 | var _this = this;
|
19 |
|
20 | return (0, _asyncToGenerator2.default)(function* () {
|
21 |
|
22 | let coffee = yield localRequire('coffeescript', _this.name);
|
23 |
|
24 | let transpiled = coffee.compile(_this.contents, {
|
25 | sourceMap: _this.options.sourceMaps
|
26 | });
|
27 | let sourceMap;
|
28 |
|
29 | if (transpiled.sourceMap) {
|
30 | sourceMap = transpiled.sourceMap.generate();
|
31 | sourceMap.sources = [_this.relativeName];
|
32 | sourceMap.sourcesContent = [_this.contents];
|
33 | }
|
34 |
|
35 | return [{
|
36 | type: 'js',
|
37 | value: _this.options.sourceMaps ? transpiled.js : transpiled,
|
38 | sourceMap
|
39 | }];
|
40 | })();
|
41 | }
|
42 |
|
43 | }
|
44 |
|
45 | module.exports = CoffeeScriptAsset; |
\ | No newline at end of file |