@aws-amplify/graphql-api-construct 1.4.0 → 1.4.1

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.
Files changed (95) hide show
  1. package/.jsii +20 -20
  2. package/CHANGELOG.md +6 -0
  3. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  4. package/lib/amplify-graphql-api.js +1 -1
  5. package/lib/amplify-graphql-definition.js +1 -1
  6. package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.d.ts +40 -5
  7. package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.d.ts +40 -5
  8. package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.js +10 -2
  9. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +56 -7
  10. package/node_modules/@aws-amplify/backend-output-schemas/package.json +2 -2
  11. package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.js +3 -3
  12. package/node_modules/@aws-amplify/backend-output-storage/package.json +3 -3
  13. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +4 -0
  14. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +9 -9
  15. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +4 -0
  16. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +6 -6
  17. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +4 -0
  18. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +5 -5
  19. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
  20. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +5 -5
  21. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +4 -0
  22. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +6 -6
  23. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -0
  24. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  25. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +9 -9
  26. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +6 -0
  27. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  28. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  29. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  30. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +1 -1
  31. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
  32. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +5 -5
  33. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
  34. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  35. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +5 -5
  36. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +4 -0
  37. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +7 -7
  38. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -0
  39. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  40. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +6 -6
  41. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +4 -0
  42. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +6 -6
  43. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +4 -0
  44. package/node_modules/@aws-amplify/graphql-transformer/package.json +14 -14
  45. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +4 -0
  46. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +3 -3
  47. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +1 -2
  48. package/node_modules/@aws-amplify/platform-core/lib/backend_entry_point_locator.d.ts +14 -0
  49. package/node_modules/@aws-amplify/platform-core/lib/backend_entry_point_locator.js +33 -0
  50. package/node_modules/@aws-amplify/platform-core/lib/backend_identifier_conversions.d.ts +22 -0
  51. package/node_modules/@aws-amplify/platform-core/lib/backend_identifier_conversions.js +86 -0
  52. package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +5 -2
  53. package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +6 -3
  54. package/node_modules/@aws-amplify/platform-core/lib/extract_file_path_from_stack_trace_line.d.ts +13 -0
  55. package/node_modules/@aws-amplify/platform-core/lib/extract_file_path_from_stack_trace_line.js +61 -0
  56. package/node_modules/@aws-amplify/platform-core/lib/index.d.ts +3 -2
  57. package/node_modules/@aws-amplify/platform-core/lib/index.js +4 -3
  58. package/node_modules/@aws-amplify/platform-core/package.json +2 -2
  59. package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.d.ts +11 -3
  60. package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.js +1 -1
  61. package/node_modules/@aws-amplify/plugin-types/lib/backend_identifier.d.ts +56 -0
  62. package/node_modules/@aws-amplify/plugin-types/lib/backend_identifier.js +3 -0
  63. package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.d.ts +2 -2
  64. package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.js +1 -1
  65. package/node_modules/@aws-amplify/plugin-types/lib/deployment_type.d.ts +8 -0
  66. package/node_modules/@aws-amplify/plugin-types/lib/deployment_type.js +3 -0
  67. package/node_modules/@aws-amplify/plugin-types/lib/index.d.ts +2 -2
  68. package/node_modules/@aws-amplify/plugin-types/lib/index.js +3 -3
  69. package/node_modules/@aws-amplify/plugin-types/package.json +1 -1
  70. package/node_modules/graphql-transformer-common/API.md +1 -0
  71. package/node_modules/graphql-transformer-common/CHANGELOG.md +6 -0
  72. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts +1 -0
  73. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts.map +1 -1
  74. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js +1 -0
  75. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js.map +1 -1
  76. package/node_modules/graphql-transformer-common/package.json +2 -2
  77. package/package.json +20 -20
  78. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +0 -5
  79. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +0 -9
  80. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +0 -9
  81. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +0 -13
  82. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.d.ts +0 -4
  83. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.js +0 -22
  84. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +0 -53
  85. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +0 -74
  86. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/package.json +0 -23
  87. package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +0 -201
  88. package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +0 -5
  89. package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +0 -9
  90. package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +0 -53
  91. package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +0 -74
  92. package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.d.ts +0 -9
  93. package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.js +0 -3
  94. package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.d.ts +0 -25
  95. package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.js +0 -3
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.3.1](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-transformer@1.3.0...@aws-amplify/graphql-transformer@1.3.1) (2023-11-16)
7
+
8
+ **Note:** Version bump only for package @aws-amplify/graphql-transformer
9
+
6
10
  # [1.3.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-transformer@1.2.6...@aws-amplify/graphql-transformer@1.3.0) (2023-11-15)
7
11
 
8
12
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-transformer",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Amplify GraphQL Transformer Root Package",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,18 +28,18 @@
28
28
  "access": "public"
29
29
  },
30
30
  "dependencies": {
31
- "@aws-amplify/graphql-auth-transformer": "3.2.0",
32
- "@aws-amplify/graphql-default-value-transformer": "2.1.9",
33
- "@aws-amplify/graphql-function-transformer": "2.1.8",
34
- "@aws-amplify/graphql-http-transformer": "2.1.8",
35
- "@aws-amplify/graphql-index-transformer": "2.2.0",
36
- "@aws-amplify/graphql-maps-to-transformer": "3.3.0",
37
- "@aws-amplify/graphql-model-transformer": "2.3.0",
38
- "@aws-amplify/graphql-predictions-transformer": "2.1.8",
39
- "@aws-amplify/graphql-relational-transformer": "2.2.0",
40
- "@aws-amplify/graphql-searchable-transformer": "2.3.0",
41
- "@aws-amplify/graphql-sql-transformer": "0.1.0",
42
- "@aws-amplify/graphql-transformer-core": "2.3.0",
31
+ "@aws-amplify/graphql-auth-transformer": "3.2.1",
32
+ "@aws-amplify/graphql-default-value-transformer": "2.1.10",
33
+ "@aws-amplify/graphql-function-transformer": "2.1.9",
34
+ "@aws-amplify/graphql-http-transformer": "2.1.9",
35
+ "@aws-amplify/graphql-index-transformer": "2.2.1",
36
+ "@aws-amplify/graphql-maps-to-transformer": "3.3.1",
37
+ "@aws-amplify/graphql-model-transformer": "2.3.1",
38
+ "@aws-amplify/graphql-predictions-transformer": "2.1.9",
39
+ "@aws-amplify/graphql-relational-transformer": "2.2.1",
40
+ "@aws-amplify/graphql-searchable-transformer": "2.3.1",
41
+ "@aws-amplify/graphql-sql-transformer": "0.1.1",
42
+ "@aws-amplify/graphql-transformer-core": "2.3.1",
43
43
  "@aws-amplify/graphql-transformer-interfaces": "3.3.0"
44
44
  },
45
45
  "devDependencies": {
@@ -75,5 +75,5 @@
75
75
  }
76
76
  }
77
77
  },
78
- "gitHead": "857bf7833e84e2a88ea19f17b087c202e454bf80"
78
+ "gitHead": "317a141956493f0940bb506470259026edf3b7bc"
79
79
  }
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.3.1](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-transformer-core@2.3.0...@aws-amplify/graphql-transformer-core@2.3.1) (2023-11-16)
7
+
8
+ **Note:** Version bump only for package @aws-amplify/graphql-transformer-core
9
+
6
10
  # [2.3.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-transformer-core@2.2.4...@aws-amplify/graphql-transformer-core@2.3.0) (2023-11-15)
7
11
 
8
12
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-transformer-core",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "description": "A framework to transform from GraphQL SDL to AWS CloudFormation.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,7 +31,7 @@
31
31
  "@aws-amplify/graphql-transformer-interfaces": "3.3.0",
32
32
  "fs-extra": "^8.1.0",
33
33
  "graphql": "^15.5.0",
34
- "graphql-transformer-common": "4.26.0",
34
+ "graphql-transformer-common": "4.26.1",
35
35
  "hjson": "^3.2.2",
36
36
  "lodash": "^4.17.21",
37
37
  "md5": "^2.3.0",
@@ -73,5 +73,5 @@
73
73
  }
74
74
  }
75
75
  },
76
- "gitHead": "857bf7833e84e2a88ea19f17b087c202e454bf80"
76
+ "gitHead": "317a141956493f0940bb506470259026edf3b7bc"
77
77
  }
@@ -48,6 +48,5 @@
48
48
  "node"
49
49
  ],
50
50
  "collectCoverage": true
51
- },
52
- "gitHead": "857bf7833e84e2a88ea19f17b087c202e454bf80"
51
+ }
53
52
  }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Find the backend definition file in the customer app that represents a CDK app.
