/** * This file stores all the process.env variables under collection scope * * process.env variables are sourced from 2 places: * 1. .env file in the root of the project * 2. process.env variables set in the OS * * Multiple collections can be opened in the same electron app. * Each collection's .env file can have different values for the same process.env variable. */ const dotEnvVars = {}; // collectionUid is a hash based on the collection path const getProcessEnvVars = (collectionUid) => { // if there are no .env vars for this collection, return the process.env if (!dotEnvVars[collectionUid]) { return { ...process.env }; } // if there are .env vars for this collection, return the process.env merged with the .env vars return { ...process.env, ...dotEnvVars[collectionUid] }; }; const setDotEnvVars = (collectionUid, envVars) => { dotEnvVars[collectionUid] = envVars; }; module.exports = { getProcessEnvVars, setDotEnvVars };