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.
55 lines
3.1 KiB
55 lines
3.1 KiB
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getE2EWebServerInfo = getE2EWebServerInfo;
|
|
const devkit_exports_1 = require("nx/src/devkit-exports");
|
|
const find_plugin_for_config_file_1 = require("../utils/find-plugin-for-config-file");
|
|
async function getE2EWebServerInfo(tree, projectName, pluginOptions, defaultValues, isPluginBeingAdded) {
|
|
const pm = (0, devkit_exports_1.getPackageManagerCommand)();
|
|
if (isPluginBeingAdded) {
|
|
return await getE2EWebServerInfoForPlugin(tree, projectName, pluginOptions, defaultValues, pm);
|
|
}
|
|
else {
|
|
return {
|
|
e2eWebServerAddress: defaultValues.defaultE2EWebServerAddress,
|
|
e2eWebServerCommand: `${pm.exec} nx run ${projectName}:${defaultValues.defaultServeTargetName}`,
|
|
e2eCiWebServerCommand: `${pm.exec} nx run ${projectName}:${defaultValues.defaultServeStaticTargetName}`,
|
|
e2eCiBaseUrl: defaultValues.defaultE2ECiBaseUrl,
|
|
e2eDevServerTarget: `${projectName}:${defaultValues.defaultServeTargetName}`,
|
|
};
|
|
}
|
|
}
|
|
async function getE2EWebServerInfoForPlugin(tree, projectName, pluginOptions, defaultValues, pm) {
|
|
const foundPlugin = await (0, find_plugin_for_config_file_1.findPluginForConfigFile)(tree, pluginOptions.plugin, pluginOptions.configFilePath);
|
|
if (!foundPlugin ||
|
|
typeof foundPlugin === 'string' ||
|
|
!foundPlugin?.options) {
|
|
return {
|
|
e2eWebServerAddress: defaultValues.defaultE2EWebServerAddress,
|
|
e2eWebServerCommand: `${pm.exec} nx run ${projectName}:${defaultValues.defaultServeTargetName}`,
|
|
e2eCiWebServerCommand: `${pm.exec} nx run ${projectName}:${defaultValues.defaultServeStaticTargetName}`,
|
|
e2eCiBaseUrl: defaultValues.defaultE2ECiBaseUrl,
|
|
e2eDevServerTarget: `${projectName}:${defaultValues.defaultServeTargetName}`,
|
|
};
|
|
}
|
|
const nxJson = (0, devkit_exports_1.readNxJson)(tree);
|
|
let e2ePort = defaultValues.defaultE2EPort ?? 4200;
|
|
if (nxJson.targetDefaults?.[foundPlugin.options[pluginOptions.serveTargetName] ??
|
|
defaultValues.defaultServeTargetName] &&
|
|
nxJson.targetDefaults?.[foundPlugin.options[pluginOptions.serveTargetName] ??
|
|
defaultValues.defaultServeTargetName].options?.port) {
|
|
e2ePort =
|
|
nxJson.targetDefaults?.[foundPlugin.options[pluginOptions.serveTargetName] ??
|
|
defaultValues.defaultServeTargetName].options?.port;
|
|
}
|
|
const e2eWebServerAddress = defaultValues.defaultE2EWebServerAddress.replace(/:\d+/, `:${e2ePort}`);
|
|
return {
|
|
e2eWebServerAddress,
|
|
e2eWebServerCommand: `${pm.exec} nx run ${projectName}:${foundPlugin.options[pluginOptions.serveTargetName] ??
|
|
defaultValues.defaultServeTargetName}`,
|
|
e2eCiWebServerCommand: `${pm.exec} nx run ${projectName}:${foundPlugin.options[pluginOptions.serveStaticTargetName] ??
|
|
defaultValues.defaultServeStaticTargetName}`,
|
|
e2eCiBaseUrl: defaultValues.defaultE2ECiBaseUrl,
|
|
e2eDevServerTarget: `${projectName}:${foundPlugin.options[pluginOptions.serveTargetName] ??
|
|
defaultValues.defaultServeTargetName}`,
|
|
};
|
|
}
|
|
|