UNPKG

@netlify/content-engine

Version:
41 lines 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setGatsbyPluginCache = setGatsbyPluginCache; exports.importGatsbyPlugin = importGatsbyPlugin; const resolve_js_file_path_1 = require("../bootstrap/resolve-js-file-path"); const prefer_default_1 = require("../bootstrap/prefer-default"); const dynamic_import_1 = require("../../lib/dynamic-import"); const pluginModuleCache = new Map(); function setGatsbyPluginCache(plugin, module, moduleObject) { const key = `${plugin.name}/${module}`; pluginModuleCache.set(key, moduleObject); const additionalPrefix = plugin.importKey || plugin.resolve; if (additionalPrefix) { const key = `${additionalPrefix}/${module}`; pluginModuleCache.set(key, moduleObject); } } async function importGatsbyPlugin(plugin, module) { const key = `${plugin.importKey || plugin.resolve || plugin.name}/${module}`; let pluginModule = pluginModuleCache.get(key); if (!pluginModule) { let importPluginModulePath; if (module === `gatsby-node` && plugin.resolvedCompiledGatsbyNode) { importPluginModulePath = plugin.resolvedCompiledGatsbyNode; } else { importPluginModulePath = `${plugin.resolve}/${module}`; } const pluginFilePath = await (0, resolve_js_file_path_1.resolveJSFilepath)({ rootDir: process.cwd(), filePath: importPluginModulePath, }); const filePath = (0, resolve_js_file_path_1.maybeAddFileProtocol)(pluginFilePath); const rawPluginModule = await (0, dynamic_import_1.dynamicImport)(filePath); // If the module is cjs, the properties we care about are nested under a top-level `default` property pluginModule = (0, prefer_default_1.preferDefault)(rawPluginModule); pluginModuleCache.set(key, pluginModule); } return pluginModule; } //# sourceMappingURL=import-gatsby-plugin.js.map