@bbc/spartacus
Version:
25 lines (18 loc) • 759 B
JSX
/*
* This file takes in process environment config and returns an array of variable that
* are prefixed with SPARTACUS_ in a JSON.stringify format
* Inspired by Razzle build-time varaibles
* https://github.com/jaredpalmer/razzle/blob/86a6057c240b496fdf372f142e108c12cf7250f8/packages/razzle/config/env.js#L56-L93
*/
const SPARTACUS = /^SPARTACUS_/i;
const getClientEnvVars = (envConfig = { parsed: {} }) => {
const { parsed } = envConfig;
const envVars = Object.keys(parsed);
const clientEnvVars = {};
const prefixedEnvVars = envVars.filter(key => SPARTACUS.test(key));
prefixedEnvVars.forEach(variable => {
clientEnvVars[variable] = JSON.stringify(parsed[variable]);
});
return clientEnvVars;
};
export default getClientEnvVars;