mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.3 KiB
28 lines
1.3 KiB
"use strict";
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|