@nx/devkit
Version:
29 lines (28 loc) • 1.29 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.findPluginForConfigFile = findPluginForConfigFile;
const devkit_exports_1 = require("nx/src/devkit-exports");
const devkit_internals_1 = require("nx/src/devkit-internals");
async function findPluginForConfigFile(tree, pluginName, pathToConfigFile) {
const nxJson = (0, devkit_exports_1.readNxJson)(tree);
if (!nxJson.plugins) {
return;
}
const pluginRegistrations = nxJson.plugins.filter((p) => (typeof p === 'string' ? p === pluginName : p.plugin === pluginName));
for (const plugin of pluginRegistrations) {
if (typeof plugin === 'string') {
return plugin;
}
if (!plugin.include && !plugin.exclude) {
return plugin;
}
if (plugin.include || plugin.exclude) {
const resolvedPlugin = await Promise.resolve(`${pluginName}`).then(s => require(s));
const pluginGlob = resolvedPlugin.createNodesV2?.[0] ?? resolvedPlugin.createNodes?.[0];
const matchingConfigFile = (0, devkit_internals_1.findMatchingConfigFiles)([pathToConfigFile], pluginGlob, plugin.include, plugin.exclude);
if (matchingConfigFile.length) {
return plugin;
}
}
}
}
;