@aws-amplify/backend-output-storage 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
2
|
import { Stack } from 'aws-cdk-lib';
|
|
4
3
|
import * as _os from 'os';
|
|
5
|
-
import
|
|
4
|
+
import { PackageJsonReader } from '@aws-amplify/platform-core';
|
|
6
5
|
/**
|
|
7
6
|
* Stores BI metrics information in stack descriptions
|
|
8
7
|
*/
|
|
9
8
|
export declare class AttributionMetadataStorage {
|
|
10
|
-
private readonly fs;
|
|
11
9
|
private readonly os;
|
|
10
|
+
private readonly packageJsonReader;
|
|
12
11
|
/**
|
|
13
12
|
* Constructor with props for injecting test mocks
|
|
14
13
|
*/
|
|
15
|
-
constructor(
|
|
14
|
+
constructor(os?: typeof _os, packageJsonReader?: PackageJsonReader);
|
|
16
15
|
/**
|
|
17
16
|
* Stores an attribution metadata string in the stack description of the provided stack
|
|
18
17
|
* Does nothing if the stack already has a non-empty description
|
|
19
18
|
*/
|
|
20
19
|
storeAttributionMetadata: (stack: Stack, stackType: string, libraryPackageJsonAbsolutePath: string, additionalMetadata?: Record<string, string>) => void;
|
|
21
20
|
private getAttributionMetadata;
|
|
22
|
-
private getLibraryVersion;
|
|
23
21
|
private getDeploymentEngineType;
|
|
24
22
|
private getPlatform;
|
|
25
23
|
}
|
|
@@ -26,19 +26,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.AttributionMetadataStorage = void 0;
|
|
27
27
|
const _os = __importStar(require("os"));
|
|
28
28
|
const platform_core_1 = require("@aws-amplify/platform-core");
|
|
29
|
-
const _fs = __importStar(require("fs"));
|
|
30
29
|
/**
|
|
31
30
|
* Stores BI metrics information in stack descriptions
|
|
32
31
|
*/
|
|
33
32
|
class AttributionMetadataStorage {
|
|
34
|
-
fs;
|
|
35
33
|
os;
|
|
34
|
+
packageJsonReader;
|
|
36
35
|
/**
|
|
37
36
|
* Constructor with props for injecting test mocks
|
|
38
37
|
*/
|
|
39
|
-
constructor(
|
|
40
|
-
this.fs = fs;
|
|
38
|
+
constructor(os = _os, packageJsonReader = new platform_core_1.PackageJsonReader()) {
|
|
41
39
|
this.os = os;
|
|
40
|
+
this.packageJsonReader = packageJsonReader;
|
|
42
41
|
}
|
|
43
42
|
/**
|
|
44
43
|
* Stores an attribution metadata string in the stack description of the provided stack
|
|
@@ -55,23 +54,10 @@ class AttributionMetadataStorage {
|
|
|
55
54
|
getAttributionMetadata = (stack, stackType, libraryPackageJsonAbsolutePath, additionalMetadata) => ({
|
|
56
55
|
createdOn: this.getPlatform(),
|
|
57
56
|
createdBy: this.getDeploymentEngineType(stack),
|
|
58
|
-
createdWith: this.
|
|
57
|
+
createdWith: this.packageJsonReader.read(libraryPackageJsonAbsolutePath).version ?? '',
|
|
59
58
|
stackType: stackType,
|
|
60
59
|
metadata: additionalMetadata,
|
|
61
60
|
});
|
|
62
|
-
getLibraryVersion = (absolutePackageJsonPath) => {
|
|
63
|
-
if (!this.fs.existsSync(absolutePackageJsonPath)) {
|
|
64
|
-
throw new Error(`Could not find ${absolutePackageJsonPath} to load library version from`);
|
|
65
|
-
}
|
|
66
|
-
const packageJsonContents = JSON.parse(
|
|
67
|
-
// we have to use sync fs methods here because this is part of cdk synth
|
|
68
|
-
this.fs.readFileSync(absolutePackageJsonPath, 'utf-8'));
|
|
69
|
-
const libraryVersion = packageJsonContents.version;
|
|
70
|
-
if (typeof libraryVersion !== 'string') {
|
|
71
|
-
throw new Error(`Could not parse library version from ${absolutePackageJsonPath}`);
|
|
72
|
-
}
|
|
73
|
-
return libraryVersion;
|
|
74
|
-
};
|
|
75
61
|
getDeploymentEngineType = (stack) => {
|
|
76
62
|
const deploymentType = stack.node.tryGetContext(platform_core_1.CDKContextKey.DEPLOYMENT_TYPE);
|
|
77
63
|
if (deploymentType === undefined) {
|
|
@@ -101,4 +87,4 @@ class AttributionMetadataStorage {
|
|
|
101
87
|
};
|
|
102
88
|
}
|
|
103
89
|
exports.AttributionMetadataStorage = AttributionMetadataStorage;
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVfYXR0cmlidXRpb25fbWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3RvcmVfYXR0cmlidXRpb25fbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx3Q0FBMEI7QUFDMUIsOERBQThFO0FBRzlFOztHQUVHO0FBQ0gsTUFBYSwwQkFBMEI7SUFLbEI7SUFDQTtJQUxuQjs7T0FFRztJQUNILFlBQ21CLEtBQWlCLEdBQUcsRUFDcEIsb0JBQW9CLElBQUksaUNBQWlCLEVBQUU7UUFEM0MsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDcEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtJQUMzRCxDQUFDO0lBRUo7OztPQUdHO0lBQ0gsd0JBQXdCLEdBQUcsQ0FDekIsS0FBWSxFQUNaLFNBQWlCLEVBQ2pCLDhCQUFzQyxFQUN0QyxxQkFBNkMsRUFBRSxFQUN6QyxFQUFFO1FBQ1IsSUFDRSxPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVyxLQUFLLFFBQVE7WUFDckQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDNUM7WUFDQSwwQ0FBMEM7WUFDMUMsT0FBTztTQUNSO1FBQ0QsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDaEQsSUFBSSxDQUFDLHNCQUFzQixDQUN6QixLQUFLLEVBQ0wsU0FBUyxFQUNULDhCQUE4QixFQUM5QixrQkFBa0IsQ0FDbkIsQ0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRU0sc0JBQXNCLEdBQUcsQ0FDL0IsS0FBWSxFQUNaLFNBQWlCLEVBQ2pCLDhCQUFzQyxFQUN0QyxrQkFBMEMsRUFDckIsRUFBRSxDQUFDLENBQUM7UUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7UUFDOUMsV0FBVyxFQUNULElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRTtRQUMzRSxTQUFTLEVBQUUsU0FBUztRQUNwQixRQUFRLEVBQUUsa0JBQWtCO0tBQzdCLENBQUMsQ0FBQztJQUVLLHVCQUF1QixHQUFHLENBQUMsS0FBWSxFQUF3QixFQUFFO1FBQ3ZFLE1BQU0sY0FBYyxHQUErQixLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FDekUsNkJBQWEsQ0FBQyxlQUFlLENBQzlCLENBQUM7UUFFRixJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFDaEMseUdBQXlHO1lBQ3pHLE9BQU8sWUFBWSxDQUFDO1NBQ3JCO1FBRUQsUUFBUSxjQUFjLEVBQUU7WUFDdEIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sdUJBQXVCLENBQUM7WUFDakMsS0FBSyxTQUFTO2dCQUNaLE9BQU8sZ0JBQWdCLENBQUM7WUFDMUI7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FDYixXQUFXLDZCQUFhLENBQUMsZUFBZSx1QkFDdEMsY0FDRixHQUFHLENBQ0osQ0FBQztTQUNMO0lBQ0gsQ0FBQyxDQUFDO0lBRU0sV0FBVyxHQUFHLEdBQWEsRUFBRTtRQUNuQyxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDMUIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sS0FBSyxDQUFDO1lBQ2YsS0FBSyxPQUFPO2dCQUNWLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssT0FBTztnQkFDVixPQUFPLE9BQU8sQ0FBQztZQUNqQjtnQkFDRSxPQUFPLE9BQU8sQ0FBQztTQUNsQjtJQUNILENBQUMsQ0FBQztDQUNIO0FBdEZELGdFQXNGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgX29zIGZyb20gJ29zJztcbmltcG9ydCB7IENES0NvbnRleHRLZXksIFBhY2thZ2VKc29uUmVhZGVyIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3BsYXRmb3JtLWNvcmUnO1xuaW1wb3J0IHsgRGVwbG95bWVudFR5cGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvcGx1Z2luLXR5cGVzJztcblxuLyoqXG4gKiBTdG9yZXMgQkkgbWV0cmljcyBpbmZvcm1hdGlvbiBpbiBzdGFjayBkZXNjcmlwdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEF0dHJpYnV0aW9uTWV0YWRhdGFTdG9yYWdlIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yIHdpdGggcHJvcHMgZm9yIGluamVjdGluZyB0ZXN0IG1vY2tzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9zOiB0eXBlb2YgX29zID0gX29zLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFja2FnZUpzb25SZWFkZXIgPSBuZXcgUGFja2FnZUpzb25SZWFkZXIoKVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFN0b3JlcyBhbiBhdHRyaWJ1dGlvbiBtZXRhZGF0YSBzdHJpbmcgaW4gdGhlIHN0YWNrIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm92aWRlZCBzdGFja1xuICAgKiBEb2VzIG5vdGhpbmcgaWYgdGhlIHN0YWNrIGFscmVhZHkgaGFzIGEgbm9uLWVtcHR5IGRlc2NyaXB0aW9uXG4gICAqL1xuICBzdG9yZUF0dHJpYnV0aW9uTWV0YWRhdGEgPSAoXG4gICAgc3RhY2s6IFN0YWNrLFxuICAgIHN0YWNrVHlwZTogc3RyaW5nLFxuICAgIGxpYnJhcnlQYWNrYWdlSnNvbkFic29sdXRlUGF0aDogc3RyaW5nLFxuICAgIGFkZGl0aW9uYWxNZXRhZGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9XG4gICk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiBzdGFjay50ZW1wbGF0ZU9wdGlvbnMuZGVzY3JpcHRpb24gPT09ICdzdHJpbmcnICYmXG4gICAgICBzdGFjay50ZW1wbGF0ZU9wdGlvbnMuZGVzY3JpcHRpb24ubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgLy8gZG9uJ3Qgb3ZlcndyaXRlIGFuIGV4aXN0aW5nIGRlc2NyaXB0aW9uXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN0YWNrLnRlbXBsYXRlT3B0aW9ucy5kZXNjcmlwdGlvbiA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgdGhpcy5nZXRBdHRyaWJ1dGlvbk1ldGFkYXRhKFxuICAgICAgICBzdGFjayxcbiAgICAgICAgc3RhY2tUeXBlLFxuICAgICAgICBsaWJyYXJ5UGFja2FnZUpzb25BYnNvbHV0ZVBhdGgsXG4gICAgICAgIGFkZGl0aW9uYWxNZXRhZGF0YVxuICAgICAgKVxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBnZXRBdHRyaWJ1dGlvbk1ldGFkYXRhID0gKFxuICAgIHN0YWNrOiBTdGFjayxcbiAgICBzdGFja1R5cGU6IHN0cmluZyxcbiAgICBsaWJyYXJ5UGFja2FnZUpzb25BYnNvbHV0ZVBhdGg6IHN0cmluZyxcbiAgICBhZGRpdGlvbmFsTWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgKTogQXR0cmlidXRpb25NZXRhZGF0YSA9PiAoe1xuICAgIGNyZWF0ZWRPbjogdGhpcy5nZXRQbGF0Zm9ybSgpLFxuICAgIGNyZWF0ZWRCeTogdGhpcy5nZXREZXBsb3ltZW50RW5naW5lVHlwZShzdGFjayksXG4gICAgY3JlYXRlZFdpdGg6XG4gICAgICB0aGlzLnBhY2thZ2VKc29uUmVhZGVyLnJlYWQobGlicmFyeVBhY2thZ2VKc29uQWJzb2x1dGVQYXRoKS52ZXJzaW9uID8/ICcnLCAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4sIHJlZ2FyZGxlc3Mgd2Ugc2hvdWxkbid0IHRocm93IGZvciBhdHRyaWJ1dGlvblxuICAgIHN0YWNrVHlwZTogc3RhY2tUeXBlLFxuICAgIG1ldGFkYXRhOiBhZGRpdGlvbmFsTWV0YWRhdGEsXG4gIH0pO1xuXG4gIHByaXZhdGUgZ2V0RGVwbG95bWVudEVuZ2luZVR5cGUgPSAoc3RhY2s6IFN0YWNrKTogRGVwbG95bWVudEVuZ2luZVR5cGUgPT4ge1xuICAgIGNvbnN0IGRlcGxveW1lbnRUeXBlOiBEZXBsb3ltZW50VHlwZSB8IHVuZGVmaW5lZCA9IHN0YWNrLm5vZGUudHJ5R2V0Q29udGV4dChcbiAgICAgIENES0NvbnRleHRLZXkuREVQTE9ZTUVOVF9UWVBFXG4gICAgKTtcblxuICAgIGlmIChkZXBsb3ltZW50VHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBpZiBubyBkZXBsb3ltZW50IHR5cGUgY29udGV4dCB2YWx1ZSBpcyBzZXQsIGFzc3VtZSB0aGUgY29uc3RydWN0IGlzIGJlaW5nIHVzZWQgaW4gYSBuYXRpdmUgQ0RLIHByb2plY3RcbiAgICAgIHJldHVybiAnQW1wbGlmeUNESyc7XG4gICAgfVxuXG4gICAgc3dpdGNoIChkZXBsb3ltZW50VHlwZSkge1xuICAgICAgY2FzZSAnYnJhbmNoJzpcbiAgICAgICAgcmV0dXJuICdBbXBsaWZ5UGlwZWxpbmVEZXBsb3knO1xuICAgICAgY2FzZSAnc2FuZGJveCc6XG4gICAgICAgIHJldHVybiAnQW1wbGlmeVNhbmRib3gnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBVbmtub3duICR7Q0RLQ29udGV4dEtleS5ERVBMT1lNRU5UX1RZUEV9IENESyBjb250ZXh0IHZhbHVlIFwiJHtcbiAgICAgICAgICAgIGRlcGxveW1lbnRUeXBlIGFzIHN0cmluZ1xuICAgICAgICAgIH1cImBcbiAgICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBnZXRQbGF0Zm9ybSA9ICgpOiBQbGF0Zm9ybSA9PiB7XG4gICAgc3dpdGNoICh0aGlzLm9zLnBsYXRmb3JtKCkpIHtcbiAgICAgIGNhc2UgJ2Rhcndpbic6XG4gICAgICAgIHJldHVybiAnTWFjJztcbiAgICAgIGNhc2UgJ3dpbjMyJzpcbiAgICAgICAgcmV0dXJuICdXaW5kb3dzJztcbiAgICAgIGNhc2UgJ2xpbnV4JzpcbiAgICAgICAgcmV0dXJuICdMaW51eCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ090aGVyJztcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIEF0dHJpYnV0aW9uTWV0YWRhdGEgPSB7XG4gIC8qKlxuICAgKiBUaGUgT1MgdGhhdCBzeW50aGVzaXplZCB0aGlzIHN0YWNrXG4gICAqL1xuICBjcmVhdGVkT246IFBsYXRmb3JtO1xuICAvKipcbiAgICogVGhlIHN5bnRoZXNpcyBlbmdpbmUgdGhhdCBnZW5lcmF0ZWQgdGhpcyBzdGFja1xuICAgKi9cbiAgY3JlYXRlZEJ5OiBEZXBsb3ltZW50RW5naW5lVHlwZTtcbiAgLyoqXG4gICAqIFRoZSBsaWJyYXJ5IHZlcnNpb24gdGhhdCBjcmVhdGVkIHRoaXMgbWV0YWRhdGFcbiAgICovXG4gIGNyZWF0ZWRXaXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTdHJpbmcgdGhhdCBpZGVudGlmaWVzIHdoYXQgdHlwZSBvZiBzdGFjayB0aGlzIG1ldGFkYXRhIGlzIHNldCBvblxuICAgKi9cbiAgc3RhY2tUeXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZpZWxkIHdoZXJlIGNvbnN0cnVjdHMgY2FuIHB1dCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvciBCSSB0cmFja2luZ1xuICAgKi9cbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG5leHBvcnQgdHlwZSBEZXBsb3ltZW50RW5naW5lVHlwZSA9XG4gIHwgJ0FtcGxpZnlQaXBlbGluZURlcGxveSdcbiAgfCAnQW1wbGlmeVNhbmRib3gnXG4gIHwgJ0FtcGxpZnlDREsnO1xuXG5leHBvcnQgdHlwZSBQbGF0Zm9ybSA9ICdNYWMnIHwgJ1dpbmRvd3MnIHwgJ0xpbnV4JyB8ICdPdGhlcic7XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/backend-output-storage",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"license": "Apache-2.0",
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@aws-amplify/backend-output-schemas": "^0.4.0",
|
|
23
|
-
"@aws-amplify/platform-core": "^0.2.
|
|
23
|
+
"@aws-amplify/platform-core": "^0.2.1"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"aws-cdk-lib": "^2.103.0"
|