@aws-amplify/graphql-api-construct 1.3.0 → 1.4.0-construct-publish-test.0

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 (252) hide show
  1. package/.jsii +903 -176
  2. package/API.md +80 -1
  3. package/CHANGELOG.md +11 -0
  4. package/README.md +623 -10
  5. package/lib/amplify-dynamodb-table-wrapper.d.ts +128 -0
  6. package/lib/amplify-dynamodb-table-wrapper.js +102 -0
  7. package/lib/amplify-graphql-api.d.ts +4 -0
  8. package/lib/amplify-graphql-api.js +10 -3
  9. package/lib/amplify-graphql-definition.d.ts +19 -2
  10. package/lib/amplify-graphql-definition.js +57 -5
  11. package/lib/index.d.ts +2 -1
  12. package/lib/index.js +5 -2
  13. package/lib/internal/construct-exports.js +8 -1
  14. package/lib/internal/data-source-config.d.ts +7 -0
  15. package/lib/internal/data-source-config.js +37 -0
  16. package/lib/internal/index.d.ts +1 -1
  17. package/lib/internal/index.js +2 -2
  18. package/lib/internal/model-type-name.d.ts +8 -0
  19. package/lib/internal/model-type-name.js +27 -0
  20. package/lib/types.d.ts +47 -7
  21. package/lib/types.js +1 -1
  22. package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.js +7 -9
  23. package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.js +15 -18
  24. package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.js +10 -16
  25. package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.js +22 -20
  26. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +12 -1
  27. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.js +37 -63
  28. package/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.js +16 -14
  29. package/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.js +7 -11
  30. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.d.ts +5 -0
  31. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.js +7 -9
  32. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.d.ts +5 -0
  33. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.js +9 -11
  34. package/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.js +7 -9
  35. package/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.js +9 -12
  36. package/node_modules/@aws-amplify/backend-output-schemas/package.json +4 -23
  37. package/node_modules/@aws-amplify/backend-output-storage/lib/index.d.ts +1 -0
  38. package/node_modules/@aws-amplify/backend-output-storage/lib/index.js +17 -14
  39. package/node_modules/@aws-amplify/backend-output-storage/lib/stack_metadata_output_storage_strategy.js +28 -32
  40. package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.d.ts +50 -0
  41. package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.js +104 -0
  42. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +5 -0
  43. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +9 -0
  44. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +9 -0
  45. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +13 -0
  46. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.d.ts +4 -0
  47. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.js +22 -0
  48. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +53 -0
  49. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +74 -0
  50. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/package.json +23 -0
  51. package/node_modules/@aws-amplify/backend-output-storage/package.json +6 -4
  52. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +4 -0
  53. package/node_modules/@aws-amplify/graphql-auth-transformer/LICENSE +201 -0
  54. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +11 -10
  55. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +4 -0
  56. package/node_modules/@aws-amplify/graphql-default-value-transformer/LICENSE +201 -0
  57. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +8 -7
  58. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +4 -0
  59. package/node_modules/@aws-amplify/graphql-function-transformer/LICENSE +201 -0
  60. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +7 -6
  61. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
  62. package/node_modules/@aws-amplify/graphql-http-transformer/LICENSE +201 -0
  63. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +7 -6
  64. package/node_modules/@aws-amplify/graphql-index-transformer/API.md +3 -0
  65. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +6 -0
  66. package/node_modules/@aws-amplify/graphql-index-transformer/LICENSE +201 -0
  67. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-index-transformer.js +4 -0
  68. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-index-transformer.js.map +1 -1
  69. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts.map +1 -1
  70. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js.map +1 -1
  71. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.d.ts +1 -1
  72. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.d.ts.map +1 -1
  73. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.js +2 -1
  74. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.js.map +1 -1
  75. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +5 -5
  76. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
  77. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +34 -8
  78. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
  79. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -7
  80. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -0
  81. package/node_modules/@aws-amplify/graphql-maps-to-transformer/LICENSE +201 -0
  82. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  83. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +11 -10
  84. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +6 -0
  85. package/node_modules/@aws-amplify/graphql-model-transformer/LICENSE +201 -0
  86. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts +2 -1
  87. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts.map +1 -1
  88. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js +52 -47
  89. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js.map +1 -1
  90. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  91. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  92. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  93. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts +15 -0
  94. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -0
  95. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +169 -0
  96. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -0
  97. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts +40 -0
  98. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts.map +1 -0
  99. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js +242 -0
  100. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js.map +1 -0
  101. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts +12 -0
  102. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts.map +1 -0
  103. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +663 -0
  104. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js.map +1 -0
  105. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.d.ts +5 -2
  106. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
  107. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js +47 -60
  108. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js.map +1 -1
  109. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +9 -6
  110. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
  111. package/node_modules/@aws-amplify/graphql-predictions-transformer/LICENSE +201 -0
  112. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  113. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +7 -6
  114. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +6 -0
  115. package/node_modules/@aws-amplify/graphql-relational-transformer/LICENSE +201 -0
  116. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
  117. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +3 -10
  118. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
  119. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +9 -8
  120. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -0
  121. package/node_modules/@aws-amplify/graphql-searchable-transformer/LICENSE +201 -0
  122. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  123. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -7
  124. package/node_modules/@aws-amplify/graphql-transformer/API.md +2 -2
  125. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +6 -0
  126. package/node_modules/@aws-amplify/graphql-transformer/LICENSE +201 -0
  127. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +3 -3
  128. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
  129. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
  130. package/node_modules/@aws-amplify/graphql-transformer/package.json +15 -14
  131. package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +3 -8
  132. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +9 -11
  133. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +6 -0
  134. package/node_modules/@aws-amplify/graphql-transformer-core/LICENSE +201 -0
  135. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.d.ts +0 -1
  136. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.d.ts.map +1 -1
  137. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.js.map +1 -1
  138. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +3 -3
  139. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
  140. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +3 -1
  141. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
  142. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts +1 -0
  143. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts.map +1 -1
  144. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js +3 -1
  145. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js.map +1 -1
  146. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
  147. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
  148. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +2 -3
  149. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
  150. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts +2 -1
  151. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts.map +1 -1
  152. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js +12 -1
  153. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js.map +1 -1
  154. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +3 -4
  155. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
  156. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +1 -0
  157. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
  158. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +3 -1
  159. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
  160. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts +3 -0
  161. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts.map +1 -0
  162. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js +15 -0
  163. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js.map +1 -0
  164. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +5 -4
  165. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +25 -3
  166. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +6 -0
  167. package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +201 -0
  168. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -1
  169. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
  170. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js +2 -1
  171. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js.map +1 -1
  172. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +2 -2
  173. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts +7 -1
  174. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts.map +1 -1
  175. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js +6 -1
  176. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js.map +1 -1
  177. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +3 -2
  178. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +4 -0
  179. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +2 -2
  180. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts +16 -1
  181. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  182. package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +5 -0
  183. package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +9 -0
  184. package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +9 -0
  185. package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +13 -0
  186. package/node_modules/@aws-amplify/platform-core/lib/index.d.ts +4 -0
  187. package/node_modules/@aws-amplify/platform-core/lib/index.js +22 -0
  188. package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +53 -0
  189. package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +74 -0
  190. package/node_modules/@aws-amplify/platform-core/package.json +24 -0
  191. package/node_modules/@aws-amplify/plugin-types/lib/amplify_function.d.ts +4 -0
  192. package/node_modules/@aws-amplify/plugin-types/lib/amplify_function.js +3 -0
  193. package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.d.ts +9 -0
  194. package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.js +3 -0
  195. package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.d.ts +42 -0
  196. package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.js +3 -0
  197. package/node_modules/@aws-amplify/plugin-types/lib/backend_output.d.ts +6 -0
  198. package/node_modules/@aws-amplify/plugin-types/lib/backend_output.js +3 -0
  199. package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.d.ts +13 -0
  200. package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.js +3 -0
  201. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.d.ts +8 -0
  202. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.js +3 -0
  203. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.d.ts +7 -0
  204. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.js +3 -0
  205. package/node_modules/@aws-amplify/plugin-types/lib/construct_container.d.ts +26 -0
  206. package/node_modules/@aws-amplify/plugin-types/lib/construct_container.js +3 -0
  207. package/node_modules/@aws-amplify/plugin-types/lib/construct_factory.d.ts +21 -0
  208. package/node_modules/@aws-amplify/plugin-types/lib/construct_factory.js +3 -0
  209. package/node_modules/@aws-amplify/plugin-types/lib/function_resources.d.ts +5 -0
  210. package/node_modules/@aws-amplify/plugin-types/lib/function_resources.js +3 -0
  211. package/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.d.ts +14 -0
  212. package/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.js +3 -0
  213. package/node_modules/@aws-amplify/plugin-types/lib/index.d.ts +16 -0
  214. package/node_modules/@aws-amplify/plugin-types/lib/index.js +32 -0
  215. package/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.d.ts +11 -0
  216. package/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.js +3 -0
  217. package/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.d.ts +8 -0
  218. package/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.js +3 -0
  219. package/node_modules/@aws-amplify/plugin-types/lib/resource_provider.d.ts +7 -0
  220. package/node_modules/@aws-amplify/plugin-types/lib/resource_provider.js +3 -0
  221. package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.d.ts +25 -0
  222. package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.js +3 -0
  223. package/node_modules/@aws-amplify/plugin-types/package.json +20 -0
  224. package/node_modules/graphql-transformer-common/API.md +3 -0
  225. package/node_modules/graphql-transformer-common/CHANGELOG.md +6 -0
  226. package/node_modules/graphql-transformer-common/LICENSE +201 -0
  227. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts +3 -0
  228. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts.map +1 -1
  229. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js +3 -0
  230. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js.map +1 -1
  231. package/node_modules/graphql-transformer-common/package.json +3 -2
  232. package/package.json +24 -24
  233. package/src/amplify-dynamodb-table-wrapper.ts +177 -0
  234. package/src/amplify-graphql-api.ts +10 -3
  235. package/src/amplify-graphql-definition.ts +63 -3
  236. package/src/index.ts +13 -0
  237. package/src/internal/construct-exports.ts +7 -0
  238. package/src/internal/data-source-config.ts +39 -0
  239. package/src/internal/index.ts +1 -1
  240. package/src/internal/model-type-name.ts +30 -0
  241. package/src/types.ts +54 -7
  242. package/babel.config.js +0 -13
  243. package/lib/internal/amplify-metadata.d.ts +0 -6
  244. package/lib/internal/amplify-metadata.js +0 -58
  245. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.internal.d.ts +0 -3
  246. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.internal.js +0 -27
  247. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.d.ts +0 -6
  248. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.d.ts.map +0 -1
  249. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.js +0 -3
  250. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.js.map +0 -1
  251. package/remove-module-type-from-package-json.ts +0 -19
  252. package/src/internal/amplify-metadata.ts +0 -58