3
+ */
4
+ export declare class BackendLocator {
5
+ private readonly rootDir;
6
+ private relativePath;
7
+ private supportedFileExtensions;
8
+ /**
9
+ * Constructor for BackendLocator
10
+ */
11
+ constructor(rootDir?: string);
12
+ locate: () => string;
13
+ }
14
+ //# sourceMappingURL=backend_entry_point_locator.d.ts.map
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BackendLocator = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ /**
10
+ * Find the backend definition file in the customer app that represents a CDK app.
11
+ */
12
+ class BackendLocator {
13
+ rootDir;
14
+ relativePath = path_1.default.join('amplify', 'backend');
15
+ // Give preference to JS if that exists over TS in case customers have their own compilation process.
16
+ supportedFileExtensions = ['.js', '.mjs', '.cjs', '.ts'];
17
+ /**
18
+ * Constructor for BackendLocator
19
+ */
20
+ constructor(rootDir = process.cwd()) {
21
+ this.rootDir = rootDir;
22
+ }
23
+ locate = () => {
24
+ for (const fileExtension of this.supportedFileExtensions) {
25
+ if (fs_1.default.existsSync(path_1.default.resolve(this.rootDir, this.relativePath + fileExtension))) {
26
+ return this.relativePath + fileExtension;
27
+ }
28
+ }
29
+ throw new Error(`Amplify Backend not found in ${this.rootDir}. Amplify Backend must be defined in amplify/backend.(ts|js|cjs|mjs)`);
30
+ };
31
+ }
32
+ exports.BackendLocator = BackendLocator;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZF9lbnRyeV9wb2ludF9sb2NhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JhY2tlbmRfZW50cnlfcG9pbnRfbG9jYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBRXhCOztHQUVHO0FBQ0gsTUFBYSxjQUFjO0lBUUk7SUFQckIsWUFBWSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXZELHFHQUFxRztJQUM3Rix1QkFBdUIsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFOztPQUVHO0lBQ0gsWUFBNkIsVUFBa0IsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUEvQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtJQUFHLENBQUM7SUFFaEUsTUFBTSxHQUFHLEdBQUcsRUFBRTtRQUNaLEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ3hELElBQ0UsWUFBRSxDQUFDLFVBQVUsQ0FDWCxjQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FDOUQsRUFDRDtnQkFDQSxPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO2FBQzFDO1NBQ0Y7UUFFRCxNQUFNLElBQUksS0FBSyxDQUNiLGdDQUFnQyxJQUFJLENBQUMsT0FBTyxzRUFBc0UsQ0FDbkgsQ0FBQztJQUNKLENBQUMsQ0FBQztDQUNIO0FBekJELHdDQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuLyoqXG4gKiBGaW5kIHRoZSBiYWNrZW5kIGRlZmluaXRpb24gZmlsZSBpbiB0aGUgY3VzdG9tZXIgYXBwIHRoYXQgcmVwcmVzZW50cyBhIENESyBhcHAuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYWNrZW5kTG9jYXRvciB7XG4gIHByaXZhdGUgcmVsYXRpdmVQYXRoID0gcGF0aC5qb2luKCdhbXBsaWZ5JywgJ2JhY2tlbmQnKTtcblxuICAvLyBHaXZlIHByZWZlcmVuY2UgdG8gSlMgaWYgdGhhdCBleGlzdHMgb3ZlciBUUyBpbiBjYXNlIGN1c3RvbWVycyBoYXZlIHRoZWlyIG93biBjb21waWxhdGlvbiBwcm9jZXNzLlxuICBwcml2YXRlIHN1cHBvcnRlZEZpbGVFeHRlbnNpb25zID0gWycuanMnLCAnLm1qcycsICcuY2pzJywgJy50cyddO1xuICAvKipcbiAgICogQ29uc3RydWN0b3IgZm9yIEJhY2tlbmRMb2NhdG9yXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvb3REaXI6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCkpIHt9XG5cbiAgbG9jYXRlID0gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgZmlsZUV4dGVuc2lvbiBvZiB0aGlzLnN1cHBvcnRlZEZpbGVFeHRlbnNpb25zKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGZzLmV4aXN0c1N5bmMoXG4gICAgICAgICAgcGF0aC5yZXNvbHZlKHRoaXMucm9vdERpciwgdGhpcy5yZWxhdGl2ZVBhdGggKyBmaWxlRXh0ZW5zaW9uKVxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVsYXRpdmVQYXRoICsgZmlsZUV4dGVuc2lvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQW1wbGlmeSBCYWNrZW5kIG5vdCBmb3VuZCBpbiAke3RoaXMucm9vdERpcn0uIEFtcGxpZnkgQmFja2VuZCBtdXN0IGJlIGRlZmluZWQgaW4gYW1wbGlmeS9iYWNrZW5kLih0c3xqc3xjanN8bWpzKWBcbiAgICApO1xuICB9O1xufVxuIl19
@@ -0,0 +1,22 @@
1
+ import { BackendIdentifier } from '@aws-amplify/plugin-types';
2
+ /**
3
+ * Provides static methods for converting BackendIdentifier to/from a stack name string
4
+ */
5
+ export declare class BackendIdentifierConversions {
6
+ /**
7
+ * Convert a stack name to a BackendIdentifier
8
+ *
9
+ * If the stack name is ambiguous, undefined is returned
10
+ */
11
+ static fromStackName(stackName?: string): BackendIdentifier | undefined;
12
+ /**
13
+ * Convert a BackendIdentifier to a stack name.
14
+ *
15
+ * !!!DANGER!!!
16
+ * !!!DO NOT CHANGE THIS UNLESS YOU ARE 100% SURE YOU UNDERSTAND THE CONSEQUENCES!!!
17
+ *
18
+ * Changing this method will change how stack names are generated which could be a massive breaking change for existing Amplify stacks.
19
+ */
20
+ static toStackName(backendId: BackendIdentifier): string;
21
+ }
22
+ //# sourceMappingURL=backend_identifier_conversions.d.ts.map
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BackendIdentifierConversions = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const STACK_NAME_LENGTH_LIMIT = 128;
6
+ const AMPLIFY_PREFIX = 'amplify';
7
+ const HASH_LENGTH = 10;
8
+ const NUM_DASHES = 4;
9
+ /**
10
+ * Provides static methods for converting BackendIdentifier to/from a stack name string
11
+ */
12
+ class BackendIdentifierConversions {
13
+ /**
14
+ * Convert a stack name to a BackendIdentifier
15
+ *
16
+ * If the stack name is ambiguous, undefined is returned
17
+ */
18
+ static fromStackName(stackName) {
19
+ if (!stackName) {
20
+ return;
21
+ }
22
+ const parts = stackName.split('-');
23
+ if (parts.length !== 5) {
24
+ return;
25
+ }
26
+ const [prefix, namespace, instance, type, hash] = parts;
27
+ if (prefix !== AMPLIFY_PREFIX) {
28
+ return;
29
+ }
30
+ if (type !== 'sandbox' && type !== 'branch') {
31
+ return;
32
+ }
33
+ return {
34
+ namespace,
35
+ name: instance,
36
+ type: type,
37
+ hash,
38
+ };
39
+ }
40
+ /**
41
+ * Convert a BackendIdentifier to a stack name.
42
+ *
43
+ * !!!DANGER!!!
44
+ * !!!DO NOT CHANGE THIS UNLESS YOU ARE 100% SURE YOU UNDERSTAND THE CONSEQUENCES!!!
45
+ *
46
+ * Changing this method will change how stack names are generated which could be a massive breaking change for existing Amplify stacks.
47
+ */
48
+ static toStackName(backendId) {
49
+ const hash = getHash(backendId);
50
+ // only take the first 50 chars here to make sure there is room in the stack name for the namespace as well
51
+ const name = sanitizeChars(backendId.name).slice(0, 50);
52
+ const namespaceMaxLength = STACK_NAME_LENGTH_LIMIT -
53
+ AMPLIFY_PREFIX.length -
54
+ backendId.type.length -
55
+ name.length -
56
+ NUM_DASHES -
57
+ HASH_LENGTH;
58
+ const namespace = sanitizeChars(backendId.namespace).slice(0, namespaceMaxLength - 1);
59
+ return ['amplify', namespace, name, backendId.type, hash].join('-');
60
+ }
61
+ }
62
+ exports.BackendIdentifierConversions = BackendIdentifierConversions;
63
+ /**
64
+ * Gets a stable hash from the namespace and name in the backendId.
65
+ *
66
+ * If the backendId already includes a hash, this hash is returned as-is.
67
+ *
68
+ * !!!DANGER!!!
69
+ * !!!DO NOT CHANGE THIS UNLESS YOU ARE 100% SURE YOU UNDERSTAND THE CONSEQUENCES!!!
70
+ *
71
+ * Changing this hash algorithm will change how stack names are generated which would be a massive breaking change for existing Amplify stacks.
72
+ */
73
+ const getHash = (backendId) => backendId.hash ??
74
+ // md5 would be sufficient here because this hash does not need to be cryptographically secure, but this ensures that we don't get unnecessarily flagged by some security scanner
75
+ (0, crypto_1.createHash)('sha512')
76
+ .update(backendId.namespace)
77
+ .update(backendId.name)
78
+ .digest('hex')
79
+ .slice(0, HASH_LENGTH);
80
+ /**
81
+ * Remove all non-alphanumeric characters from the input string
82
+ */
83
+ const sanitizeChars = (str) => {
84
+ return str.replace(/[^A-Za-z0-9]/g, '');
85
+ };
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZF9pZGVudGlmaWVyX2NvbnZlcnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JhY2tlbmRfaWRlbnRpZmllcl9jb252ZXJzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtQ0FBb0M7QUFFcEMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUM7QUFDcEMsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBQ2pDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN2QixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFFckI7O0dBRUc7QUFDSCxNQUFhLDRCQUE0QjtJQUN2Qzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFrQjtRQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTztTQUNSO1FBQ0QsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUNELE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3hELElBQUksTUFBTSxLQUFLLGNBQWMsRUFBRTtZQUM3QixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMzQyxPQUFPO1NBQ1I7UUFFRCxPQUFPO1lBQ0wsU0FBUztZQUNULElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFLElBQTRCO1lBQ2xDLElBQUk7U0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQTRCO1FBQzdDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVoQywyR0FBMkc7UUFDM0csTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXhELE1BQU0sa0JBQWtCLEdBQ3RCLHVCQUF1QjtZQUN2QixjQUFjLENBQUMsTUFBTTtZQUNyQixTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDckIsSUFBSSxDQUFDLE1BQU07WUFDWCxVQUFVO1lBQ1YsV0FBVyxDQUFDO1FBRWQsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQ3hELENBQUMsRUFDRCxrQkFBa0IsR0FBRyxDQUFDLENBQ3ZCLENBQUM7UUFFRixPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBM0RELG9FQTJEQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxHQUFHLENBQUMsU0FBNEIsRUFBVSxFQUFFLENBQ3ZELFNBQVMsQ0FBQyxJQUFJO0lBQ2QsaUxBQWlMO0lBQ2pMLElBQUEsbUJBQVUsRUFBQyxRQUFRLENBQUM7U0FDakIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7U0FDM0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDdEIsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNiLEtBQUssQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFM0I7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQVcsRUFBVSxFQUFFO0lBQzVDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFja2VuZElkZW50aWZpZXIgfSBmcm9tICdAYXdzLWFtcGxpZnkvcGx1Z2luLXR5cGVzJztcbmltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tICdjcnlwdG8nO1xuXG5jb25zdCBTVEFDS19OQU1FX0xFTkdUSF9MSU1JVCA9IDEyODtcbmNvbnN0IEFNUExJRllfUFJFRklYID0gJ2FtcGxpZnknO1xuY29uc3QgSEFTSF9MRU5HVEggPSAxMDtcbmNvbnN0IE5VTV9EQVNIRVMgPSA0O1xuXG4vKipcbiAqIFByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBjb252ZXJ0aW5nIEJhY2tlbmRJZGVudGlmaWVyIHRvL2Zyb20gYSBzdGFjayBuYW1lIHN0cmluZ1xuICovXG5leHBvcnQgY2xhc3MgQmFja2VuZElkZW50aWZpZXJDb252ZXJzaW9ucyB7XG4gIC8qKlxuICAgKiBDb252ZXJ0IGEgc3RhY2sgbmFtZSB0byBhIEJhY2tlbmRJZGVudGlmaWVyXG4gICAqXG4gICAqIElmIHRoZSBzdGFjayBuYW1lIGlzIGFtYmlndW91cywgdW5kZWZpbmVkIGlzIHJldHVybmVkXG4gICAqL1xuICBzdGF0aWMgZnJvbVN0YWNrTmFtZShzdGFja05hbWU/OiBzdHJpbmcpOiBCYWNrZW5kSWRlbnRpZmllciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFzdGFja05hbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGFydHMgPSBzdGFja05hbWUuc3BsaXQoJy0nKTtcbiAgICBpZiAocGFydHMubGVuZ3RoICE9PSA1KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IFtwcmVmaXgsIG5hbWVzcGFjZSwgaW5zdGFuY2UsIHR5cGUsIGhhc2hdID0gcGFydHM7XG4gICAgaWYgKHByZWZpeCAhPT0gQU1QTElGWV9QUkVGSVgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHR5cGUgIT09ICdzYW5kYm94JyAmJiB0eXBlICE9PSAnYnJhbmNoJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2UsXG4gICAgICBuYW1lOiBpbnN0YW5jZSxcbiAgICAgIHR5cGU6IHR5cGUgYXMgJ3NhbmRib3gnIHwgJ2JyYW5jaCcsXG4gICAgICBoYXNoLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBhIEJhY2tlbmRJZGVudGlmaWVyIHRvIGEgc3RhY2sgbmFtZS5cbiAgICpcbiAgICogISEhREFOR0VSISEhXG4gICAqICEhIURPIE5PVCBDSEFOR0UgVEhJUyBVTkxFU1MgWU9VIEFSRSAxMDAlIFNVUkUgWU9VIFVOREVSU1RBTkQgVEhFIENPTlNFUVVFTkNFUyEhIVxuICAgKlxuICAgKiBDaGFuZ2luZyB0aGlzIG1ldGhvZCB3aWxsIGNoYW5nZSBob3cgc3RhY2sgbmFtZXMgYXJlIGdlbmVyYXRlZCB3aGljaCBjb3VsZCBiZSBhIG1hc3NpdmUgYnJlYWtpbmcgY2hhbmdlIGZvciBleGlzdGluZyBBbXBsaWZ5IHN0YWNrcy5cbiAgICovXG4gIHN0YXRpYyB0b1N0YWNrTmFtZShiYWNrZW5kSWQ6IEJhY2tlbmRJZGVudGlmaWVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBoYXNoID0gZ2V0SGFzaChiYWNrZW5kSWQpO1xuXG4gICAgLy8gb25seSB0YWtlIHRoZSBmaXJzdCA1MCBjaGFycyBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyByb29tIGluIHRoZSBzdGFjayBuYW1lIGZvciB0aGUgbmFtZXNwYWNlIGFzIHdlbGxcbiAgICBjb25zdCBuYW1lID0gc2FuaXRpemVDaGFycyhiYWNrZW5kSWQubmFtZSkuc2xpY2UoMCwgNTApO1xuXG4gICAgY29uc3QgbmFtZXNwYWNlTWF4TGVuZ3RoID1cbiAgICAgIFNUQUNLX05BTUVfTEVOR1RIX0xJTUlUIC1cbiAgICAgIEFNUExJRllfUFJFRklYLmxlbmd0aCAtXG4gICAgICBiYWNrZW5kSWQudHlwZS5sZW5ndGggLVxuICAgICAgbmFtZS5sZW5ndGggLVxuICAgICAgTlVNX0RBU0hFUyAtXG4gICAgICBIQVNIX0xFTkdUSDtcblxuICAgIGNvbnN0IG5hbWVzcGFjZSA9IHNhbml0aXplQ2hhcnMoYmFja2VuZElkLm5hbWVzcGFjZSkuc2xpY2UoXG4gICAgICAwLFxuICAgICAgbmFtZXNwYWNlTWF4TGVuZ3RoIC0gMVxuICAgICk7XG5cbiAgICByZXR1cm4gWydhbXBsaWZ5JywgbmFtZXNwYWNlLCBuYW1lLCBiYWNrZW5kSWQudHlwZSwgaGFzaF0uam9pbignLScpO1xuICB9XG59XG5cbi8qKlxuICogR2V0cyBhIHN0YWJsZSBoYXNoIGZyb20gdGhlIG5hbWVzcGFjZSBhbmQgbmFtZSBpbiB0aGUgYmFja2VuZElkLlxuICpcbiAqIElmIHRoZSBiYWNrZW5kSWQgYWxyZWFkeSBpbmNsdWRlcyBhIGhhc2gsIHRoaXMgaGFzaCBpcyByZXR1cm5lZCBhcy1pcy5cbiAqXG4gKiAhISFEQU5HRVIhISFcbiAqICEhIURPIE5PVCBDSEFOR0UgVEhJUyBVTkxFU1MgWU9VIEFSRSAxMDAlIFNVUkUgWU9VIFVOREVSU1RBTkQgVEhFIENPTlNFUVVFTkNFUyEhIVxuICpcbiAqIENoYW5naW5nIHRoaXMgaGFzaCBhbGdvcml0aG0gd2lsbCBjaGFuZ2UgaG93IHN0YWNrIG5hbWVzIGFyZSBnZW5lcmF0ZWQgd2hpY2ggd291bGQgYmUgYSBtYXNzaXZlIGJyZWFraW5nIGNoYW5nZSBmb3IgZXhpc3RpbmcgQW1wbGlmeSBzdGFja3MuXG4gKi9cbmNvbnN0IGdldEhhc2ggPSAoYmFja2VuZElkOiBCYWNrZW5kSWRlbnRpZmllcik6IHN0cmluZyA9PlxuICBiYWNrZW5kSWQuaGFzaCA/P1xuICAvLyBtZDUgd291bGQgYmUgc3VmZmljaWVudCBoZXJlIGJlY2F1c2UgdGhpcyBoYXNoIGRvZXMgbm90IG5lZWQgdG8gYmUgY3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlLCBidXQgdGhpcyBlbnN1cmVzIHRoYXQgd2UgZG9uJ3QgZ2V0IHVubmVjZXNzYXJpbHkgZmxhZ2dlZCBieSBzb21lIHNlY3VyaXR5IHNjYW5uZXJcbiAgY3JlYXRlSGFzaCgnc2hhNTEyJylcbiAgICAudXBkYXRlKGJhY2tlbmRJZC5uYW1lc3BhY2UpXG4gICAgLnVwZGF0ZShiYWNrZW5kSWQubmFtZSlcbiAgICAuZGlnZXN0KCdoZXgnKVxuICAgIC5zbGljZSgwLCBIQVNIX0xFTkdUSCk7XG5cbi8qKlxuICogUmVtb3ZlIGFsbCBub24tYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgZnJvbSB0aGUgaW5wdXQgc3RyaW5nXG4gKi9cbmNvbnN0IHNhbml0aXplQ2hhcnMgPSAoc3RyOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL1teQS1aYS16MC05XS9nLCAnJyk7XG59O1xuIl19
@@ -1,9 +1,12 @@
1
1
  /**
2
2
  * Keys for values that are passed between the Amplify deployment engine and the CDK synth process via CDK Context
3
3
  *
4
- * This enum does not currently capture all context keys. We can refactor incrementally as we need to use these keys in multiple places
4
+ * !!!WARNING!!!
5
+ * Changing the values of these keys could be a breaking change
5
6
  */
