mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-26 14:15:52 +00:00
fix: global environment flag for cli (#6969)
* fix: global environment flag for cli * fixes
This commit is contained in:
@@ -467,11 +467,6 @@ const handler = async function (argv) {
|
||||
console.error(chalk.red(`Failed to parse global environment: ${err.message}`));
|
||||
process.exit(constants.EXIT_STATUS.ERROR_INVALID_FILE);
|
||||
}
|
||||
|
||||
envVars = { ...globalEnvVars, ...envVars };
|
||||
if (!envVars.__name__ && globalEnvVars.__name__) {
|
||||
envVars.__name__ = globalEnvVars.__name__;
|
||||
}
|
||||
}
|
||||
|
||||
if (envVar) {
|
||||
@@ -632,7 +627,8 @@ const handler = async function (argv) {
|
||||
collectionRoot,
|
||||
runtime,
|
||||
collection,
|
||||
runSingleRequestByPathname
|
||||
runSingleRequestByPathname,
|
||||
globalEnvVars
|
||||
);
|
||||
resolve(res?.response);
|
||||
}
|
||||
@@ -657,7 +653,8 @@ const handler = async function (argv) {
|
||||
collectionRoot,
|
||||
runtime,
|
||||
collection,
|
||||
runSingleRequestByPathname
|
||||
runSingleRequestByPathname,
|
||||
globalEnvVars
|
||||
);
|
||||
|
||||
const isLastRun = currentRequestIndex === requestItems.length - 1;
|
||||
|
||||
@@ -7,13 +7,15 @@ const buildCombinedVars = ({
|
||||
folderVariables,
|
||||
requestVariables,
|
||||
runtimeVariables,
|
||||
processEnvVars
|
||||
processEnvVars,
|
||||
globalEnvVars
|
||||
}) => {
|
||||
processEnvVars = processEnvVars || {};
|
||||
runtimeVariables = runtimeVariables || {};
|
||||
collectionVariables = collectionVariables || {};
|
||||
folderVariables = folderVariables || {};
|
||||
requestVariables = requestVariables || {};
|
||||
globalEnvVars = globalEnvVars || {};
|
||||
|
||||
// we clone envVars because we don't want to modify the original object
|
||||
envVars = envVars ? cloneDeep(envVars) : {};
|
||||
@@ -32,6 +34,7 @@ const buildCombinedVars = ({
|
||||
|
||||
// runtimeVariables take precedence over envVars
|
||||
return {
|
||||
...globalEnvVars,
|
||||
...collectionVariables,
|
||||
...envVars,
|
||||
...folderVariables,
|
||||
|
||||
@@ -15,6 +15,7 @@ const getContentType = (headers = {}) => {
|
||||
};
|
||||
|
||||
const interpolateVars = (request, envVariables = {}, runtimeVariables = {}, processEnvVars = {}) => {
|
||||
const globalEnvironmentVariables = request?.globalEnvironmentVariables || {};
|
||||
const collectionVariables = request?.collectionVariables || {};
|
||||
const folderVariables = request?.folderVariables || {};
|
||||
const requestVariables = request?.requestVariables || {};
|
||||
@@ -41,6 +42,7 @@ const interpolateVars = (request, envVariables = {}, runtimeVariables = {}, proc
|
||||
|
||||
// runtimeVariables take precedence over envVars
|
||||
const combinedVars = {
|
||||
...globalEnvironmentVariables,
|
||||
...collectionVariables,
|
||||
...envVariables,
|
||||
...folderVariables,
|
||||
|
||||
@@ -44,9 +44,10 @@ const getCACertHostRegex = (domain) => {
|
||||
* @returns {string[]} An array of extracted prompt variables
|
||||
*/
|
||||
const extractPromptVariablesForRequest = ({ request, collection, envVariables, runtimeVariables, processEnvVars, brunoConfig }) => {
|
||||
const { vars, collectionVariables, folderVariables, requestVariables, ...requestObj } = request;
|
||||
const { vars, collectionVariables, folderVariables, requestVariables, globalEnvironmentVariables, ...requestObj } = request;
|
||||
|
||||
const allVariables = {
|
||||
...globalEnvironmentVariables,
|
||||
...envVariables,
|
||||
...collectionVariables,
|
||||
...folderVariables,
|
||||
@@ -63,6 +64,7 @@ const extractPromptVariablesForRequest = ({ request, collection, envVariables, r
|
||||
prompts.push(...extractPromptVariables(allVariables));
|
||||
|
||||
const interpolationOptions = {
|
||||
globalEnvVars: globalEnvironmentVariables,
|
||||
envVars: envVariables,
|
||||
runtimeVariables,
|
||||
processEnvVars
|
||||
@@ -94,7 +96,8 @@ const runSingleRequest = async function (
|
||||
collectionRoot,
|
||||
runtime,
|
||||
collection,
|
||||
runSingleRequestByPathname
|
||||
runSingleRequestByPathname,
|
||||
globalEnvVars = {}
|
||||
) {
|
||||
const { pathname: itemPathname } = item;
|
||||
const relativeItemPathname = path.relative(collectionPath, itemPathname);
|
||||
@@ -127,6 +130,9 @@ const runSingleRequest = async function (
|
||||
|
||||
request = await prepareRequest(item, collection);
|
||||
|
||||
// Set global environment variables on the request for scripts to access via bru.getGlobalEnvVar()
|
||||
request.globalEnvironmentVariables = globalEnvVars;
|
||||
|
||||
// Detect prompt variables before proceeding
|
||||
const promptVars = extractPromptVariablesForRequest({ request, collection, envVariables, runtimeVariables, processEnvVars, brunoConfig });
|
||||
|
||||
@@ -247,6 +253,7 @@ const runSingleRequest = async function (
|
||||
}
|
||||
|
||||
const interpolationOptions = {
|
||||
globalEnvVars: request.globalEnvironmentVariables || {},
|
||||
envVars: envVariables,
|
||||
runtimeVariables,
|
||||
processEnvVars
|
||||
@@ -471,6 +478,7 @@ const runSingleRequest = async function (
|
||||
try {
|
||||
// Prepare interpolation options with all available variables
|
||||
const oauth2InterpolationOptions = {
|
||||
globalEnvVars: request.globalEnvironmentVariables || {},
|
||||
envVars: envVariables,
|
||||
runtimeVariables,
|
||||
processEnvVars,
|
||||
|
||||
Reference in New Issue
Block a user