UNPKG

2.64 kBJavaScriptView Raw
1"use strict";
2var __read = (this && this.__read) || function (o, n) {
3 var m = typeof Symbol === "function" && o[Symbol.iterator];
4 if (!m) return o;
5 var i = m.call(o), r, ar = [], e;
6 try {
7 while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8 }
9 catch (error) { e = { error: error }; }
10 finally {
11 try {
12 if (r && !r.done && (m = i["return"])) m.call(i);
13 }
14 finally { if (e) throw e.error; }
15 }
16 return ar;
17};
18var __importStar = (this && this.__importStar) || function (mod) {
19 if (mod && mod.__esModule) return mod;
20 var result = {};
21 if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
22 result["default"] = mod;
23 return result;
24};
25var __importDefault = (this && this.__importDefault) || function (mod) {
26 return (mod && mod.__esModule) ? mod : { "default": mod };
27};
28Object.defineProperty(exports, "__esModule", { value: true });
29var path = __importStar(require("path"));
30var try_require_1 = __importDefault(require("./try-require"));
31function loadPlugin(_a, logger) {
32 var _b = __read(_a, 2), pluginPath = _b[0], options = _b[1];
33 // tslint:disable-next-line:no-unnecessary-initializer
34 var plugin = undefined;
35 // Try requiring a path
36 if (pluginPath.startsWith('.') || pluginPath.startsWith('/')) {
37 plugin = try_require_1.default(pluginPath);
38 }
39 // Try requiring a path from cwd
40 if (!plugin && (pluginPath.startsWith('.') || pluginPath.startsWith('/'))) {
41 plugin = try_require_1.default(path.join(process.cwd(), pluginPath));
42 logger.log.warn("Could not find plugin from path: " + pluginPath);
43 return;
44 }
45 // For pkg bundle
46 if (!plugin) {
47 plugin = try_require_1.default(path.join(__dirname, '../../../../../plugins/', pluginPath, 'dist/index.js'));
48 }
49 // For a user created plugin
50 if (!plugin) {
51 plugin = try_require_1.default("auto-plugin-" + pluginPath);
52 }
53 // Try importing official plugin
54 if (!plugin) {
55 plugin = try_require_1.default(path.join('@auto-it', pluginPath));
56 }
57 if (!plugin) {
58 logger.log.warn("Could not find plugin: " + pluginPath);
59 return;
60 }
61 try {
62 if ('default' in plugin && plugin.default) {
63 return new plugin.default(options);
64 }
65 return new plugin(options);
66 }
67 catch (error) {
68 logger.log.error("Plugin at the following path encountered an error: " + pluginPath);
69 throw error;
70 }
71}
72exports.default = loadPlugin;
73//# sourceMappingURL=load-plugins.js.map
\No newline at end of file