6
7
  export declare enum CDKContextKey {
7
- DEPLOYMENT_TYPE = "deployment-type"
8
+ BACKEND_NAME = "amplify-backend-name",
9
+ BACKEND_NAMESPACE = "amplify-backend-namespace",
10
+ DEPLOYMENT_TYPE = "amplify-backend-type"
8
11
  }
9
12
  //# sourceMappingURL=cdk_context_key.d.ts.map
@@ -4,10 +4,13 @@ exports.CDKContextKey = void 0;
4
4
  /**
5
5
  * Keys for values that are passed between the Amplify deployment engine and the CDK synth process via CDK Context
6
6
  *
7
- * This enum does not currently capture all context keys. We can refactor incrementally as we need to use these keys in multiple places
7
+ * !!!WARNING!!!
8
+ * Changing the values of these keys could be a breaking change
8
9
  */
9
10
  var CDKContextKey;
10
11
  (function (CDKContextKey) {
11
- CDKContextKey["DEPLOYMENT_TYPE"] = "deployment-type";
12
+ CDKContextKey["BACKEND_NAME"] = "amplify-backend-name";
13
+ CDKContextKey["BACKEND_NAMESPACE"] = "amplify-backend-namespace";
14
+ CDKContextKey["DEPLOYMENT_TYPE"] = "amplify-backend-type";
12
15
  })(CDKContextKey || (exports.CDKContextKey = CDKContextKey = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrX2NvbnRleHRfa2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Nka19jb250ZXh0X2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7OztHQUlHO0FBQ0gsSUFBWSxhQUVYO0FBRkQsV0FBWSxhQUFhO0lBQ3ZCLG9EQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUFGVyxhQUFhLDZCQUFiLGFBQWEsUUFFeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEtleXMgZm9yIHZhbHVlcyB0aGF0IGFyZSBwYXNzZWQgYmV0d2VlbiB0aGUgQW1wbGlmeSBkZXBsb3ltZW50IGVuZ2luZSBhbmQgdGhlIENESyBzeW50aCBwcm9jZXNzIHZpYSBDREsgQ29udGV4dFxuICpcbiAqIFRoaXMgZW51bSBkb2VzIG5vdCBjdXJyZW50bHkgY2FwdHVyZSBhbGwgY29udGV4dCBrZXlzLiBXZSBjYW4gcmVmYWN0b3IgaW5jcmVtZW50YWxseSBhcyB3ZSBuZWVkIHRvIHVzZSB0aGVzZSBrZXlzIGluIG11bHRpcGxlIHBsYWNlc1xuICovXG5leHBvcnQgZW51bSBDREtDb250ZXh0S2V5IHtcbiAgREVQTE9ZTUVOVF9UWVBFID0gJ2RlcGxveW1lbnQtdHlwZScsXG59XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrX2NvbnRleHRfa2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Nka19jb250ZXh0X2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7R0FLRztBQUNILElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUN2QixzREFBcUMsQ0FBQTtJQUNyQyxnRUFBK0MsQ0FBQTtJQUMvQyx5REFBd0MsQ0FBQTtBQUMxQyxDQUFDLEVBSlcsYUFBYSw2QkFBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBLZXlzIGZvciB2YWx1ZXMgdGhhdCBhcmUgcGFzc2VkIGJldHdlZW4gdGhlIEFtcGxpZnkgZGVwbG95bWVudCBlbmdpbmUgYW5kIHRoZSBDREsgc3ludGggcHJvY2VzcyB2aWEgQ0RLIENvbnRleHRcbiAqXG4gKiAhISFXQVJOSU5HISEhXG4gKiBDaGFuZ2luZyB0aGUgdmFsdWVzIG9mIHRoZXNlIGtleXMgY291bGQgYmUgYSBicmVha2luZyBjaGFuZ2VcbiAqL1xuZXhwb3J0IGVudW0gQ0RLQ29udGV4dEtleSB7XG4gIEJBQ0tFTkRfTkFNRSA9ICdhbXBsaWZ5LWJhY2tlbmQtbmFtZScsXG4gIEJBQ0tFTkRfTkFNRVNQQUNFID0gJ2FtcGxpZnktYmFja2VuZC1uYW1lc3BhY2UnLFxuICBERVBMT1lNRU5UX1RZUEUgPSAnYW1wbGlmeS1iYWNrZW5kLXR5cGUnLFxufVxuIl19
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Extracts a file path from a given stack trace line
3
+ */
4
+ export declare class FilePathExtractor {
5
+ private readonly stackTraceLine;
6
+ /**
7
+ * Constructor for FilePathExtractor
8
+ */
9
+ constructor(stackTraceLine: string);
10
+ extract: () => string | undefined;
11
+ private standardizePath;
12
+ }
13
+ //# sourceMappingURL=extract_file_path_from_stack_trace_line.d.ts.map
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilePathExtractor = void 0;
4
+ const url_1 = require("url");
5
+ /**
6
+ * Regex that pulls out the path from a stack trace line. Works for both unix and windows paths and cjs and esm loaders
7
+ *
8
+ * For ESM loaders in TS files or CJS loaders
9
+ * The line is something like "at SymbolName (/some/path/to/project/root/backend/auth.ts:3:21)"
10
+ * or on Windows "at SymbolName (C:\some\path\to\project\root\backend\auth.ts:3:21)"
11
+ *
12
+ * For ESM loaders in JS files
13
+ * The line is something like "at file:///some/path/to/project/root/backend/auth.ts:14:28"
14
+ * or on Windows " at file:///C:\some\path\to\project\root\backend\auth.ts:3:21"
15
+ *
16
+ * This regex pulls out the file path into the "filepath" named matching group
17
+ * In the above examples that would be "/some/path/to/project/root/backend/auth.ts" or "C:\some\path\to\project\root\backend\auth.ts"
18
+ *
19
+ * Instead of combining both matches with single regex, we create two to keep it simple and manageable.
20
+ *
21
+ */
22
+ const extractFilePathFromStackTraceLineRegexes = [
23
+ /\((?<filepath>(\w:)?[^:]*)[:\d]*\)/,
24
+ /at (?<filepath>.*\.\w[^:\d]*)[:\d]*/,
25
+ ];
26
+ /**
27
+ * Extracts a file path from a given stack trace line
28
+ */
29
+ class FilePathExtractor {
30
+ stackTraceLine;
31
+ /**
32
+ * Constructor for FilePathExtractor
33
+ */
34
+ constructor(stackTraceLine) {
35
+ this.stackTraceLine = stackTraceLine;
36
+ }
37
+ extract = () => {
38
+ for (const regex of extractFilePathFromStackTraceLineRegexes) {
39
+ const match = this.stackTraceLine.match(regex);
40
+ if (match?.groups?.filepath) {
41
+ return this.standardizePath(match?.groups?.filepath);
42
+ }
43
+ }
44
+ return undefined;
45
+ };
46
+ // The input can be either a file path or a file URL. If it's a file URL, convert it to the path.
47
+ standardizePath = (maybeUrl) => {
48
+ try {
49
+ const url = new URL(maybeUrl);
50
+ if (url.protocol === 'file:') {
51
+ return (0, url_1.fileURLToPath)(url);
52
+ }
53
+ return maybeUrl;
54
+ }
55
+ catch {
56
+ return maybeUrl;
57
+ }
58
+ };
59
+ }
60
+ exports.FilePathExtractor = FilePathExtractor;
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdF9maWxlX3BhdGhfZnJvbV9zdGFja190cmFjZV9saW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2V4dHJhY3RfZmlsZV9wYXRoX2Zyb21fc3RhY2tfdHJhY2VfbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBb0M7QUFFcEM7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLHdDQUF3QyxHQUFHO0lBQy9DLG9DQUFvQztJQUNwQyxxQ0FBcUM7Q0FDdEMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7SUFJQztJQUg3Qjs7T0FFRztJQUNILFlBQTZCLGNBQXNCO1FBQXRCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO0lBQUcsQ0FBQztJQUV2RCxPQUFPLEdBQUcsR0FBRyxFQUFFO1FBQ2IsS0FBSyxNQUFNLEtBQUssSUFBSSx3Q0FBd0MsRUFBRTtZQUM1RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQyxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO2dCQUMzQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQzthQUN0RDtTQUNGO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUYsaUdBQWlHO0lBQ3pGLGVBQWUsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRTtRQUNyRCxJQUFJO1lBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUIsSUFBSSxHQUFHLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtnQkFDNUIsT0FBTyxJQUFBLG1CQUFhLEVBQUMsR0FBRyxDQUFDLENBQUM7YUFDM0I7WUFDRCxPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUFDLE1BQU07WUFDTixPQUFPLFFBQVEsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FBQztDQUNIO0FBNUJELDhDQTRCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICd1cmwnO1xuXG4vKipcbiAqIFJlZ2V4IHRoYXQgcHVsbHMgb3V0IHRoZSBwYXRoIGZyb20gYSBzdGFjayB0cmFjZSBsaW5lLiBXb3JrcyBmb3IgYm90aCB1bml4IGFuZCB3aW5kb3dzIHBhdGhzIGFuZCBjanMgYW5kIGVzbSBsb2FkZXJzXG4gKlxuICogRm9yIEVTTSBsb2FkZXJzIGluIFRTIGZpbGVzIG9yIENKUyBsb2FkZXJzXG4gKiBUaGUgbGluZSBpcyBzb21ldGhpbmcgbGlrZSBcImF0IFN5bWJvbE5hbWUgKC9zb21lL3BhdGgvdG8vcHJvamVjdC9yb290L2JhY2tlbmQvYXV0aC50czozOjIxKVwiXG4gKiBvciBvbiBXaW5kb3dzIFwiYXQgU3ltYm9sTmFtZSAoQzpcXHNvbWVcXHBhdGhcXHRvXFxwcm9qZWN0XFxyb290XFxiYWNrZW5kXFxhdXRoLnRzOjM6MjEpXCJcbiAqXG4gKiBGb3IgRVNNIGxvYWRlcnMgaW4gSlMgZmlsZXNcbiAqIFRoZSBsaW5lIGlzIHNvbWV0aGluZyBsaWtlIFwiYXQgZmlsZTovLy9zb21lL3BhdGgvdG8vcHJvamVjdC9yb290L2JhY2tlbmQvYXV0aC50czoxNDoyOFwiXG4gKiBvciBvbiBXaW5kb3dzIFwiIGF0IGZpbGU6Ly8vQzpcXHNvbWVcXHBhdGhcXHRvXFxwcm9qZWN0XFxyb290XFxiYWNrZW5kXFxhdXRoLnRzOjM6MjFcIlxuICpcbiAqIFRoaXMgcmVnZXggcHVsbHMgb3V0IHRoZSBmaWxlIHBhdGggaW50byB0aGUgXCJmaWxlcGF0aFwiIG5hbWVkIG1hdGNoaW5nIGdyb3VwXG4gKiBJbiB0aGUgYWJvdmUgZXhhbXBsZXMgdGhhdCB3b3VsZCBiZSBcIi9zb21lL3BhdGgvdG8vcHJvamVjdC9yb290L2JhY2tlbmQvYXV0aC50c1wiIG9yIFwiQzpcXHNvbWVcXHBhdGhcXHRvXFxwcm9qZWN0XFxyb290XFxiYWNrZW5kXFxhdXRoLnRzXCJcbiAqXG4gKiBJbnN0ZWFkIG9mIGNvbWJpbmluZyBib3RoIG1hdGNoZXMgd2l0aCBzaW5nbGUgcmVnZXgsIHdlIGNyZWF0ZSB0d28gdG8ga2VlcCBpdCBzaW1wbGUgYW5kIG1hbmFnZWFibGUuXG4gKlxuICovXG5jb25zdCBleHRyYWN0RmlsZVBhdGhGcm9tU3RhY2tUcmFjZUxpbmVSZWdleGVzID0gW1xuICAvXFwoKD88ZmlsZXBhdGg+KFxcdzopP1teOl0qKVs6XFxkXSpcXCkvLFxuICAvYXQgKD88ZmlsZXBhdGg+LipcXC5cXHdbXjpcXGRdKilbOlxcZF0qLyxcbl07XG5cbi8qKlxuICogRXh0cmFjdHMgYSBmaWxlIHBhdGggZnJvbSBhIGdpdmVuIHN0YWNrIHRyYWNlIGxpbmVcbiAqL1xuZXhwb3J0IGNsYXNzIEZpbGVQYXRoRXh0cmFjdG9yIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yIGZvciBGaWxlUGF0aEV4dHJhY3RvclxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdGFja1RyYWNlTGluZTogc3RyaW5nKSB7fVxuXG4gIGV4dHJhY3QgPSAoKSA9PiB7XG4gICAgZm9yIChjb25zdCByZWdleCBvZiBleHRyYWN0RmlsZVBhdGhGcm9tU3RhY2tUcmFjZUxpbmVSZWdleGVzKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IHRoaXMuc3RhY2tUcmFjZUxpbmUubWF0Y2gocmVnZXgpO1xuICAgICAgaWYgKG1hdGNoPy5ncm91cHM/LmZpbGVwYXRoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YW5kYXJkaXplUGF0aChtYXRjaD8uZ3JvdXBzPy5maWxlcGF0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgLy8gVGhlIGlucHV0IGNhbiBiZSBlaXRoZXIgYSBmaWxlIHBhdGggb3IgYSBmaWxlIFVSTC4gSWYgaXQncyBhIGZpbGUgVVJMLCBjb252ZXJ0IGl0IHRvIHRoZSBwYXRoLlxuICBwcml2YXRlIHN0YW5kYXJkaXplUGF0aCA9IChtYXliZVVybDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChtYXliZVVybCk7XG4gICAgICBpZiAodXJsLnByb3RvY29sID09PSAnZmlsZTonKSB7XG4gICAgICAgIHJldHVybiBmaWxlVVJMVG9QYXRoKHVybCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWF5YmVVcmw7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbWF5YmVVcmw7XG4gICAgfVxuICB9O1xufVxuIl19
@@ -1,4 +1,5 @@
1
- export * from './backend_deployment_type.js';
2
- export * from './unique_backend_identifier.js';
1
+ export * from './backend_identifier_conversions.js';
2
+ export * from './backend_entry_point_locator.js';
3
+ export * from './extract_file_path_from_stack_trace_line.js';
3
4
  export { CDKContextKey } from './cdk_context_key.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -15,8 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.CDKContextKey = void 0;
18
- __exportStar(require("./backend_deployment_type.js"), exports);
19
- __exportStar(require("./unique_backend_identifier.js"), exports);
18
+ __exportStar(require("./backend_identifier_conversions.js"), exports);
19
+ __exportStar(require("./backend_entry_point_locator.js"), exports);
20
+ __exportStar(require("./extract_file_path_from_stack_trace_line.js"), exports);
20
21
  var cdk_context_key_js_1 = require("./cdk_context_key.js");
21
22
  Object.defineProperty(exports, "CDKContextKey", { enumerable: true, get: function () { return cdk_context_key_js_1.CDKContextKey; } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrREFBNkM7QUFDN0MsaUVBQStDO0FBQy9DLDJEQUFxRDtBQUE1QyxtSEFBQSxhQUFhLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2JhY2tlbmRfZGVwbG95bWVudF90eXBlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pcXVlX2JhY2tlbmRfaWRlbnRpZmllci5qcyc7XG5leHBvcnQgeyBDREtDb250ZXh0S2V5IH0gZnJvbSAnLi9jZGtfY29udGV4dF9rZXkuanMnO1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzRUFBb0Q7QUFDcEQsbUVBQWlEO0FBQ2pELCtFQUE2RDtBQUM3RCwyREFBcUQ7QUFBNUMsbUhBQUEsYUFBYSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX2lkZW50aWZpZXJfY29udmVyc2lvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX2VudHJ5X3BvaW50X2xvY2F0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9leHRyYWN0X2ZpbGVfcGF0aF9mcm9tX3N0YWNrX3RyYWNlX2xpbmUuanMnO1xuZXhwb3J0IHsgQ0RLQ29udGV4dEtleSB9IGZyb20gJy4vY2RrX2NvbnRleHRfa2V5LmpzJztcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/platform-core",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "type": "commonjs",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -19,6 +19,6 @@
19
19
  },
20
20
  "license": "Apache-2.0",
21
21
  "dependencies": {
22
- "@aws-amplify/plugin-types": "^0.3.0"
22
+ "@aws-amplify/plugin-types": "^0.4.0"
23
23
  }
24
24
  }
@@ -1,18 +1,26 @@
1
1
  import { IRole } from 'aws-cdk-lib/aws-iam';
2
- import { CfnIdentityPool, CfnIdentityPoolRoleAttachment, IUserPool, IUserPoolClient } from 'aws-cdk-lib/aws-cognito';
2
+ import { CfnIdentityPool, CfnIdentityPoolRoleAttachment, CfnUserPool, CfnUserPoolClient, IUserPool, IUserPoolClient } from 'aws-cdk-lib/aws-cognito';
3
3
  /**
4
4
  * Accessible Cfn resources from the Auth construct, which were generated during
5
5
  * initialization.
6
6
  */
7
7
  export type AuthCfnResources = {
8
+ /**
9
+ * The generated CfnUserPool L1 resource.
10
+ */
11
+ cfnUserPool: CfnUserPool;
12
+ /**
13
+ * The generated CfnUserPoolClient L1 resource.
14
+ */
15
+ cfnUserPoolClient: CfnUserPoolClient;
8
16
  /**
9
17
  * The generated CfnIdentityPool L1 resource.
10
18
  */
11
- identityPool: CfnIdentityPool;
19
+ cfnIdentityPool: CfnIdentityPool;
12
20
  /**
13
21
  * The generated CfnIdentityPoolRoleAttachment L1 resource.
14
22
  */
15
- identityPoolRoleAttachment: CfnIdentityPoolRoleAttachment;
23
+ cfnIdentityPoolRoleAttachment: CfnIdentityPoolRoleAttachment;
16
24
  };
17
25
  /**
18
26
  * Auth L2 and L1 resources.
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aF9yZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXV0aF9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQge1xuICBDZm5JZGVudGl0eVBvb2wsXG4gIENmbklkZW50aXR5UG9vbFJvbGVBdHRhY2htZW50LFxuICBJVXNlclBvb2wsXG4gIElVc2VyUG9vbENsaWVudCxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZ25pdG8nO1xuXG4vKipcbiAqIEFjY2Vzc2libGUgQ2ZuIHJlc291cmNlcyBmcm9tIHRoZSBBdXRoIGNvbnN0cnVjdCwgd2hpY2ggd2VyZSBnZW5lcmF0ZWQgZHVyaW5nXG4gKiBpbml0aWFsaXphdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgQXV0aENmblJlc291cmNlcyA9IHtcbiAgLyoqXG4gICAqIFRoZSBnZW5lcmF0ZWQgQ2ZuSWRlbnRpdHlQb29sIEwxIHJlc291cmNlLlxuICAgKi9cbiAgaWRlbnRpdHlQb29sOiBDZm5JZGVudGl0eVBvb2w7XG4gIC8qKlxuICAgKiBUaGUgZ2VuZXJhdGVkIENmbklkZW50aXR5UG9vbFJvbGVBdHRhY2htZW50IEwxIHJlc291cmNlLlxuICAgKi9cbiAgaWRlbnRpdHlQb29sUm9sZUF0dGFjaG1lbnQ6IENmbklkZW50aXR5UG9vbFJvbGVBdHRhY2htZW50O1xufTtcbi8qKlxuICogQXV0aCBMMiBhbmQgTDEgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgdHlwZSBBdXRoUmVzb3VyY2VzID0ge1xuICAvKipcbiAgICogVGhlIGdlbmVyYXRlZCBVc2VyUG9vbCBMMiBSZXNvdXJjZS5cbiAgICovXG4gIHVzZXJQb29sOiBJVXNlclBvb2w7XG4gIC8qKlxuICAgKiBUaGUgZ2VuZXJhdGVkIFVzZXJQb29sQ2xpZW50IEwyIFJlc291cmNlLlxuICAgKi9cbiAgdXNlclBvb2xDbGllbnQ6IElVc2VyUG9vbENsaWVudDtcbiAgLyoqXG4gICAqIFRoZSBnZW5lcmF0ZWQgYXV0aCByb2xlLlxuICAgKi9cbiAgYXV0aGVudGljYXRlZFVzZXJJYW1Sb2xlOiBJUm9sZTtcbiAgLyoqXG4gICAqIFRoZSBnZW5lcmF0ZWQgdW5hdXRoIHJvbGUuXG4gICAqL1xuICB1bmF1dGhlbnRpY2F0ZWRVc2VySWFtUm9sZTogSVJvbGU7XG4gIC8qKlxuICAgKiBMMSBDZm4gUmVzb3VyY2VzLCBmb3Igd2hlbiBkaXBwaW5nIGRvd24gYSBsZXZlbCBvZiBhYnN0cmFjdGlvbiBpcyBkZXNpcmFibGUuXG4gICAqL1xuICBjZm5SZXNvdXJjZXM6IEF1dGhDZm5SZXNvdXJjZXM7XG59O1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aF9yZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXV0aF9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQge1xuICBDZm5JZGVudGl0eVBvb2wsXG4gIENmbklkZW50aXR5UG9vbFJvbGVBdHRhY2htZW50LFxuICBDZm5Vc2VyUG9vbCxcbiAgQ2ZuVXNlclBvb2xDbGllbnQsXG4gIElVc2VyUG9vbCxcbiAgSVVzZXJQb29sQ2xpZW50LFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29nbml0byc7XG5cbi8qKlxuICogQWNjZXNzaWJsZSBDZm4gcmVzb3VyY2VzIGZyb20gdGhlIEF1dGggY29uc3RydWN0LCB3aGljaCB3ZXJlIGdlbmVyYXRlZCBkdXJpbmdcbiAqIGluaXRpYWxpemF0aW9uLlxuICovXG5leHBvcnQgdHlwZSBBdXRoQ2ZuUmVzb3VyY2VzID0ge1xuICAvKipcbiAgICogVGhlIGdlbmVyYXRlZCBDZm5Vc2VyUG9vbCBMMSByZXNvdXJjZS5cbiAgICovXG4gIGNmblVzZXJQb29sOiBDZm5Vc2VyUG9vbDtcbiAgLyoqXG4gICAqIFRoZSBnZW5lcmF0ZWQgQ2ZuVXNlclBvb2xDbGllbnQgTDEgcmVzb3VyY2UuXG4gICAqL1xuICBjZm5Vc2VyUG9vbENsaWVudDogQ2ZuVXNlclBvb2xDbGllbnQ7XG4gIC8qKlxuICAgKiBUaGUgZ2VuZXJhdGVkIENmbklkZW50aXR5UG9vbCBMMSByZXNvdXJjZS5cbiAgICovXG4gIGNmbklkZW50aXR5UG9vbDogQ2ZuSWRlbnRpdHlQb29sO1xuICAvKipcbiAgICogVGhlIGdlbmVyYXRlZCBDZm5JZGVudGl0eVBvb2xSb2xlQXR0YWNobWVudCBMMSByZXNvdXJjZS5cbiAgICovXG4gIGNmbklkZW50aXR5UG9vbFJvbGVBdHRhY2htZW50OiBDZm5JZGVudGl0eVBvb2xSb2xlQXR0YWNobWVudDtcbn07XG4vKipcbiAqIEF1dGggTDIgYW5kIEwxIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IHR5cGUgQXV0aFJlc291cmNlcyA9IHtcbiAgLyoqXG4gICAqIFRoZSBnZW5lcmF0ZWQgVXNlclBvb2wgTDIgUmVzb3VyY2UuXG4gICAqL1xuICB1c2VyUG9vbDogSVVzZXJQb29sO1xuICAvKipcbiAgICogVGhlIGdlbmVyYXRlZCBVc2VyUG9vbENsaWVudCBMMiBSZXNvdXJjZS5cbiAgICovXG4gIHVzZXJQb29sQ2xpZW50OiBJVXNlclBvb2xDbGllbnQ7XG4gIC8qKlxuICAgKiBUaGUgZ2VuZXJhdGVkIGF1dGggcm9sZS5cbiAgICovXG4gIGF1dGhlbnRpY2F0ZWRVc2VySWFtUm9sZTogSVJvbGU7XG4gIC8qKlxuICAgKiBUaGUgZ2VuZXJhdGVkIHVuYXV0aCByb2xlLlxuICAgKi9cbiAgdW5hdXRoZW50aWNhdGVkVXNlcklhbVJvbGU6IElSb2xlO1xuICAvKipcbiAgICogTDEgQ2ZuIFJlc291cmNlcywgZm9yIHdoZW4gZGlwcGluZyBkb3duIGEgbGV2ZWwgb2YgYWJzdHJhY3Rpb24gaXMgZGVzaXJhYmxlLlxuICAgKi9cbiAgY2ZuUmVzb3VyY2VzOiBBdXRoQ2ZuUmVzb3VyY2VzO1xufTtcbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { DeploymentType } from './deployment_type';
2
+ /**
3
+ * These are some utility types to make the BackendIdentifier a bit more self-documenting
4
+ */
5
+ export type AppId = string;
6
+ export type ProjectName = string;
7
+ export type BranchName = string;
8
+ export type SandboxName = string;
9
+ /**
10
+ * This tuple defines the constituent parts that are used to construct backend stack names
11
+ * The stack name becomes what identifies a deployed backend.
12
+ *
13
+ * To translate to/from a stack name, use the utility methods in @aws-amplify/platform-core
14
+ */
15
+ export type BackendIdentifier = {
16
+ /**
17
+ * The Amplify AppId for the backend
18
+ */
19
+ namespace: Readonly<AppId>;
20
+ /**
21
+ * The Amplify branch name for the backend
22
+ */
23
+ name: Readonly<BranchName>;
24
+ /**
25
+ * Const that determines this BackendIdentifier is for a branch backend
26
+ */
27
+ type: Readonly<Extract<DeploymentType, 'branch'>>;
28
+ /**
29
+ * Optional hash for consistent stack naming in cases where namespace or name contain characters that can't be serialized into a stack name
30
+ */
31
+ hash?: Readonly<string>;
32
+ } | {
33
+ /**
34
+ * The project name for the sandbox.
35
+ *
36
+ * While this type does not enforce any specific behavior, at the time of writing, this value defaults to package.json#name when running sandbox commands
37
+ * Consult upstream code for exact usage.
38
+ */
39
+ namespace: Readonly<ProjectName>;
40
+ /**
41
+ * The name of this sandbox.
42
+ *
43
+ * While this type does not enforce any specific behavior, at the time of writing, this value defaults to the current local username and can be overridden with the --name argument to sandbox.
44
+ * Consult upstream code for exact usage.
45
+ */
46
+ name: Readonly<SandboxName>;
47
+ /**
48
+ * Const that determines this BackendIdentifier is for a sandbox backend
49
+ */
50
+ type: Readonly<Extract<DeploymentType, 'sandbox'>>;
51
+ /**
52
+ * Optional hash for consistent stack naming in cases where namespace or name contain characters that can't be serialized into a stack name
53
+ */
54
+ hash?: Readonly<string>;
55
+ };
56
+ //# sourceMappingURL=backend_identifier.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZF9pZGVudGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JhY2tlbmRfaWRlbnRpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVwbG95bWVudFR5cGUgfSBmcm9tICcuL2RlcGxveW1lbnRfdHlwZSc7XG5cbi8qKlxuICogVGhlc2UgYXJlIHNvbWUgdXRpbGl0eSB0eXBlcyB0byBtYWtlIHRoZSBCYWNrZW5kSWRlbnRpZmllciBhIGJpdCBtb3JlIHNlbGYtZG9jdW1lbnRpbmdcbiAqL1xuZXhwb3J0IHR5cGUgQXBwSWQgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBQcm9qZWN0TmFtZSA9IHN0cmluZztcbmV4cG9ydCB0eXBlIEJyYW5jaE5hbWUgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBTYW5kYm94TmFtZSA9IHN0cmluZztcblxuLyoqXG4gKiBUaGlzIHR1cGxlIGRlZmluZXMgdGhlIGNvbnN0aXR1ZW50IHBhcnRzIHRoYXQgYXJlIHVzZWQgdG8gY29uc3RydWN0IGJhY2tlbmQgc3RhY2sgbmFtZXNcbiAqIFRoZSBzdGFjayBuYW1lIGJlY29tZXMgd2hhdCBpZGVudGlmaWVzIGEgZGVwbG95ZWQgYmFja2VuZC5cbiAqXG4gKiBUbyB0cmFuc2xhdGUgdG8vZnJvbSBhIHN0YWNrIG5hbWUsIHVzZSB0aGUgdXRpbGl0eSBtZXRob2RzIGluIEBhd3MtYW1wbGlmeS9wbGF0Zm9ybS1jb3JlXG4gKi9cbmV4cG9ydCB0eXBlIEJhY2tlbmRJZGVudGlmaWVyID1cbiAgfCB7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBBbXBsaWZ5IEFwcElkIGZvciB0aGUgYmFja2VuZFxuICAgICAgICovXG4gICAgICBuYW1lc3BhY2U6IFJlYWRvbmx5PEFwcElkPjtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIEFtcGxpZnkgYnJhbmNoIG5hbWUgZm9yIHRoZSBiYWNrZW5kXG4gICAgICAgKi9cbiAgICAgIG5hbWU6IFJlYWRvbmx5PEJyYW5jaE5hbWU+O1xuICAgICAgLyoqXG4gICAgICAgKiBDb25zdCB0aGF0IGRldGVybWluZXMgdGhpcyBCYWNrZW5kSWRlbnRpZmllciBpcyBmb3IgYSBicmFuY2ggYmFja2VuZFxuICAgICAgICovXG4gICAgICB0eXBlOiBSZWFkb25seTxFeHRyYWN0PERlcGxveW1lbnRUeXBlLCAnYnJhbmNoJz4+O1xuICAgICAgLyoqXG4gICAgICAgKiBPcHRpb25hbCBoYXNoIGZvciBjb25zaXN0ZW50IHN0YWNrIG5hbWluZyBpbiBjYXNlcyB3aGVyZSBuYW1lc3BhY2Ugb3IgbmFtZSBjb250YWluIGNoYXJhY3RlcnMgdGhhdCBjYW4ndCBiZSBzZXJpYWxpemVkIGludG8gYSBzdGFjayBuYW1lXG4gICAgICAgKi9cbiAgICAgIGhhc2g/OiBSZWFkb25seTxzdHJpbmc+O1xuICAgIH1cbiAgfCB7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBwcm9qZWN0IG5hbWUgZm9yIHRoZSBzYW5kYm94LlxuICAgICAgICpcbiAgICAgICAqIFdoaWxlIHRoaXMgdHlwZSBkb2VzIG5vdCBlbmZvcmNlIGFueSBzcGVjaWZpYyBiZWhhdmlvciwgYXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgdGhpcyB2YWx1ZSBkZWZhdWx0cyB0byBwYWNrYWdlLmpzb24jbmFtZSB3aGVuIHJ1bm5pbmcgc2FuZGJveCBjb21tYW5kc1xuICAgICAgICogQ29uc3VsdCB1cHN0cmVhbSBjb2RlIGZvciBleGFjdCB1c2FnZS5cbiAgICAgICAqL1xuICAgICAgbmFtZXNwYWNlOiBSZWFkb25seTxQcm9qZWN0TmFtZT47XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBuYW1lIG9mIHRoaXMgc2FuZGJveC5cbiAgICAgICAqXG4gICAgICAgKiBXaGlsZSB0aGlzIHR5cGUgZG9lcyBub3QgZW5mb3JjZSBhbnkgc3BlY2lmaWMgYmVoYXZpb3IsIGF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIHRoaXMgdmFsdWUgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgbG9jYWwgdXNlcm5hbWUgYW5kIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggdGhlIC0tbmFtZSBhcmd1bWVudCB0byBzYW5kYm94LlxuICAgICAgICogQ29uc3VsdCB1cHN0cmVhbSBjb2RlIGZvciBleGFjdCB1c2FnZS5cbiAgICAgICAqL1xuICAgICAgbmFtZTogUmVhZG9ubHk8U2FuZGJveE5hbWU+O1xuICAgICAgLyoqXG4gICAgICAgKiBDb25zdCB0aGF0IGRldGVybWluZXMgdGhpcyBCYWNrZW5kSWRlbnRpZmllciBpcyBmb3IgYSBzYW5kYm94IGJhY2tlbmRcbiAgICAgICAqL1xuICAgICAgdHlwZTogUmVhZG9ubHk8RXh0cmFjdDxEZXBsb3ltZW50VHlwZSwgJ3NhbmRib3gnPj47XG4gICAgICAvKipcbiAgICAgICAqIE9wdGlvbmFsIGhhc2ggZm9yIGNvbnNpc3RlbnQgc3RhY2sgbmFtaW5nIGluIGNhc2VzIHdoZXJlIG5hbWVzcGFjZSBvciBuYW1lIGNvbnRhaW4gY2hhcmFjdGVycyB0aGF0IGNhbid0IGJlIHNlcmlhbGl6ZWQgaW50byBhIHN0YWNrIG5hbWVcbiAgICAgICAqL1xuICAgICAgaGFzaD86IFJlYWRvbmx5PHN0cmluZz47XG4gICAgfTtcbiJdfQ==
@@ -1,11 +1,11 @@
1
1
  import { Construct } from 'constructs';
2
- import { UniqueBackendIdentifier } from './unique_backend_identifier.js';
2
+ import { BackendIdentifier } from './backend_identifier.js';
3
3
  import { SecretValue } from 'aws-cdk-lib';
4
4
  export type BackendSecret = {
5
5
  /**
6
6
  * Resolves the given secret to a CDK token.
7
7
  */
8
- resolve: (scope: Construct, uniqueBackendIdentifier: UniqueBackendIdentifier) => SecretValue;
8
+ resolve: (scope: Construct, backendIdentifier: BackendIdentifier) => SecretValue;
9
9
  };
10
10
  export type BackendSecretResolver = {
11
11
  resolveSecret: (backendSecret: BackendSecret) => SecretValue;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZF9zZWNyZXRfcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmFja2VuZF9zZWNyZXRfcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgVW5pcXVlQmFja2VuZElkZW50aWZpZXIgfSBmcm9tICcuL3VuaXF1ZV9iYWNrZW5kX2lkZW50aWZpZXIuanMnO1xuaW1wb3J0IHsgU2VjcmV0VmFsdWUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbmV4cG9ydCB0eXBlIEJhY2tlbmRTZWNyZXQgPSB7XG4gIC8qKlxuICAgKiBSZXNvbHZlcyB0aGUgZ2l2ZW4gc2VjcmV0IHRvIGEgQ0RLIHRva2VuLlxuICAgKi9cbiAgcmVzb2x2ZTogKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgdW5pcXVlQmFja2VuZElkZW50aWZpZXI6IFVuaXF1ZUJhY2tlbmRJZGVudGlmaWVyXG4gICkgPT4gU2VjcmV0VmFsdWU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrZW5kU2VjcmV0UmVzb2x2ZXIgPSB7XG4gIHJlc29sdmVTZWNyZXQ6IChiYWNrZW5kU2VjcmV0OiBCYWNrZW5kU2VjcmV0KSA9PiBTZWNyZXRWYWx1ZTtcbn07XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZF9zZWNyZXRfcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmFja2VuZF9zZWNyZXRfcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQmFja2VuZElkZW50aWZpZXIgfSBmcm9tICcuL2JhY2tlbmRfaWRlbnRpZmllci5qcyc7XG5pbXBvcnQgeyBTZWNyZXRWYWx1ZSB9IGZyb20gJ2F3cy1jZGstbGliJztcblxuZXhwb3J0IHR5cGUgQmFja2VuZFNlY3JldCA9IHtcbiAgLyoqXG4gICAqIFJlc29sdmVzIHRoZSBnaXZlbiBzZWNyZXQgdG8gYSBDREsgdG9rZW4uXG4gICAqL1xuICByZXNvbHZlOiAoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBiYWNrZW5kSWRlbnRpZmllcjogQmFja2VuZElkZW50aWZpZXJcbiAgKSA9PiBTZWNyZXRWYWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tlbmRTZWNyZXRSZXNvbHZlciA9IHtcbiAgcmVzb2x2ZVNlY3JldDogKGJhY2tlbmRTZWNyZXQ6IEJhY2tlbmRTZWNyZXQpID0+IFNlY3JldFZhbHVlO1xufTtcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Represents the types of Amplify deployments
3
+ *
4
+ * Branch deployments are tied to specific git branches and are designed to be used in CI/CD
5
+ * Sandbox deployments are local development environments
6
+ */
7
+ export type DeploymentType = 'branch' | 'sandbox';
8
+ //# sourceMappingURL=deployment_type.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudF90eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlcGxveW1lbnRfdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXByZXNlbnRzIHRoZSB0eXBlcyBvZiBBbXBsaWZ5IGRlcGxveW1lbnRzXG4gKlxuICogQnJhbmNoIGRlcGxveW1lbnRzIGFyZSB0aWVkIHRvIHNwZWNpZmljIGdpdCBicmFuY2hlcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGJlIHVzZWQgaW4gQ0kvQ0RcbiAqIFNhbmRib3ggZGVwbG95bWVudHMgYXJlIGxvY2FsIGRldmVsb3BtZW50IGVudmlyb25tZW50c1xuICovXG5leHBvcnQgdHlwZSBEZXBsb3ltZW50VHlwZSA9ICdicmFuY2gnIHwgJ3NhbmRib3gnO1xuIl19
@@ -1,4 +1,3 @@
1
- export * from './amplify_output_writer.js';
2
1
  export * from './backend_stack_creator.js';
3
2
  export * from './backend_stack_resolver.js';
4
3
  export * from './construct_container.js';
@@ -12,5 +11,6 @@ export * from './resource_provider.js';
12
11
  export * from './backend_secret_resolver.js';
13
12
  export * from './function_resources.js';
14
13
  export * from './amplify_function.js';
15
- export * from './unique_backend_identifier.js';
14
+ export * from './backend_identifier.js';
15
+ export * from './deployment_type.js';
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./amplify_output_writer.js"), exports);
18
17
  __exportStar(require("./backend_stack_creator.js"), exports);
19
18
  __exportStar(require("./backend_stack_resolver.js"), exports);
20
19
  __exportStar(require("./construct_container.js"), exports);
@@ -28,5 +27,6 @@ __exportStar(require("./resource_provider.js"), exports);
28
27
  __exportStar(require("./backend_secret_resolver.js"), exports);
29
28
  __exportStar(require("./function_resources.js"), exports);
30
29
  __exportStar(require("./amplify_function.js"), exports);
31
- __exportStar(require("./unique_backend_identifier.js"), exports);
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUEyQztBQUMzQyw2REFBMkM7QUFDM0MsOERBQTRDO0FBQzVDLDJEQUF5QztBQUN6Qyx5REFBdUM7QUFDdkMsaUVBQStDO0FBQy9DLCtEQUE2QztBQUM3QyxzREFBb0M7QUFDcEMsc0RBQW9DO0FBQ3BDLDREQUEwQztBQUMxQyx5REFBdUM7QUFDdkMsK0RBQTZDO0FBQzdDLDBEQUF3QztBQUN4Qyx3REFBc0M7QUFDdEMsaUVBQStDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbXBsaWZ5X291dHB1dF93cml0ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX3N0YWNrX2NyZWF0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX3N0YWNrX3Jlc29sdmVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RydWN0X2NvbnRhaW5lci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cnVjdF9mYWN0b3J5LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vb3V0cHV0X3JldHJpZXZhbF9zdHJhdGVneS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL291dHB1dF9zdG9yYWdlX3N0cmF0ZWd5LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aF9yZXNvdXJjZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX291dHB1dC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2ltcG9ydF9wYXRoX3ZlcmlmaWVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2VfcHJvdmlkZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX3NlY3JldF9yZXNvbHZlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2Z1bmN0aW9uX3Jlc291cmNlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FtcGxpZnlfZnVuY3Rpb24uanMnO1xuZXhwb3J0ICogZnJvbSAnLi91bmlxdWVfYmFja2VuZF9pZGVudGlmaWVyLmpzJztcbiJdfQ==
30
+ __exportStar(require("./backend_identifier.js"), exports);
31
+ __exportStar(require("./deployment_type.js"), exports);
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUEyQztBQUMzQyw4REFBNEM7QUFDNUMsMkRBQXlDO0FBQ3pDLHlEQUF1QztBQUN2QyxpRUFBK0M7QUFDL0MsK0RBQTZDO0FBQzdDLHNEQUFvQztBQUNwQyxzREFBb0M7QUFDcEMsNERBQTBDO0FBQzFDLHlEQUF1QztBQUN2QywrREFBNkM7QUFDN0MsMERBQXdDO0FBQ3hDLHdEQUFzQztBQUN0QywwREFBd0M7QUFDeEMsdURBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX3N0YWNrX2NyZWF0b3IuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX3N0YWNrX3Jlc29sdmVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RydWN0X2NvbnRhaW5lci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cnVjdF9mYWN0b3J5LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vb3V0cHV0X3JldHJpZXZhbF9zdHJhdGVneS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL291dHB1dF9zdG9yYWdlX3N0cmF0ZWd5LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aF9yZXNvdXJjZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX291dHB1dC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2ltcG9ydF9wYXRoX3ZlcmlmaWVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2VfcHJvdmlkZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX3NlY3JldF9yZXNvbHZlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2Z1bmN0aW9uX3Jlc291cmNlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FtcGxpZnlfZnVuY3Rpb24uanMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kX2lkZW50aWZpZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXBsb3ltZW50X3R5cGUuanMnO1xuIl19