| 1 | "use strict";
|
|---|
| 2 |
|
|---|
| 3 | exports.__esModule = true;
|
|---|
| 4 | exports.getPlugins = getPlugins;
|
|---|
| 5 | exports.resolvePlugin = resolvePlugin;
|
|---|
| 6 | exports.loadPlugin = loadPlugin;
|
|---|
| 7 |
|
|---|
| 8 | var _pluginJsx = _interopRequireDefault(require("@svgr/plugin-jsx"));
|
|---|
| 9 |
|
|---|
| 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|---|
| 11 |
|
|---|
| 12 | const DEFAULT_PLUGINS = [_pluginJsx.default];
|
|---|
| 13 |
|
|---|
| 14 | function getPlugins(config, state) {
|
|---|
| 15 | if (config.plugins) {
|
|---|
| 16 | return config.plugins;
|
|---|
| 17 | }
|
|---|
| 18 |
|
|---|
| 19 | if (state.caller && state.caller.defaultPlugins) {
|
|---|
| 20 | return state.caller.defaultPlugins;
|
|---|
| 21 | }
|
|---|
| 22 |
|
|---|
| 23 | return DEFAULT_PLUGINS;
|
|---|
| 24 | }
|
|---|
| 25 |
|
|---|
| 26 | function resolvePlugin(plugin) {
|
|---|
| 27 | if (typeof plugin === 'function') {
|
|---|
| 28 | return plugin;
|
|---|
| 29 | }
|
|---|
| 30 |
|
|---|
| 31 | if (typeof plugin === 'string') {
|
|---|
| 32 | return loadPlugin(plugin);
|
|---|
| 33 | }
|
|---|
| 34 |
|
|---|
| 35 | throw new Error(`Invalid plugin "${plugin}"`);
|
|---|
| 36 | }
|
|---|
| 37 |
|
|---|
| 38 | const pluginCache = {};
|
|---|
| 39 |
|
|---|
| 40 | function loadPlugin(moduleName) {
|
|---|
| 41 | if (pluginCache[moduleName]) {
|
|---|
| 42 | return pluginCache[moduleName];
|
|---|
| 43 | }
|
|---|
| 44 |
|
|---|
| 45 | try {
|
|---|
| 46 | // eslint-disable-next-line
|
|---|
| 47 | const plugin = require(moduleName);
|
|---|
| 48 |
|
|---|
| 49 | if (!plugin.default || !plugin) {
|
|---|
| 50 | throw new Error(`Invalid plugin "${moduleName}"`);
|
|---|
| 51 | }
|
|---|
| 52 |
|
|---|
| 53 | pluginCache[moduleName] = plugin.default || plugin;
|
|---|
| 54 | return pluginCache[moduleName];
|
|---|
| 55 | } catch (error) {
|
|---|
| 56 | throw new Error(`Module "${moduleName}" missing. Maybe \`npm install ${moduleName}\` could help!`);
|
|---|
| 57 | }
|
|---|
| 58 | } |
|---|