@whook/whook
Version:
Build strong and efficient REST web services.
25 lines • 1.05 kB
JavaScript
import { initEnv } from 'application-services';
import { wrapInitializer, alsoInject, location, } from 'knifecycle';
import { noop } from 'common-services';
export default location(alsoInject(['?log', '?PROXIED_ENV_VARS'], wrapInitializer(wrapEnvForBuild, initEnv)), import.meta.url);
/**
* Wrap the ENV service in order to filter ENV vars for the build
* @param {Object} services
* The services ENV depends on
* @param {Object} [services.PROXIED_ENV_VARS={}]
* A list of environment variable names to proxy
* @param {Object} [services.log=noop]
* An optional logging service
* @return {Promise<Object>}
* A promise of an object containing the reshaped env vars.
*/
async function wrapEnvForBuild({ log = noop, PROXIED_ENV_VARS = [] }, ENV) {
log('debug', '♻️ -Filtering environment for build.');
return PROXIED_ENV_VARS.reduce((GATHERED_ENV, name) => ({
...GATHERED_ENV,
[name]: ENV[name] || GATHERED_ENV[name],
}), {
NODE_ENV: ENV.NODE_ENV,
});
}
//# sourceMappingURL=PROXIED_ENV.js.map