npm package diff

Package: @forge/manifest

Versions: 10.0.1-next.7 - 10.1.0-next.8

Modified: 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');

Modified: package/out/schema/manifest-schema.json

Large diffs are not rendered by default.

Modified: package/package.json

Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@forge/manifest",
-  "version": "10.0.1-next.7",
+  "version": "10.1.0-next.8",
   "description": "Definitions and validations of the Forge manifest",
   "main": "out/index.js",
   "scripts": {
     "build": "yarn run compile",

Modified: package/out/interpolator/environment-variable-interpolator.d.ts.map

Index: package/out/interpolator/environment-variable-interpolator.d.ts.map
===================================================================
--- package/out/interpolator/environment-variable-interpolator.d.ts.map
+++ package/out/interpolator/environment-variable-interpolator.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"environment-variable-interpolator.d.ts","sourceRoot":"","sources":["../../src/interpolator/environment-variable-interpolator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,qBAAa,oCAAqC,SAAQ,yBAAyB;gBACrE,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,+BAAgC,YAAW,oBAAoB;IAS9D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAR1C,IAAI,EAAE,gBAAgB,CAAyC;IAI/D,6BAA6B,SAAqC;IAElE,OAAO,CAAC,gBAAgB,CAAW;gBAEN,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM;IAInF,WAAW,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,cAAc;IAKjE,OAAO,CAAC,0BAA0B,CAkBhC;CACH"}
\ No newline at end of file
+{"version":3,"file":"environment-variable-interpolator.d.ts","sourceRoot":"","sources":["../../src/interpolator/environment-variable-interpolator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,qBAAa,oCAAqC,SAAQ,yBAAyB;gBACrE,OAAO,EAAE,MAAM;CAI5B;AAUD,qBAAa,+BAAgC,YAAW,oBAAoB;IAS9D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAR1C,IAAI,EAAE,gBAAgB,CAAyC;IAI/D,6BAA6B,SAAqC;IAElE,OAAO,CAAC,gBAAgB,CAAsB;gBAEjB,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM;IAInF,WAAW,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,cAAc;IAmBjE,OAAO,CAAC,0BAA0B,CAoBhC;CACH"}
\ No newline at end of file

Modified: package/CHANGELOG.md

Index: package/CHANGELOG.md
===================================================================
--- package/CHANGELOG.md
+++ package/CHANGELOG.md
@@ -1,6 +1,12 @@
 # @forge/manifest
 
+## 10.1.0-next.8
+
+### Minor Changes
+
+- 46daa27: Added support for default environment variable declaration in the manifest
+
 ## 10.0.1-next.7
 
 ### Patch Changes

Modified: package/out/schema/manifest.d.ts

Large diffs are not rendered by default.