@@ -1,7 +1,15 @@
1
1
  import * as os from 'os';
2
2
  import { SchemaFile } from 'aws-cdk-lib/aws-appsync';
3
- import { IAmplifyGraphqlDefinition } from './types';
3
+ import { IAmplifyGraphqlDefinition, ModelDataSourceDefinition } from './types';
4
+ import { constructDataSourceDefinitionMap } from './internal';
4
5
 
6
+ export const DEFAULT_MODEL_DATA_SOURCE_DEFINITION: ModelDataSourceDefinition = {
7
+ name: 'DefaultDynamoDB',
8
+ strategy: {
9
+ dbType: 'DYNAMODB',
10
+ provisionStrategy: 'DEFAULT',
11
+ },
12
+ };
5
13
  /**
6
14
  * Class exposing utilities to produce IAmplifyGraphqlDefinition objects given various inputs.
7
15
  */
@@ -9,12 +17,18 @@ export class AmplifyGraphqlDefinition {
9
17
  /**
10
18
  * Produce a schema definition from a string input
11
19
  * @param schema the graphql input as a string
20
+ * @param modelDataSourceDefinition the provision definition for `@model` datasource. The DynamoDB from CloudFormation will be used by default.
21
+ * @experimental modelDataSourceDefinition
12
22
  * @returns a fully formed amplify graphql definition
13
23
  */
14
- static fromString(schema: string): IAmplifyGraphqlDefinition {
24
+ static fromString(
25
+ schema: string,
26
+ modelDataSourceDefinition: ModelDataSourceDefinition = DEFAULT_MODEL_DATA_SOURCE_DEFINITION,
27
+ ): IAmplifyGraphqlDefinition {
15
28
  return {
16
29
  schema,
17
30
  functionSlots: [],
31
+ dataSourceDefinition: constructDataSourceDefinitionMap(schema, modelDataSourceDefinition),
18
32
  };
19
33
  }
20
34
 
@@ -24,9 +38,55 @@ export class AmplifyGraphqlDefinition {
24
38
  * @returns a fully formed amplify graphql definition
25
39
  */
26
40
  static fromFiles(...filePaths: string[]): IAmplifyGraphqlDefinition {
41
+ if (!Array.isArray(filePaths)) {
42
+ filePaths = [filePaths];
43
+ }
44
+ const schema = filePaths.map((filePath) => new SchemaFile({ filePath }).definition).join(os.EOL);
27
45
  return {
28
- schema: filePaths.map((filePath) => new SchemaFile({ filePath }).definition).join(os.EOL),
46
+ schema,
47
+ functionSlots: [],
48
+ dataSourceDefinition: constructDataSourceDefinitionMap(schema, DEFAULT_MODEL_DATA_SOURCE_DEFINITION),
49
+ };
50
+ }
51
+
52
+ /**
53
+ * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
54
+ * @experimental
55
+ * @param filePaths one or more paths to the graphql files to process
56
+ * @param modelDataSourceDefinition the provision definition for `@model` datasource. The DynamoDB from CloudFormation will be used by default.
57
+ * @returns a fully formed amplify graphql definition
58
+ */
59
+ static fromFilesAndDefinition(
60
+ filePaths: string | string[],
61
+ modelDataSourceDefinition: ModelDataSourceDefinition = DEFAULT_MODEL_DATA_SOURCE_DEFINITION,
62
+ ): IAmplifyGraphqlDefinition {
63
+ if (!Array.isArray(filePaths)) {
64
+ filePaths = [filePaths];
65
+ }
66
+ const schema = filePaths.map((filePath) => new SchemaFile({ filePath }).definition).join(os.EOL);
67
+ return {
68
+ schema,
69
+ functionSlots: [],
70
+ dataSourceDefinition: constructDataSourceDefinitionMap(schema, modelDataSourceDefinition),
71
+ };
72
+ }
73
+
74
+ /**
75
+ * Combines multiple IAmplifyGraphqlDefinitions into a single definition.
76
+ * @experimental
77
+ * @param definitions the definitions to combine
78
+ */
79
+ static combine(definitions: IAmplifyGraphqlDefinition[]): IAmplifyGraphqlDefinition {
80
+ if (definitions.length === 0) {
81
+ throw new Error('The definitions of amplify GraphQL cannot be empty.');
82
+ }
83
+ if (definitions.length === 1) {
84
+ return definitions[0];
85
+ }
86
+ return {
87
+ schema: definitions.map((def) => def.schema).join(os.EOL),
29
88
  functionSlots: [],
89
+ dataSourceDefinition: definitions.reduce((acc, cur) => ({ ...acc, ...cur.dataSourceDefinition }), {}),
30
90
  };
31
91
  }
32
92
  }
package/src/index.ts CHANGED
@@ -27,6 +27,19 @@ export type {
27
27
  IBackendOutputStorageStrategy,
28
28
  IBackendOutputEntry,
29
29
  AddFunctionProps,
30
+ ModelDataSourceDefinition,
31
+ ModelDataSourceDefinitionStrategy,
32
+ DefaultDynamoDbModelDataSourceDefinitionStrategy,
33
+ AmplifyDynamoDbModelDataSourceDefinitionStrategy,
34
+ ModelDataSourceDefinitionDbType,
30
35
  } from './types';
31
36
  export { AmplifyGraphqlApi } from './amplify-graphql-api';
32
37
  export { AmplifyGraphqlDefinition } from './amplify-graphql-definition';
38
+ export {
39
+ AmplifyDynamoDbTableWrapper,
40
+ TimeToLiveSpecification,
41
+ ProvisionedThroughput,
42
+ SSESpecification,
43
+ SSEType,
44
+ StreamSpecification,
45
+ } from './amplify-dynamodb-table-wrapper';
@@ -14,6 +14,7 @@ import { CfnResource, NestedStack } from 'aws-cdk-lib';
14
14
  import { getResourceName } from '@aws-amplify/graphql-transformer-core';
15
15
  import { CfnFunction, Function as LambdaFunction } from 'aws-cdk-lib/aws-lambda';
16
16
  import { AmplifyGraphqlApiResources, FunctionSlot } from '../types';
17
+ import { AmplifyDynamoDbTableWrapper } from '../amplify-dynamodb-table-wrapper';
17
18
  import { walkAndProcessNodes } from './construct-tree';
18
19
 
19
20
  /**
@@ -34,6 +35,7 @@ export const getGeneratedResources = (scope: Construct): AmplifyGraphqlApiResour
34
35
  const cfnDataSources: Record<string, CfnDataSource> = {};
35
36
  const tables: Record<string, Table> = {};
36
37
  const cfnTables: Record<string, CfnTable> = {};
38
+ const amplifyDynamoDbTables: Record<string, AmplifyDynamoDbTableWrapper> = {};
37
39
  const roles: Record<string, Role> = {};
38
40
  const cfnRoles: Record<string, CfnRole> = {};
39
41
  const functions: Record<string, LambdaFunction> = {};
@@ -78,6 +80,10 @@ export const getGeneratedResources = (scope: Construct): AmplifyGraphqlApiResour
78
80
  cfnTables[resourceName] = currentScope;
79
81
  return;
80
82
  }
83
+ if (AmplifyDynamoDbTableWrapper.isAmplifyDynamoDbTableResource(currentScope)) {
84
+ amplifyDynamoDbTables[resourceName] = new AmplifyDynamoDbTableWrapper(currentScope);
85
+ return;
86
+ }
81
87
  if (currentScope instanceof Role) {
82
88
  roles[resourceName] = currentScope;
83
89
  return;
@@ -117,6 +123,7 @@ export const getGeneratedResources = (scope: Construct): AmplifyGraphqlApiResour
117
123
  return {
118
124
  graphqlApi: GraphqlApi.fromGraphqlApiAttributes(scope, 'L2GraphqlApi', { graphqlApiId: cfnGraphqlApi.attrApiId }),
119
125
  tables,
126
+ amplifyDynamoDbTables,
120
127
  roles,
121
128
  functions,
122
129
  nestedStacks,
@@ -0,0 +1,39 @@
1
+ import { ModelDataSourceDefinition } from '../types';
2
+ import { DataSourceType, DynamoDBProvisionStrategy } from '@aws-amplify/graphql-transformer-interfaces';
3
+
4
+ type DataSourceConfig = {
5
+ modelToDatasourceMap: Map<string, DataSourceType>;
6
+ };
7
+ const convertToDataSourceType = (modelDataSourceDefinition: ModelDataSourceDefinition): DataSourceType => {
8
+ const { strategy } = modelDataSourceDefinition;
9
+ if (strategy.dbType === 'DYNAMODB') {
10
+ switch (strategy.provisionStrategy) {
11
+ case 'DEFAULT':
12
+ return {
13
+ dbType: 'DDB',
14
+ provisionDB: true,
15
+ provisionStrategy: DynamoDBProvisionStrategy.DEFAULT,
16
+ };
17
+ case 'AMPLIFY_TABLE':
18
+ return {
19
+ dbType: 'DDB',
20
+ provisionDB: true,
21
+ provisionStrategy: DynamoDBProvisionStrategy.AMPLIFY_TABLE,
22
+ };
23
+ default:
24
+ throw new Error(`Encountered unexpected provision strategy: ${(strategy as any).provisionStrategy}`);
25
+ }
26
+ }
27
+ throw new Error(`Encountered unexpected database type ${strategy.dbType}`);
28
+ };
29
+
30
+ export const parseDataSourceConfig = (dataSourceDefinitionMap: Record<string, ModelDataSourceDefinition>): DataSourceConfig => {
31
+ const modelToDatasourceMap = new Map<string, DataSourceType>();
32
+ for (const [key, value] of Object.entries(dataSourceDefinitionMap)) {
33
+ const dataSourceType = convertToDataSourceType(value);
34
+ modelToDatasourceMap.set(key, dataSourceType);
35
+ }
36
+ return {
37
+ modelToDatasourceMap,
38
+ };
39
+ };
@@ -4,4 +4,4 @@ export * from './default-parameters';
4
4
  export * from './conflict-resolution';
5
5
  export * from './asset-manager';
6
6
  export * from './codegen-assets';
7
- export * from './amplify-metadata';
7
+ export * from './model-type-name';
@@ -0,0 +1,30 @@
1
+ import { Kind, ObjectTypeDefinitionNode, parse } from 'graphql';
2
+ import { ModelDataSourceDefinition } from '../types';
3
+
4
+ const MODEL_DIRECTIVE_NAME = 'model';
5
+ /**
6
+ * Get the type names with model directives in the GraphQL schema in SDL
7
+ * @param schema graphql schema in SDL
8
+ * @returns type names which model diretives are attached
9
+ */
10
+ export function getModelTypeNames(schema: string): string[] {
11
+ const parsedDocument = parse(schema);
12
+ const nodesWithModelDirective = parsedDocument.definitions.filter(
13
+ (def) =>
14
+ def.kind === Kind.OBJECT_TYPE_DEFINITION &&
15
+ def.directives &&
16
+ def.directives.find((dir) => dir.name.value === MODEL_DIRECTIVE_NAME) != undefined,
17
+ ) as ObjectTypeDefinitionNode[];
18
+ return nodesWithModelDirective.map((node) => node.name.value);
19
+ }
20
+
21
+ export function constructDataSourceDefinitionMap(
22
+ schema: string,
23
+ dataSourceDefinition: ModelDataSourceDefinition,
24
+ ): Record<string, ModelDataSourceDefinition> {
25
+ const parsedSchema = parse(schema);
26
+ return parsedSchema.definitions
27
+ .filter((obj) => obj.kind === Kind.OBJECT_TYPE_DEFINITION && obj.directives?.some((dir) => dir.name.value === MODEL_DIRECTIVE_NAME))
28
+ .map((type) => (type as ObjectTypeDefinitionNode).name.value)
29
+ .reduce((acc, cur) => ({ ...acc, [cur]: dataSourceDefinition }), {});
30
+ }
package/src/types.ts CHANGED
@@ -17,6 +17,7 @@ import { IRole, CfnRole } from 'aws-cdk-lib/aws-iam';
17
17
  import { IUserPool } from 'aws-cdk-lib/aws-cognito';
18
18
  import { IFunction, CfnFunction } from 'aws-cdk-lib/aws-lambda';
19
19
  import { IBucket } from 'aws-cdk-lib/aws-s3';
20
+ import { AmplifyDynamoDbTableWrapper } from './amplify-dynamodb-table-wrapper';
20
21
 
21
22
  /**
22
23
  * Configuration for IAM Authorization on the Graphql Api.
@@ -400,13 +401,6 @@ export interface TranslationBehavior {
400
401
  */
401
402
  readonly respectPrimaryKeyAttributesOnConnectionField: boolean;
402
403
 
403
- /**
404
- * If enabled, set nodeToNodeEncryption on the searchable domain (if one exists). Not recommended for use, prefer
405
- * to use `Object.values(resources.additionalResources['AWS::Elasticsearch::Domain']).forEach((domain: CfnDomain) => {
406
- * domain.NodeToNodeEncryptionOptions = { Enabled: True };
407
- * });
408
- * @default false
409
- */
410
404
  readonly enableSearchNodeToNodeEncryption: boolean;
411
405
 
412
406
  /**
@@ -509,6 +503,12 @@ export interface IAmplifyGraphqlDefinition {
509
503
  * @returns generated function slots
510
504
  */
511
505
  readonly functionSlots: FunctionSlot[];
506
+
507
+ /**
508
+ * Retrieve the datasource definition mapping. The default strategy is to use DynamoDB from CloudFormation.
509
+ * @returns datasource definition mapping
510
+ */
511
+ readonly dataSourceDefinition: Record<string, ModelDataSourceDefinition>;
512
512
  }
513
513
 
514
514
  /**
@@ -539,6 +539,48 @@ export interface IBackendOutputStorageStrategy {
539
539
  addBackendOutputEntry(keyName: string, backendOutputEntry: IBackendOutputEntry): void;
540
540
  }
541
541
 
542
+ /**
543
+ * Defines a datasource for resolving GraphQL operations against `@model` types in a GraphQL schema.
544
+ * @experimental
545
+ */
546
+ export interface ModelDataSourceDefinition {
547
+ /**
548
+ * The name of the ModelDataSource. This will be used to name the AppSynce DataSource itself, plus any associated resources like resolver
549
+ * Lambdas, custom CDK resources. This name must be unique across all schema definitions in a GraphQL API.
550
+ */
551
+ readonly name: string;
552
+ /**
553
+ * The ModelDataSourceDefinitionStrategy.
554
+ */
555
+ readonly strategy: ModelDataSourceDefinitionStrategy;
556
+ }
557
+ /**
558
+ * All known ModelDataSourceDefinitionStrategies. Concrete strategies vary widely in their requirements and implementations.
559
+ * @experimental
560
+ */
561
+ export type ModelDataSourceDefinitionStrategy =
562
+ | DefaultDynamoDbModelDataSourceDefinitionStrategy
563
+ | AmplifyDynamoDbModelDataSourceDefinitionStrategy;
564
+
565
+ export type ModelDataSourceDefinitionDbType = 'DYNAMODB';
566
+
567
+ /**
568
+ * Use default CloudFormation type 'AWS::DynamoDB::Table' to provision table.
569
+ * @experimental
570
+ */
571
+ export interface DefaultDynamoDbModelDataSourceDefinitionStrategy {
572
+ readonly dbType: 'DYNAMODB';
573
+ readonly provisionStrategy: 'DEFAULT';
574
+ }
575
+ /**
576
+ * Use custom resource type 'Custom::AmplifyDynamoDBTable' to provision table.
577
+ * @experimental
578
+ */
579
+ export interface AmplifyDynamoDbModelDataSourceDefinitionStrategy {
580
+ readonly dbType: 'DYNAMODB';
581
+ readonly provisionStrategy: 'AMPLIFY_TABLE';
582
+ }
583
+
542
584
  /**
543
585
  * Input props for the AmplifyGraphqlApi construct. Specifies what the input to transform into an Api, and configurations for
544
586
  * the transformation process.
@@ -686,6 +728,11 @@ export interface AmplifyGraphqlApiResources {
686
728
  */
687
729
  readonly tables: Record<string, ITable>;
688
730
 
731
+ /**
732
+ * The Generated Amplify DynamoDb Table wrapped if produced, keyed by name.
733
+ */
734
+ readonly amplifyDynamoDbTables: Record<string, AmplifyDynamoDbTableWrapper>;
735
+
689
736
  /**
690
737
  * The Generated IAM Role L2 Resources, keyed by logicalId.
691
738
  */
package/babel.config.js DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * During the build of this package we are transforming a couple node_modules in place.
3
- * This config is used for that transformation
4
- * See the transform-deps script in package.json for specifics on which packages are being transformed
5
- */
6
-
7
- module.exports = (api) => {
8
- api.cache(true);
9
-
10
- return {
11
- plugins: ['@babel/plugin-transform-modules-commonjs'],
12
- };
13
- };
@@ -1,6 +0,0 @@
1
- import { Construct } from 'constructs';
2
- /**
3
- * If possible, attach the stack description to the parent stack.
4
- * @param scope the scope we will use to append metadata
5
- */
6
- export declare const addAmplifyMetadataToStackDescription: (scope: Construct) => void;
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addAmplifyMetadataToStackDescription = void 0;
4
- const os = require("os");
5
- const fs = require("fs");
6
- const path = require("path");
7
- const construct_tree_1 = require("./construct-tree");
8
- /**
9
- * Compute the platform string, based on
10
- * https://github.com/aws-amplify/amplify-cli/blob/88da2c9fca04d6ce734b078868d02c110db7d6a3/packages/amplify-provider-awscloudformation/src/template-description-utils.ts#L60-L70
11
- * @returns the platform string
12
- */
13
- const getPlatform = () => {
14
- switch (os.platform()) {
15
- case 'darwin':
16
- return 'Mac';
17
- case 'win32':
18
- return 'Windows';
19
- case 'linux':
20
- return 'Linux';
21
- default:
22
- return 'Other';
23
- }
24
- };
25
- const getLibraryVersion = () => {
26
- const packageJsonPath = path.join(__dirname, '..', '..', 'package.json');
27
- if (!fs.existsSync(packageJsonPath)) {
28
- throw new Error('Could not load determine library version for metadata generation.');
29
- }
30
- const packageJsonContents = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
31
- const libraryVersion = packageJsonContents.version;
32
- if (!libraryVersion) {
33
- throw new Error('Library version could not be read from package json for metadata generation.');
34
- }
35
- return libraryVersion;
36
- };
37
- /**
38
- * Compute the bi-metadata string to embed somewhere in the stack
39
- * @returns the metadata string to compute amplify attribution
40
- */
41
- const getAttributionMetadata = () => ({
42
- createdOn: getPlatform(),
43
- createdBy: 'AmplifyCDK',
44
- createdWith: getLibraryVersion(),
45
- stackType: 'api-AppSync',
46
- });
47
- /**
48
- * If possible, attach the stack description to the parent stack.
49
- * @param scope the scope we will use to append metadata
50
- */
51
- const addAmplifyMetadataToStackDescription = (scope) => {
52
- const stack = (0, construct_tree_1.getStackForScope)(scope);
53
- if (!stack.templateOptions.description || stack.templateOptions.description === '') {
54
- stack.templateOptions.description = JSON.stringify(getAttributionMetadata());
55
- }
56
- };
57
- exports.addAmplifyMetadataToStackDescription = addAmplifyMetadataToStackDescription;
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1tZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcm5hbC9hbXBsaWZ5LW1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsNkJBQTZCO0FBRTdCLHFEQUFvRDtBQUVwRDs7OztHQUlHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsR0FBVyxFQUFFO0lBQy9CLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ3JCLEtBQUssUUFBUTtZQUNYLE9BQU8sS0FBSyxDQUFDO1FBQ2YsS0FBSyxPQUFPO1lBQ1YsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxPQUFPLENBQUM7UUFDakI7WUFDRSxPQUFPLE9BQU8sQ0FBQztLQUNsQjtBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0saUJBQWlCLEdBQUcsR0FBVyxFQUFFO0lBQ3JDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDekUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUU7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO0tBQ3RGO0lBQ0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEYsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDO0lBQ25ELElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4RUFBOEUsQ0FBQyxDQUFDO0tBQ2pHO0lBQ0QsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxHQUEyQixFQUFFLENBQUMsQ0FBQztJQUM1RCxTQUFTLEVBQUUsV0FBVyxFQUFFO0lBQ3hCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRTtJQUNoQyxTQUFTLEVBQUUsYUFBYTtDQUN6QixDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSSxNQUFNLG9DQUFvQyxHQUFHLENBQUMsS0FBZ0IsRUFBUSxFQUFFO0lBQzdFLE1BQU0sS0FBSyxHQUFHLElBQUEsaUNBQWdCLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVyxLQUFLLEVBQUUsRUFBRTtRQUNsRixLQUFLLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztLQUM5RTtBQUNILENBQUMsQ0FBQztBQUxXLFFBQUEsb0NBQW9DLHdDQUsvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGdldFN0YWNrRm9yU2NvcGUgfSBmcm9tICcuL2NvbnN0cnVjdC10cmVlJztcblxuLyoqXG4gKiBDb21wdXRlIHRoZSBwbGF0Zm9ybSBzdHJpbmcsIGJhc2VkIG9uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYXdzLWFtcGxpZnkvYW1wbGlmeS1jbGkvYmxvYi84OGRhMmM5ZmNhMDRkNmNlNzM0YjA3ODg2OGQwMmMxMTBkYjdkNmEzL3BhY2thZ2VzL2FtcGxpZnktcHJvdmlkZXItYXdzY2xvdWRmb3JtYXRpb24vc3JjL3RlbXBsYXRlLWRlc2NyaXB0aW9uLXV0aWxzLnRzI0w2MC1MNzBcbiAqIEByZXR1cm5zIHRoZSBwbGF0Zm9ybSBzdHJpbmdcbiAqL1xuY29uc3QgZ2V0UGxhdGZvcm0gPSAoKTogc3RyaW5nID0+IHtcbiAgc3dpdGNoIChvcy5wbGF0Zm9ybSgpKSB7XG4gICAgY2FzZSAnZGFyd2luJzpcbiAgICAgIHJldHVybiAnTWFjJztcbiAgICBjYXNlICd3aW4zMic6XG4gICAgICByZXR1cm4gJ1dpbmRvd3MnO1xuICAgIGNhc2UgJ2xpbnV4JzpcbiAgICAgIHJldHVybiAnTGludXgnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ090aGVyJztcbiAgfVxufTtcblxuY29uc3QgZ2V0TGlicmFyeVZlcnNpb24gPSAoKTogc3RyaW5nID0+IHtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ3BhY2thZ2UuanNvbicpO1xuICBpZiAoIWZzLmV4aXN0c1N5bmMocGFja2FnZUpzb25QYXRoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGxvYWQgZGV0ZXJtaW5lIGxpYnJhcnkgdmVyc2lvbiBmb3IgbWV0YWRhdGEgZ2VuZXJhdGlvbi4nKTtcbiAgfVxuICBjb25zdCBwYWNrYWdlSnNvbkNvbnRlbnRzID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGFja2FnZUpzb25QYXRoLCAndXRmLTgnKSk7XG4gIGNvbnN0IGxpYnJhcnlWZXJzaW9uID0gcGFja2FnZUpzb25Db250ZW50cy52ZXJzaW9uO1xuICBpZiAoIWxpYnJhcnlWZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdMaWJyYXJ5IHZlcnNpb24gY291bGQgbm90IGJlIHJlYWQgZnJvbSBwYWNrYWdlIGpzb24gZm9yIG1ldGFkYXRhIGdlbmVyYXRpb24uJyk7XG4gIH1cbiAgcmV0dXJuIGxpYnJhcnlWZXJzaW9uO1xufTtcblxuLyoqXG4gKiBDb21wdXRlIHRoZSBiaS1tZXRhZGF0YSBzdHJpbmcgdG8gZW1iZWQgc29tZXdoZXJlIGluIHRoZSBzdGFja1xuICogQHJldHVybnMgdGhlIG1ldGFkYXRhIHN0cmluZyB0byBjb21wdXRlIGFtcGxpZnkgYXR0cmlidXRpb25cbiAqL1xuY29uc3QgZ2V0QXR0cmlidXRpb25NZXRhZGF0YSA9ICgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+ICh7XG4gIGNyZWF0ZWRPbjogZ2V0UGxhdGZvcm0oKSxcbiAgY3JlYXRlZEJ5OiAnQW1wbGlmeUNESycsXG4gIGNyZWF0ZWRXaXRoOiBnZXRMaWJyYXJ5VmVyc2lvbigpLFxuICBzdGFja1R5cGU6ICdhcGktQXBwU3luYycsXG59KTtcblxuLyoqXG4gKiBJZiBwb3NzaWJsZSwgYXR0YWNoIHRoZSBzdGFjayBkZXNjcmlwdGlvbiB0byB0aGUgcGFyZW50IHN0YWNrLlxuICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB3ZSB3aWxsIHVzZSB0byBhcHBlbmQgbWV0YWRhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IGFkZEFtcGxpZnlNZXRhZGF0YVRvU3RhY2tEZXNjcmlwdGlvbiA9IChzY29wZTogQ29uc3RydWN0KTogdm9pZCA9PiB7XG4gIGNvbnN0IHN0YWNrID0gZ2V0U3RhY2tGb3JTY29wZShzY29wZSk7XG4gIGlmICghc3RhY2sudGVtcGxhdGVPcHRpb25zLmRlc2NyaXB0aW9uIHx8IHN0YWNrLnRlbXBsYXRlT3B0aW9ucy5kZXNjcmlwdGlvbiA9PT0gJycpIHtcbiAgICBzdGFjay50ZW1wbGF0ZU9wdGlvbnMuZGVzY3JpcHRpb24gPSBKU09OLnN0cmluZ2lmeShnZXRBdHRyaWJ1dGlvbk1ldGFkYXRhKCkpO1xuICB9XG59O1xuIl19
@@ -1,3 +0,0 @@
1
- export * from './index.js';
2
- export * from './platform/index.js';
3
- //# sourceMappingURL=index.internal.d.ts.map
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _index = require("./index.js");
7
- Object.keys(_index).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _index[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _index[key];
14
- }
15
- });
16
- });
17
- var _index2 = require("./platform/index.js");
18
- Object.keys(_index2).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _index2[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _index2[key];
25
- }
26
- });
27
- });
@@ -1,6 +0,0 @@
1
- export type DBType = 'MySQL' | 'DDB';
2
- export interface DatasourceType {
3
- dbType: DBType;
4
- provisionDB: boolean;
5
- }
6
- //# sourceMappingURL=project-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/config/project-config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAErC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=project-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/config/project-config.ts"],"names":[],"mappings":""}
@@ -1,19 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
-
4
- /**
5
- * This script is used as part of the build process for the package when transforming some esm dependencies to cjs compatible packages
6
- * It removes the "type" field from a package.json file so that node will use the cjs module loader rather than esm
7
- */
8
-
9
- const packagePath = process.argv[2];
10
- if (!packagePath) {
11
- throw new Error('A path must be specified as the first and only arg to the script');
12
- }
13
-
14
- const packageJsonPath = path.join(packagePath, 'package.json');
15
-
16
- const packageJsonObj = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
17
- delete packageJsonObj.type;
18
- fs.writeFileSync(packageJsonPath, JSON.stringify(packageJsonObj, null, 2));
19
- console.log(`removed "type" field from ${packageJsonPath}`);
@@ -1,58 +0,0 @@
1
- import * as os from 'os';
2
- import * as fs from 'fs';
3
- import * as path from 'path';
4
- import { Construct } from 'constructs';
5
- import { getStackForScope } from './construct-tree';
6
-
7
- /**
8
- * Compute the platform string, based on
9
- * https://github.com/aws-amplify/amplify-cli/blob/88da2c9fca04d6ce734b078868d02c110db7d6a3/packages/amplify-provider-awscloudformation/src/template-description-utils.ts#L60-L70
10
- * @returns the platform string
11
- */
12
- const getPlatform = (): string => {
13
- switch (os.platform()) {
14
- case 'darwin':
15
- return 'Mac';
16
- case 'win32':
17
- return 'Windows';
18
- case 'linux':
19
- return 'Linux';
20
- default:
21
- return 'Other';
22
- }
23
- };
24
-
25
- const getLibraryVersion = (): string => {
26
- const packageJsonPath = path.join(__dirname, '..', '..', 'package.json');
27
- if (!fs.existsSync(packageJsonPath)) {
28
- throw new Error('Could not load determine library version for metadata generation.');
29
- }
30
- const packageJsonContents = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
31
- const libraryVersion = packageJsonContents.version;
32
- if (!libraryVersion) {
33
- throw new Error('Library version could not be read from package json for metadata generation.');
34
- }
35
- return libraryVersion;
36
- };
37
-
38
- /**
39
- * Compute the bi-metadata string to embed somewhere in the stack
40
- * @returns the metadata string to compute amplify attribution
41
- */
42
- const getAttributionMetadata = (): Record<string, string> => ({
43
- createdOn: getPlatform(),
44
- createdBy: 'AmplifyCDK',
45
- createdWith: getLibraryVersion(),
46
- stackType: 'api-AppSync',
47
- });
48
-
49
- /**
50
- * If possible, attach the stack description to the parent stack.
51
- * @param scope the scope we will use to append metadata
52
- */
53
- export const addAmplifyMetadataToStackDescription = (scope: Construct): void => {
54
- const stack = getStackForScope(scope);
55
- if (!stack.templateOptions.description || stack.templateOptions.description === '') {
56
- stack.templateOptions.description = JSON.stringify(getAttributionMetadata());
57
- }
58
- };