npm package diff
Package: @forge/manifest
Versions: 10.0.1-next.7 - 10.1.0-next.8
File: package/out/interpolator/environment-variable-interpolator.js
Index: package/out/interpolator/environment-variable-interpolator.js
===================================================================
--- package/out/interpolator/environment-variable-interpolator.js
+++ package/out/interpolator/environment-variable-interpolator.js
@@ -22,20 +22,36 @@
this.envVarsRecord = envVarsRecord;
this.envVarsToReplace = [];
}
interpolate({ manifest }) {
- this.envVarsToReplace = manifest.environment?.variables ?? [];
+ this.envVarsToReplace = [];
+ if (manifest.environment && manifest.environment.variables) {
+ this.envVarsToReplace = manifest.environment.variables.map((manifestEnvVar) => {
+ if (typeof manifestEnvVar === 'string') {
+ return {
+ key: manifestEnvVar
+ };
+ }
+ else {
+ return {
+ key: manifestEnvVar.key,
+ default: manifestEnvVar.default
+ };
+ }
+ });
+ }
return (0, yaml_1.parse)(JSON.stringify(manifest), this.environmentVariableReviver);
}
environmentVariableReviver = (_, value) => {
if (!(typeof value == 'string')) {
return value;
}
value = value.replace(this.POSSIBLE_ENVIRONMENT_VARIABLE, (original, envVarName) => {
- if (!this.envVarsToReplace.includes(envVarName)) {
+ const envVarToReplace = this.envVarsToReplace.find((envVar) => envVar.key === envVarName);
+ if (!envVarToReplace) {
return original;
}
- const envVar = this.envVarsRecord[envVarName];
+ const envVar = this.envVarsRecord[envVarName] ?? envVarToReplace.default;
if (envVar === undefined) {
throw new EnvironmentVariableInterpolatorError(text_1.errors.schema.missingEnvironmentVariable(envVarName));
}
Sentry.captureMessage('replaced environment variable');