npm package diff
Package: @forge/manifest
Versions: 7.7.0-next.5 - 7.7.0-next.6
Added:package/out/interpolator/environment-variable-interpolator.js
Added:package/out/interpolator/manifest-interpolator-manager.js
Added:package/out/interpolator/manifest-interpolator.js
Added:package/out/utils/manifest-parser-builder.js
Added:package/out/interpolator/string-resource-interpolator.js
Added:package/out/interpolator/environment-variable-interpolator.d.ts.map
Added:package/out/interpolator/manifest-interpolator-manager.d.ts.map
Added:package/out/interpolator/manifest-interpolator.d.ts.map
Added:package/out/utils/manifest-parser-builder.d.ts.map
Added:package/out/interpolator/string-resource-interpolator.d.ts.map
Added:package/out/interpolator/environment-variable-interpolator.d.ts
Added:package/out/interpolator/manifest-interpolator-manager.d.ts
Added:package/out/interpolator/manifest-interpolator.d.ts
Added:package/out/utils/manifest-parser-builder.d.ts
Added:package/out/interpolator/string-resource-interpolator.d.ts
Modified:package/out/text/errors.js
Index: package/out/text/errors.js
===================================================================
--- package/out/text/errors.js
+++ package/out/text/errors.js
@@ -21,9 +21,13 @@
additionalProperties: (additionalProperty) => `should NOT have additional property '${additionalProperty}'`,
notAllowed: (props) => props
? `does not support the following Forge properties - ${props.map((v) => "'" + v + "'").join(', ')}`
: 'provided properties do not match schema. Learn more about modules at https://go.atlassian.com/forge-modules',
- missingEnvironmentVariable: (variable) => `could not find environment variable '${variable}'`
+ missingEnvironmentVariable: (variable) => `could not find environment variable '${variable}'`,
+ errorReadingResourceFile: (variable, errorMessage) => `error while reading resource file: '${variable}'. Error: ${errorMessage}`,
+ resourceNotFound: (variable) => `could not find resource: '${variable}'`,
+ resourcePathNotDefined: (variable) => `resource path not defined for resource: '${variable}'`,
+ resourceFileNotSupported: (variable) => `resource file type not supported: '${variable}'`
},
permissions: {
invalidPermission: (element, value) => `Invalid '${element}' permission in the manifest.yml file - '${value}'. Learn more about permissions at: https://go.atlassian.com/forge-permissions.`,
missingPermissionFromScope: (scope, event) => `Trigger event: '${event}' requires '${scope}' scope`,
Modified:package/out/utils/index.js
Index: package/out/utils/index.js
===================================================================
--- package/out/utils/index.js
+++ package/out/utils/index.js
@@ -4,7 +4,7 @@
tslib_1.__exportStar(require("./get-all-modules"), exports);
tslib_1.__exportStar(require("./line-finder"), exports);
tslib_1.__exportStar(require("./module-key-cleaner"), exports);
tslib_1.__exportStar(require("./module-references"), exports);
-tslib_1.__exportStar(require("./manifest-parser"), exports);
+tslib_1.__exportStar(require("./manifest-parser-builder"), exports);
tslib_1.__exportStar(require("./module-i18n-helper"), exports);
tslib_1.__exportStar(require("./translation-value-getter"), exports);
Modified:package/out/utils/manifest-parser.js
Index: package/out/utils/manifest-parser.js
===================================================================
--- package/out/utils/manifest-parser.js
+++ package/out/utils/manifest-parser.js
@@ -1,11 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ManifestParser = exports.ManifestParserError = void 0;
-const tslib_1 = require("tslib");
const yaml_1 = require("yaml");
-const errors_1 = require("../text/errors");
-const Sentry = tslib_1.__importStar(require("@sentry/node"));
+const manifest_interpolator_1 = require("../interpolator/manifest-interpolator");
const yamlConfigOptions = { indent: 2, skipInvalid: true };
class ManifestParserError extends Error {
constructor(message) {
super(message);
@@ -16,37 +14,23 @@
};
}
}
exports.ManifestParserError = ManifestParserError;
-const POSSIBLE_ENVIRONMENT_VARIABLE = /\$\{([a-zA-Z_][a-zA-Z0-9_]*)\}/g;
class ManifestParser {
- envVarsRecord;
- envVarsToReplace;
- constructor(envVarsRecord = {}) {
- this.envVarsRecord = envVarsRecord;
- this.envVarsToReplace = [];
+ manifestInterpolator;
+ constructor(manifestInterpolator) {
+ this.manifestInterpolator = manifestInterpolator;
}
parseManifest(manifest) {
- const rawManifest = (0, yaml_1.parse)(manifest);
- this.envVarsToReplace = rawManifest.environment?.variables ?? [];
- return (0, yaml_1.parse)(manifest, this.environmentVariableReviver);
+ try {
+ return this.manifestInterpolator.interpolate(manifest);
+ }
+ catch (error) {
+ if (error instanceof manifest_interpolator_1.ManifestInterpolatorError) {
+ throw new ManifestParserError(error.message);
+ }
+ throw error;
+ }
}
parseManifestAsString = (manifest) => (0, yaml_1.stringify)(this.parseManifest(manifest), yamlConfigOptions);
- environmentVariableReviver = (_, value) => {
- if (!(typeof value == 'string')) {
- return value;
- }
- value = value.replace(POSSIBLE_ENVIRONMENT_VARIABLE, (original, envVarName) => {
- if (!this.envVarsToReplace.includes(envVarName)) {
- return original;
- }
- const envVar = this.envVarsRecord[envVarName];
- if (envVar === undefined) {
- throw new ManifestParserError(errors_1.errors.schema.missingEnvironmentVariable(envVarName));
- }
- Sentry.captureMessage('replaced environment variable');
- return envVar;
- });
- return value;
- };
}
exports.ManifestParser = ManifestParser;
Modified:package/out/validators/yaml-validator.js
Index: package/out/validators/yaml-validator.js
===================================================================
--- package/out/validators/yaml-validator.js
+++ package/out/validators/yaml-validator.js
@@ -4,14 +4,10 @@
const tslib_1 = require("tslib");
const yaml_1 = require("yaml");
const fs_1 = tslib_1.__importDefault(require("fs"));
const text_1 = require("../text");
-const __1 = require("..");
+const utils_1 = require("../utils");
class YamlValidator {
- manifestParser;
- constructor() {
- this.manifestParser = new __1.ManifestParser(process.env);
- }
async validate(manifest) {
if (!manifest || !manifest.filePath) {
return {
success: false,
@@ -19,9 +15,9 @@
};
}
try {
const content = fs_1.default.readFileSync(manifest.filePath, 'utf8');
- const manifestContent = this.manifestParser.parseManifest(content);
+ const manifestContent = new utils_1.ManifestParserBuilder().withInterpolators().build().parseManifest(content);
return {
success: true,
manifestObject: {
filePath: manifest.filePath,
Modified:package/package.json
Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
{
"name": "@forge/manifest",
- "version": "7.7.0-next.5",
+ "version": "7.7.0-next.6",
"description": "Definitions and validations of the Forge manifest",
"main": "out/index.js",
"scripts": {
"build": "yarn run compile",
@@ -29,7 +29,8 @@
"ajv-formats": "2.1.1",
"cheerio": "^0.22.0",
"glob": "^10.3.10",
"lodash": "^4.17.21",
+ "mime-types": "^2.1.35",
"yaml": "^2.3.4"
}
}
Modified:package/out/text/errors.d.ts.map
Index: package/out/text/errors.d.ts.map
===================================================================
--- package/out/text/errors.d.ts.map
+++ package/out/text/errors.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
Modified:package/out/utils/index.d.ts.map
Index: package/out/utils/index.d.ts.map
===================================================================
--- package/out/utils/index.d.ts.map
+++ package/out/utils/index.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC"}
\ No newline at end of file
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC"}
\ No newline at end of file
Modified:package/out/utils/manifest-parser.d.ts.map
Index: package/out/utils/manifest-parser.d.ts.map
===================================================================
--- package/out/utils/manifest-parser.d.ts.map
+++ package/out/utils/manifest-parser.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"manifest-parser.d.ts","sourceRoot":"","sources":["../../src/utils/manifest-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKpD,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;IAMpB,aAAa;;;CAKrB;AAMD,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,OAAO,CAAC,gBAAgB,CAAW;gBAEN,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM;IAI5E,aAAa,CAAC,QAAQ,EAAE,MAAM;IAMrC,qBAAqB,aAAc,MAAM,YAAgE;IAEzG,OAAO,CAAC,0BAA0B,CAkBhC;CACH"}
\ No newline at end of file
+{"version":3,"file":"manifest-parser.d.ts","sourceRoot":"","sources":["../../src/utils/manifest-parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAK5F,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;IAMpB,aAAa;;;CAKrB;AAKD,qBAAa,cAAc;IACb,OAAO,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,2BAA2B;IAQrE,aAAa,CAAC,QAAQ,EAAE,MAAM;IAgB9B,qBAAqB,aAAc,MAAM,YAAgE;CAC1G"}
\ No newline at end of file
Modified:package/out/validators/yaml-validator.d.ts.map
Index: package/out/validators/yaml-validator.d.ts.map
===================================================================
--- package/out/validators/yaml-validator.d.ts.map
+++ package/out/validators/yaml-validator.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"yaml-validator.d.ts","sourceRoot":"","sources":["../../src/validators/yaml-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;IAC3F,OAAO,CAAC,cAAc,CAAiB;;IAIjC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;CAiD9F"}
\ No newline at end of file
+{"version":3,"file":"yaml-validator.d.ts","sourceRoot":"","sources":["../../src/validators/yaml-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;IACrF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;CAiD9F"}
\ 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
+## 7.7.0-next.6
+
+### Minor Changes
+
+- be67acb: Interpolate string resources in modules
+
## 7.7.0-next.5
### Patch Changes
Modified:package/out/text/errors.d.ts
Index: package/out/text/errors.d.ts
===================================================================
--- package/out/text/errors.d.ts
+++ package/out/text/errors.d.ts
@@ -9,8 +9,12 @@
deprecatedValue: (section: string, field: string, additionalInfo?: string) => string;
additionalProperties: (additionalProperty: string) => string;
notAllowed: (props: string[] | undefined) => string;
missingEnvironmentVariable: (variable: string) => string;
+ errorReadingResourceFile: (variable: string, errorMessage: string) => string;
+ resourceNotFound: (variable: string) => string;
+ resourcePathNotDefined: (variable: string) => string;
+ resourceFileNotSupported: (variable: string) => string;
};
permissions: {
invalidPermission: (element: string, value: string) => string;
missingPermissionFromScope: (scope: string, event: string) => string;
Modified:package/out/utils/index.d.ts
Index: package/out/utils/index.d.ts
===================================================================
--- package/out/utils/index.d.ts
+++ package/out/utils/index.d.ts
@@ -1,8 +1,9 @@
export * from './get-all-modules';
export * from './line-finder';
export * from './module-key-cleaner';
export * from './module-references';
-export * from './manifest-parser';
+export * from './manifest-parser-builder';
+export type { ManifestParser } from './manifest-parser';
export * from './module-i18n-helper';
export * from './translation-value-getter';
//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
Modified:package/out/utils/manifest-parser.d.ts
Index: package/out/utils/manifest-parser.d.ts
===================================================================
--- package/out/utils/manifest-parser.d.ts
+++ package/out/utils/manifest-parser.d.ts
@@ -1,16 +1,14 @@
-import { ManifestSchema } from '../schema/manifest';
+import { ManifestInterpolatorManager } from '../interpolator/manifest-interpolator-manager';
export declare class ManifestParserError extends Error {
constructor(message: string);
getAttributes(): {
isUserError: boolean;
};
}
export declare class ManifestParser {
- private readonly envVarsRecord;
- private envVarsToReplace;
- constructor(envVarsRecord?: Record<string, string | undefined>);
- parseManifest(manifest: string): ManifestSchema;
+ private manifestInterpolator;
+ constructor(manifestInterpolator: ManifestInterpolatorManager);
+ parseManifest(manifest: string): import("../index").ManifestSchema;
parseManifestAsString: (manifest: string) => string;
- private environmentVariableReviver;
}
//# sourceMappingURL=manifest-parser.d.ts.map
\ No newline at end of file
Modified:package/out/validators/yaml-validator.d.ts
Index: package/out/validators/yaml-validator.d.ts
===================================================================
--- package/out/validators/yaml-validator.d.ts
+++ package/out/validators/yaml-validator.d.ts
@@ -1,8 +1,6 @@
import { ManifestObject, ManifestValidationResult } from '../types';
import { ValidatorInterface } from './validator-interface';
export declare class YamlValidator<T> implements ValidatorInterface<ManifestObject<T> | undefined, T> {
- private manifestParser;
- constructor();
validate(manifest: ManifestObject<T> | undefined): Promise<ManifestValidationResult<T>>;
}
//# sourceMappingURL=yaml-validator.d.ts.map
\ No newline at end of file