1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var tslib_1 = require("tslib");
|
4 | var path_1 = tslib_1.__importDefault(require("path"));
|
5 | var abstract_plugin_loader_js_1 = tslib_1.__importDefault(require("../less/environment/abstract-plugin-loader.js"));
|
6 |
|
7 |
|
8 |
|
9 | var PluginLoader = function (less) {
|
10 | this.less = less;
|
11 | this.require = function (prefix) {
|
12 | prefix = path_1.default.dirname(prefix);
|
13 | return function (id) {
|
14 | var str = id.substr(0, 2);
|
15 | if (str === '..' || str === './') {
|
16 | return require(path_1.default.join(prefix, id));
|
17 | }
|
18 | else {
|
19 | return require(id);
|
20 | }
|
21 | };
|
22 | };
|
23 | };
|
24 | PluginLoader.prototype = Object.assign(new abstract_plugin_loader_js_1.default(), {
|
25 | loadPlugin: function (filename, basePath, context, environment, fileManager) {
|
26 | var prefix = filename.slice(0, 1);
|
27 | var explicit = prefix === '.' || prefix === '/' || filename.slice(-3).toLowerCase() === '.js';
|
28 | if (!explicit) {
|
29 | context.prefixes = ['less-plugin-', ''];
|
30 | }
|
31 | if (context.syncImport) {
|
32 | return fileManager.loadFileSync(filename, basePath, context, environment);
|
33 | }
|
34 | return new Promise(function (fulfill, reject) {
|
35 | fileManager.loadFile(filename, basePath, context, environment).then(function (data) {
|
36 | try {
|
37 | fulfill(data);
|
38 | }
|
39 | catch (e) {
|
40 | console.log(e);
|
41 | reject(e);
|
42 | }
|
43 | }).catch(function (err) {
|
44 | reject(err);
|
45 | });
|
46 | });
|
47 | },
|
48 | loadPluginSync: function (filename, basePath, context, environment, fileManager) {
|
49 | context.syncImport = true;
|
50 | return this.loadPlugin(filename, basePath, context, environment, fileManager);
|
51 | }
|
52 | });
|
53 | exports.default = PluginLoader;
|
54 |
|
\ | No newline at end of file |