@webiny/project-aws 6.3.0-beta.4 → 6.4.0-beta.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.
- package/_templates/appTemplates/admin/src/index.tsx +0 -3
- package/abstractions/ApiGqlClient.js +2 -1
- package/abstractions/ApiGqlClient.js.map +1 -1
- package/abstractions/InvokeLambdaFunction.js +2 -1
- package/abstractions/InvokeLambdaFunction.js.map +1 -1
- package/abstractions/features/pulumi/AdminPulumi.js +2 -1
- package/abstractions/features/pulumi/AdminPulumi.js.map +1 -1
- package/abstractions/features/pulumi/ApiPulumi.js +2 -1
- package/abstractions/features/pulumi/ApiPulumi.js.map +1 -1
- package/abstractions/features/pulumi/CorePulumi.js +2 -1
- package/abstractions/features/pulumi/CorePulumi.js.map +1 -1
- package/abstractions/features/pulumi/index.js +0 -2
- package/abstractions/index.js +0 -2
- package/abstractions/services/AdminStackOutputService.js +2 -1
- package/abstractions/services/AdminStackOutputService.js.map +1 -1
- package/abstractions/services/ApiStackOutputService.js +2 -1
- package/abstractions/services/ApiStackOutputService.js.map +1 -1
- package/abstractions/services/CoreStackOutputService.js +2 -1
- package/abstractions/services/CoreStackOutputService.js.map +1 -1
- package/admin.js +5 -4
- package/admin.js.map +1 -1
- package/api.js +13 -12
- package/api.js.map +1 -1
- package/apps/createAdminApp.js +11 -12
- package/apps/createAdminApp.js.map +1 -1
- package/apps/createAdminAppConfig.js +12 -18
- package/apps/createAdminAppConfig.js.map +1 -1
- package/apps/createApiApp.js +17 -22
- package/apps/createApiApp.js.map +1 -1
- package/apps/createBlueGreenApp.js +13 -16
- package/apps/createBlueGreenApp.js.map +1 -1
- package/apps/createCoreApp.js +12 -13
- package/apps/createCoreApp.js.map +1 -1
- package/apps/createReactAppConfig.d.ts +0 -7
- package/apps/createReactAppConfig.js +56 -69
- package/apps/createReactAppConfig.js.map +1 -1
- package/apps/createSyncSystemApp.js +8 -7
- package/apps/createSyncSystemApp.js.map +1 -1
- package/apps/index.js +0 -2
- package/cli.js +3 -2
- package/cli.js.map +1 -1
- package/exports/extensions.js +0 -2
- package/exports/infra/admin.js +0 -2
- package/exports/infra/api.js +0 -2
- package/exports/infra/core.js +0 -2
- package/exports/infra.js +1 -3
- package/extensions/ApiLambdaFunction.js +45 -56
- package/extensions/ApiLambdaFunction.js.map +1 -1
- package/extensions/ApiRoute.js +90 -104
- package/extensions/ApiRoute.js.map +1 -1
- package/extensions/AwsDefaultRegion.js +17 -16
- package/extensions/AwsDefaultRegion.js.map +1 -1
- package/extensions/Cms/ModelFieldCompression.js +16 -15
- package/extensions/Cms/ModelFieldCompression.js.map +1 -1
- package/extensions/Encryption.js +30 -29
- package/extensions/Encryption.js.map +1 -1
- package/extensions/Mailer/Smtp.js +15 -14
- package/extensions/Mailer/Smtp.js.map +1 -1
- package/extensions/Mailer/Smtp.test.js +117 -131
- package/extensions/Mailer/Smtp.test.js.map +1 -1
- package/extensions/Mailer/SmtpParamsSchema.js +11 -14
- package/extensions/Mailer/SmtpParamsSchema.js.map +1 -1
- package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js +25 -30
- package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js.map +1 -1
- package/extensions/OpenSearch/EnsureOsWasDeployed.js +14 -24
- package/extensions/OpenSearch/EnsureOsWasDeployed.js.map +1 -1
- package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js +25 -21
- package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js.map +1 -1
- package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js +26 -22
- package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js.map +1 -1
- package/extensions/OpenSearch.js +30 -31
- package/extensions/OpenSearch.js.map +1 -1
- package/extensions/ProjectAws/AdminStackOutputService.js +0 -2
- package/extensions/ProjectAws/ApiStackOutputService.js +0 -2
- package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js +65 -74
- package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js.map +1 -1
- package/extensions/ProjectAws/AutoInstall.js +15 -14
- package/extensions/ProjectAws/AutoInstall.js.map +1 -1
- package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js +15 -19
- package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js.map +1 -1
- package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js +56 -45
- package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js.map +1 -1
- package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js +57 -55
- package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js.map +1 -1
- package/extensions/ProjectAws/BuildAppWorkspace.js +49 -54
- package/extensions/ProjectAws/BuildAppWorkspace.js.map +1 -1
- package/extensions/ProjectAws/CoreStackOutputService.js +0 -2
- package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js +26 -30
- package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js.map +1 -1
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js +25 -38
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js.map +1 -1
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js +22 -17
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js.map +1 -1
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js +22 -17
- package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js.map +1 -1
- package/extensions/ProjectAws/SetDatabaseSetupOutput.js +20 -21
- package/extensions/ProjectAws/SetDatabaseSetupOutput.js.map +1 -1
- package/extensions/ProjectAws/UploadAdminAppToS3.js +53 -58
- package/extensions/ProjectAws/UploadAdminAppToS3.js.map +1 -1
- package/extensions/ProjectAws/definitions.js +13 -6
- package/extensions/ProjectAws/definitions.js.map +1 -1
- package/extensions/ProjectAws.js +44 -45
- package/extensions/ProjectAws.js.map +1 -1
- package/extensions/RegisterRoutesPulumi.js +24 -29
- package/extensions/RegisterRoutesPulumi.js.map +1 -1
- package/extensions/definitions.js +10 -3
- package/extensions/definitions.js.map +1 -1
- package/extensions/index.js +0 -2
- package/features/ApiGqlClient.js +46 -51
- package/features/ApiGqlClient.js.map +1 -1
- package/features/InvokeLambdaFunction.js +30 -32
- package/features/InvokeLambdaFunction.js.map +1 -1
- package/features/index.js +0 -2
- package/index.js +0 -2
- package/infra.js +57 -59
- package/infra.js.map +1 -1
- package/package.json +14 -14
- package/project.js +7 -6
- package/project.js.map +1 -1
- package/pulumi/apps/admin/createAdminPulumiApp.js +36 -44
- package/pulumi/apps/admin/createAdminPulumiApp.js.map +1 -1
- package/pulumi/apps/admin/index.js +0 -2
- package/pulumi/apps/api/ApiBackgroundTask.js +153 -137
- package/pulumi/apps/api/ApiBackgroundTask.js.map +1 -1
- package/pulumi/apps/api/ApiCloudfront.js +188 -130
- package/pulumi/apps/api/ApiCloudfront.js.map +1 -1
- package/pulumi/apps/api/ApiFileManager.js +34 -33
- package/pulumi/apps/api/ApiFileManager.js.map +1 -1
- package/pulumi/apps/api/ApiGateway.js +67 -74
- package/pulumi/apps/api/ApiGateway.js.map +1 -1
- package/pulumi/apps/api/ApiGraphql.js +223 -152
- package/pulumi/apps/api/ApiGraphql.js.map +1 -1
- package/pulumi/apps/api/ApiOutput.js +29 -30
- package/pulumi/apps/api/ApiOutput.js.map +1 -1
- package/pulumi/apps/api/ApiScheduler.js +94 -92
- package/pulumi/apps/api/ApiScheduler.js.map +1 -1
- package/pulumi/apps/api/ApiWebsocket.js +141 -133
- package/pulumi/apps/api/ApiWebsocket.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/definition.js +122 -144
- package/pulumi/apps/api/backgroundTask/definition.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/policy.js +37 -23
- package/pulumi/apps/api/backgroundTask/policy.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/role.js +29 -29
- package/pulumi/apps/api/backgroundTask/role.js.map +1 -1
- package/pulumi/apps/api/backgroundTask/types.js +9 -11
- package/pulumi/apps/api/backgroundTask/types.js.map +1 -1
- package/pulumi/apps/api/createApiPulumiApp.js +206 -274
- package/pulumi/apps/api/createApiPulumiApp.js.map +1 -1
- package/pulumi/apps/api/handleGuardDutyEvents.js +54 -51
- package/pulumi/apps/api/handleGuardDutyEvents.js.map +1 -1
- package/pulumi/apps/api/index.js +0 -2
- package/pulumi/apps/awsUtils.js +21 -24
- package/pulumi/apps/awsUtils.js.map +1 -1
- package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js +37 -40
- package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js.map +1 -1
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js +83 -91
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js.map +1 -1
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js +17 -16
- package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js.map +1 -1
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js +13 -12
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js.map +1 -1
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js +9 -14
- package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js.map +1 -1
- package/pulumi/apps/blueGreen/cloudfront/createOriginId.js +5 -7
- package/pulumi/apps/blueGreen/cloudfront/createOriginId.js.map +1 -1
- package/pulumi/apps/blueGreen/constants.js +15 -3
- package/pulumi/apps/blueGreen/constants.js.map +1 -1
- package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js +77 -103
- package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js +20 -26
- package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js +17 -20
- package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/getApplicationDomains.js +51 -61
- package/pulumi/apps/blueGreen/domains/getApplicationDomains.js.map +1 -1
- package/pulumi/apps/blueGreen/domains/resolveDomains.js +24 -38
- package/pulumi/apps/blueGreen/domains/resolveDomains.js.map +1 -1
- package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js +7 -14
- package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js.map +1 -1
- package/pulumi/apps/blueGreen/functions/handler.js +1 -57
- package/pulumi/apps/blueGreen/functions/handler.js.map +1 -1
- package/pulumi/apps/blueGreen/types.js +0 -3
- package/pulumi/apps/blueGreen/validation/validateDeployments.js +19 -24
- package/pulumi/apps/blueGreen/validation/validateDeployments.js.map +1 -1
- package/pulumi/apps/common/CoreOutput.js +34 -37
- package/pulumi/apps/common/CoreOutput.js.map +1 -1
- package/pulumi/apps/common/VpcConfig.js +20 -20
- package/pulumi/apps/common/VpcConfig.js.map +1 -1
- package/pulumi/apps/common/index.js +0 -2
- package/pulumi/apps/core/CoreAuditLogsDynamo.js +245 -182
- package/pulumi/apps/core/CoreAuditLogsDynamo.js.map +1 -1
- package/pulumi/apps/core/CoreCognito.js +117 -106
- package/pulumi/apps/core/CoreCognito.js.map +1 -1
- package/pulumi/apps/core/CoreDynamo.js +91 -70
- package/pulumi/apps/core/CoreDynamo.js.map +1 -1
- package/pulumi/apps/core/CoreEventBus.js +10 -9
- package/pulumi/apps/core/CoreEventBus.js.map +1 -1
- package/pulumi/apps/core/CoreFileManager.js +76 -68
- package/pulumi/apps/core/CoreFileManager.js.map +1 -1
- package/pulumi/apps/core/CoreOpenSearch.js +281 -305
- package/pulumi/apps/core/CoreOpenSearch.js.map +1 -1
- package/pulumi/apps/core/CoreVpc.js +155 -156
- package/pulumi/apps/core/CoreVpc.js.map +1 -1
- package/pulumi/apps/core/WatchCommand.js +94 -96
- package/pulumi/apps/core/WatchCommand.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/amazon.js +16 -22
- package/pulumi/apps/core/cognitoIdentityProviders/amazon.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/apple.js +16 -17
- package/pulumi/apps/core/cognitoIdentityProviders/apple.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/configure.js +44 -50
- package/pulumi/apps/core/cognitoIdentityProviders/configure.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/facebook.js +16 -17
- package/pulumi/apps/core/cognitoIdentityProviders/facebook.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js +7 -8
- package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/google.js +16 -17
- package/pulumi/apps/core/cognitoIdentityProviders/google.js.map +1 -1
- package/pulumi/apps/core/cognitoIdentityProviders/index.js +0 -2
- package/pulumi/apps/core/cognitoIdentityProviders/oidc.js +17 -18
- package/pulumi/apps/core/cognitoIdentityProviders/oidc.js.map +1 -1
- package/pulumi/apps/core/configureS3BucketMalwareProtection.js +251 -188
- package/pulumi/apps/core/configureS3BucketMalwareProtection.js.map +1 -1
- package/pulumi/apps/core/createCorePulumiApp.js +212 -280
- package/pulumi/apps/core/createCorePulumiApp.js.map +1 -1
- package/pulumi/apps/core/index.js +0 -2
- package/pulumi/apps/core/webinyWatchCommand/handler.js +45 -32
- package/pulumi/apps/core/webinyWatchCommand/handler.js.map +1 -1
- package/pulumi/apps/createAppBucket.js +157 -146
- package/pulumi/apps/createAppBucket.js.map +1 -1
- package/pulumi/apps/customDomain.js +7 -6
- package/pulumi/apps/customDomain.js.map +1 -1
- package/pulumi/apps/extensions/getAwsTagsFromExtension.js +8 -7
- package/pulumi/apps/extensions/getAwsTagsFromExtension.js.map +1 -1
- package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js +6 -7
- package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js.map +1 -1
- package/pulumi/apps/extensions/getOsConfigFromExtension.js +17 -41
- package/pulumi/apps/extensions/getOsConfigFromExtension.js.map +1 -1
- package/pulumi/apps/extensions/getVpcConfigFromExtension.js +13 -25
- package/pulumi/apps/extensions/getVpcConfigFromExtension.js.map +1 -1
- package/pulumi/apps/index.js +0 -3
- package/pulumi/apps/lambdaUtils.js +57 -61
- package/pulumi/apps/lambdaUtils.js.map +1 -1
- package/pulumi/apps/react/createReactPulumiApp.js +108 -129
- package/pulumi/apps/react/createReactPulumiApp.js.map +1 -1
- package/pulumi/apps/react/index.js +0 -2
- package/pulumi/apps/syncSystem/SyncSystemDynamo.js +77 -62
- package/pulumi/apps/syncSystem/SyncSystemDynamo.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js +74 -57
- package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemEventBus.js +77 -71
- package/pulumi/apps/syncSystem/SyncSystemEventBus.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemLambda.js +154 -86
- package/pulumi/apps/syncSystem/SyncSystemLambda.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemOutput.js +14 -13
- package/pulumi/apps/syncSystem/SyncSystemOutput.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js +56 -60
- package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemSQS.js +25 -49
- package/pulumi/apps/syncSystem/SyncSystemSQS.js.map +1 -1
- package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js +44 -43
- package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js.map +1 -1
- package/pulumi/apps/syncSystem/addTableItems.js +35 -45
- package/pulumi/apps/syncSystem/addTableItems.js.map +1 -1
- package/pulumi/apps/syncSystem/api/addServiceManifest.js +12 -14
- package/pulumi/apps/syncSystem/api/addServiceManifest.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js +49 -55
- package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js +88 -40
- package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js +37 -43
- package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/attachS3Permissions.js +51 -47
- package/pulumi/apps/syncSystem/api/attachS3Permissions.js.map +1 -1
- package/pulumi/apps/syncSystem/api/index.js +28 -46
- package/pulumi/apps/syncSystem/api/index.js.map +1 -1
- package/pulumi/apps/syncSystem/constants.js +2 -1
- package/pulumi/apps/syncSystem/constants.js.map +1 -1
- package/pulumi/apps/syncSystem/createSyncResourceName.js +2 -7
- package/pulumi/apps/syncSystem/createSyncResourceName.js.map +1 -1
- package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js +101 -166
- package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js.map +1 -1
- package/pulumi/apps/syncSystem/customApp.js +12 -16
- package/pulumi/apps/syncSystem/customApp.js.map +1 -1
- package/pulumi/apps/syncSystem/getSyncSystemOutput.js +5 -6
- package/pulumi/apps/syncSystem/getSyncSystemOutput.js.map +1 -1
- package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js +108 -42
- package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js.map +1 -1
- package/pulumi/apps/syncSystem/types.js +0 -3
- package/pulumi/constants.js +2 -1
- package/pulumi/constants.js.map +1 -1
- package/pulumi/env/awsRegion.js +3 -2
- package/pulumi/env/awsRegion.js.map +1 -1
- package/pulumi/env/base.js +11 -27
- package/pulumi/env/base.js.map +1 -1
- package/pulumi/env/env.js +3 -2
- package/pulumi/env/env.js.map +1 -1
- package/pulumi/env/projectName.js +3 -2
- package/pulumi/env/projectName.js.map +1 -1
- package/pulumi/env/variant.js +4 -3
- package/pulumi/env/variant.js.map +1 -1
- package/pulumi/extensions/AdminCustomDomains.js +15 -11
- package/pulumi/extensions/AdminCustomDomains.js.map +1 -1
- package/pulumi/extensions/AdminPulumi.js +16 -19
- package/pulumi/extensions/AdminPulumi.js.map +1 -1
- package/pulumi/extensions/ApiCustomDomains.js +15 -11
- package/pulumi/extensions/ApiCustomDomains.js.map +1 -1
- package/pulumi/extensions/ApiPulumi.js +16 -19
- package/pulumi/extensions/ApiPulumi.js.map +1 -1
- package/pulumi/extensions/AwsTags.js +11 -10
- package/pulumi/extensions/AwsTags.js.map +1 -1
- package/pulumi/extensions/BlueGreenDeployments.js +29 -26
- package/pulumi/extensions/BlueGreenDeployments.js.map +1 -1
- package/pulumi/extensions/CorePulumi.js +16 -19
- package/pulumi/extensions/CorePulumi.js.map +1 -1
- package/pulumi/extensions/OpenSearch.js +16 -15
- package/pulumi/extensions/OpenSearch.js.map +1 -1
- package/pulumi/extensions/Vpc.js +21 -20
- package/pulumi/extensions/Vpc.js.map +1 -1
- package/pulumi/extensions/index.js +12 -10
- package/pulumi/extensions/index.js.map +1 -1
- package/pulumi/features/AdminPulumi/AdminPulumi.js +18 -14
- package/pulumi/features/AdminPulumi/AdminPulumi.js.map +1 -1
- package/pulumi/features/AdminPulumi/index.js +0 -2
- package/pulumi/features/ApiPulumi/ApiPulumi.js +18 -14
- package/pulumi/features/ApiPulumi/ApiPulumi.js.map +1 -1
- package/pulumi/features/ApiPulumi/index.js +0 -2
- package/pulumi/features/CorePulumi/CorePulumi.js +18 -14
- package/pulumi/features/CorePulumi/CorePulumi.js.map +1 -1
- package/pulumi/features/CorePulumi/index.js +0 -2
- package/pulumi/features/index.js +0 -2
- package/pulumi/index.js +0 -2
- package/pulumi/types.js +0 -3
- package/pulumi/utils/addDomainsUrlsOutputs.js +20 -37
- package/pulumi/utils/addDomainsUrlsOutputs.js.map +1 -1
- package/pulumi/utils/addServiceManifestTableItem.js +12 -15
- package/pulumi/utils/addServiceManifestTableItem.js.map +1 -1
- package/pulumi/utils/crawlDirectory.js +10 -15
- package/pulumi/utils/crawlDirectory.js.map +1 -1
- package/pulumi/utils/createAssetArchive.js +5 -6
- package/pulumi/utils/createAssetArchive.js.map +1 -1
- package/pulumi/utils/dynamodb.js +26 -27
- package/pulumi/utils/dynamodb.js.map +1 -1
- package/pulumi/utils/getPresignedPost.js +27 -30
- package/pulumi/utils/getPresignedPost.js.map +1 -1
- package/pulumi/utils/index.js +1 -3
- package/pulumi/utils/lambdaEnvVariables.js +42 -54
- package/pulumi/utils/lambdaEnvVariables.js.map +1 -1
- package/pulumi/utils/tagResources.js +248 -28
- package/pulumi/utils/tagResources.js.map +1 -1
- package/pulumi/utils/uploadFolderToS3.js +101 -131
- package/pulumi/utils/uploadFolderToS3.js.map +1 -1
- package/pulumi/utils/withServiceManifest.js +28 -37
- package/pulumi/utils/withServiceManifest.js.map +1 -1
- package/services/AdminStackOutputService.js +14 -11
- package/services/AdminStackOutputService.js.map +1 -1
- package/services/ApiStackOutputService.js +14 -11
- package/services/ApiStackOutputService.js.map +1 -1
- package/services/CoreStackOutputService.js +14 -11
- package/services/CoreStackOutputService.js.map +1 -1
- package/utils/getTemplatesFolderPath.js +8 -10
- package/utils/getTemplatesFolderPath.js.map +1 -1
- package/utils/index.js +0 -2
- package/abstractions/features/pulumi/index.js.map +0 -1
- package/abstractions/index.js.map +0 -1
- package/apps/index.js.map +0 -1
- package/exports/extensions.js.map +0 -1
- package/exports/infra/admin.js.map +0 -1
- package/exports/infra/api.js.map +0 -1
- package/exports/infra/core.js.map +0 -1
- package/exports/infra.js.map +0 -1
- package/extensions/ProjectAws/AdminStackOutputService.js.map +0 -1
- package/extensions/ProjectAws/ApiStackOutputService.js.map +0 -1
- package/extensions/ProjectAws/CoreStackOutputService.js.map +0 -1
- package/extensions/index.js.map +0 -1
- package/features/index.js.map +0 -1
- package/index.js.map +0 -1
- package/pulumi/apps/admin/index.js.map +0 -1
- package/pulumi/apps/api/index.js.map +0 -1
- package/pulumi/apps/blueGreen/types.js.map +0 -1
- package/pulumi/apps/common/index.js.map +0 -1
- package/pulumi/apps/core/cognitoIdentityProviders/index.js.map +0 -1
- package/pulumi/apps/core/index.js.map +0 -1
- package/pulumi/apps/index.js.map +0 -1
- package/pulumi/apps/react/index.js.map +0 -1
- package/pulumi/apps/syncSystem/types.js.map +0 -1
- package/pulumi/features/AdminPulumi/index.js.map +0 -1
- package/pulumi/features/ApiPulumi/index.js.map +0 -1
- package/pulumi/features/CorePulumi/index.js.map +0 -1
- package/pulumi/features/index.js.map +0 -1
- package/pulumi/index.js.map +0 -1
- package/pulumi/types.js.map +0 -1
- package/pulumi/utils/index.js.map +0 -1
- package/utils/index.js.map +0 -1
|
@@ -1,29 +1,17 @@
|
|
|
1
|
-
import { Vpc
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
} = vpcExtension.params;
|
|
13
|
-
if (enabled === false) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
if (useVpcEndpoints || useExistingVpc) {
|
|
17
|
-
const vpc = {};
|
|
18
|
-
if (useVpcEndpoints) {
|
|
19
|
-
vpc.useVpcEndpoints = useVpcEndpoints;
|
|
1
|
+
import { Vpc } from "../../extensions/Vpc.js";
|
|
2
|
+
const getVpcConfigFromExtension = (projectConfig)=>{
|
|
3
|
+
const [vpcExtension] = projectConfig.extensionsByType(Vpc);
|
|
4
|
+
if (!vpcExtension) return;
|
|
5
|
+
const { enabled, useVpcEndpoints, useExistingVpc } = vpcExtension.params;
|
|
6
|
+
if (false === enabled) return false;
|
|
7
|
+
if (useVpcEndpoints || useExistingVpc) {
|
|
8
|
+
const vpc = {};
|
|
9
|
+
if (useVpcEndpoints) vpc.useVpcEndpoints = useVpcEndpoints;
|
|
10
|
+
if (useExistingVpc) vpc.useExistingVpc = useExistingVpc;
|
|
11
|
+
return vpc;
|
|
20
12
|
}
|
|
21
|
-
|
|
22
|
-
vpc.useExistingVpc = useExistingVpc;
|
|
23
|
-
}
|
|
24
|
-
return vpc;
|
|
25
|
-
}
|
|
26
|
-
return true;
|
|
13
|
+
return true;
|
|
27
14
|
};
|
|
15
|
+
export { getVpcConfigFromExtension };
|
|
28
16
|
|
|
29
17
|
//# sourceMappingURL=getVpcConfigFromExtension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/extensions/getVpcConfigFromExtension.js","sources":["../../../../src/pulumi/apps/extensions/getVpcConfigFromExtension.ts"],"sourcesContent":["import { Vpc as vpcExt } from \"~/pulumi/extensions/Vpc.js\";\nimport { type IProjectConfigModel } from \"@webiny/project/abstractions/models/index.js\";\n\nexport const getVpcConfigFromExtension = (projectConfig: IProjectConfigModel) => {\n const [vpcExtension] = projectConfig.extensionsByType(vpcExt);\n if (!vpcExtension) {\n // VPC automatically used with production environments.\n return undefined;\n }\n\n const { enabled, useVpcEndpoints, useExistingVpc } = vpcExtension.params;\n if (enabled === false) {\n return false;\n }\n\n if (useVpcEndpoints || useExistingVpc) {\n const vpc: Omit<typeof vpcExtension.params, \"enabled\"> = {};\n\n if (useVpcEndpoints) {\n vpc.useVpcEndpoints = useVpcEndpoints;\n }\n\n if (useExistingVpc) {\n vpc.useExistingVpc = useExistingVpc;\n }\n\n return vpc;\n }\n\n return true;\n};\n"],"names":["getVpcConfigFromExtension","projectConfig","vpcExtension","vpcExt","enabled","useVpcEndpoints","useExistingVpc","vpc"],"mappings":";AAGO,MAAMA,4BAA4B,CAACC;IACtC,MAAM,CAACC,aAAa,GAAGD,cAAc,gBAAgB,CAACE;IACtD,IAAI,CAACD,cAED;IAGJ,MAAM,EAAEE,OAAO,EAAEC,eAAe,EAAEC,cAAc,EAAE,GAAGJ,aAAa,MAAM;IACxE,IAAIE,AAAY,UAAZA,SACA,OAAO;IAGX,IAAIC,mBAAmBC,gBAAgB;QACnC,MAAMC,MAAmD,CAAC;QAE1D,IAAIF,iBACAE,IAAI,eAAe,GAAGF;QAG1B,IAAIC,gBACAC,IAAI,cAAc,GAAGD;QAGzB,OAAOC;IACX;IAEA,OAAO;AACX"}
|
package/pulumi/apps/index.js
CHANGED
|
@@ -1,70 +1,66 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
1
|
import { VpcConfig } from "./common/index.js";
|
|
3
2
|
export * from "../utils/lambdaEnvVariables.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
name: `${params.name}-policy`,
|
|
26
|
-
config: {
|
|
27
|
-
role: role.output,
|
|
28
|
-
policyArn: params.policy.arn
|
|
29
|
-
}
|
|
3
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
4
|
+
const createLambdaRoleWithoutExecution = (app, params)=>{
|
|
5
|
+
const role = app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.Role, {
|
|
6
|
+
name: params.name,
|
|
7
|
+
config: {
|
|
8
|
+
assumeRolePolicy: {
|
|
9
|
+
Version: "2012-10-17",
|
|
10
|
+
Statement: [
|
|
11
|
+
{
|
|
12
|
+
Action: "sts:AssumeRole",
|
|
13
|
+
Principal: {
|
|
14
|
+
Service: "lambda.amazonaws.com"
|
|
15
|
+
},
|
|
16
|
+
Effect: "Allow"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
meta: {
|
|
22
|
+
isLambdaFunctionRole: true
|
|
23
|
+
}
|
|
30
24
|
});
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
role: role.output,
|
|
38
|
-
policyArn: params.executionRole
|
|
39
|
-
}
|
|
25
|
+
if (params.policy) app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.RolePolicyAttachment, {
|
|
26
|
+
name: `${params.name}-policy`,
|
|
27
|
+
config: {
|
|
28
|
+
role: role.output,
|
|
29
|
+
policyArn: params.policy.arn
|
|
30
|
+
}
|
|
40
31
|
});
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
if (params.executionRole) app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.RolePolicyAttachment, {
|
|
33
|
+
name: `${params.name}-execution-role`,
|
|
34
|
+
config: {
|
|
35
|
+
role: role.output,
|
|
36
|
+
policyArn: params.executionRole
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
return role;
|
|
43
40
|
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
56
|
-
return role;
|
|
41
|
+
function createLambdaRole(app, params) {
|
|
42
|
+
const role = createLambdaRoleWithoutExecution(app, params);
|
|
43
|
+
const vpc = app.getModule(VpcConfig);
|
|
44
|
+
app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.RolePolicyAttachment, {
|
|
45
|
+
name: `${params.name}-default-execution-role`,
|
|
46
|
+
config: {
|
|
47
|
+
role: role.output,
|
|
48
|
+
policyArn: vpc.enabled.apply((enabled)=>enabled ? __rspack_external__pulumi_aws_e7af83c1.iam.ManagedPolicy.AWSLambdaVPCAccessExecutionRole : __rspack_external__pulumi_aws_e7af83c1.iam.ManagedPolicy.AWSLambdaBasicExecutionRole)
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
return role;
|
|
57
52
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
53
|
+
const createLambdaRoleWithoutVpc = (app, params)=>{
|
|
54
|
+
const role = createLambdaRoleWithoutExecution(app, params);
|
|
55
|
+
app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.RolePolicyAttachment, {
|
|
56
|
+
name: `${params.name}-default-execution-role`,
|
|
57
|
+
config: {
|
|
58
|
+
role: role.output,
|
|
59
|
+
policyArn: __rspack_external__pulumi_aws_e7af83c1.iam.ManagedPolicy.AWSLambdaBasicExecutionRole
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return role;
|
|
68
63
|
};
|
|
64
|
+
export { createLambdaRole, createLambdaRoleWithoutVpc };
|
|
69
65
|
|
|
70
66
|
//# sourceMappingURL=lambdaUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pulumi/apps/lambdaUtils.js","sources":["../../../src/pulumi/apps/lambdaUtils.ts"],"sourcesContent":["import type * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport type { PulumiApp } from \"@webiny/pulumi\";\nimport { VpcConfig } from \"./common/index.js\";\n\nexport * from \"../utils/lambdaEnvVariables.js\";\n\ninterface LambdaRoleParams {\n name: string;\n policy?: pulumi.Output<aws.iam.Policy>;\n executionRole?: pulumi.Input<string>;\n}\n\nconst createLambdaRoleWithoutExecution = (app: PulumiApp, params: LambdaRoleParams) => {\n const role = app.addResource(aws.iam.Role, {\n name: params.name,\n config: {\n assumeRolePolicy: {\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: \"sts:AssumeRole\",\n Principal: {\n Service: \"lambda.amazonaws.com\"\n },\n Effect: \"Allow\"\n }\n ]\n }\n },\n meta: { isLambdaFunctionRole: true }\n });\n\n if (params.policy) {\n app.addResource(aws.iam.RolePolicyAttachment, {\n name: `${params.name}-policy`,\n config: {\n role: role.output,\n policyArn: params.policy.arn\n }\n });\n }\n\n if (params.executionRole) {\n // If execution role is set, use it.\n app.addResource(aws.iam.RolePolicyAttachment, {\n name: `${params.name}-execution-role`,\n config: {\n role: role.output,\n policyArn: params.executionRole\n }\n });\n }\n return role;\n};\n\nexport function createLambdaRole(app: PulumiApp, params: LambdaRoleParams) {\n const role = createLambdaRoleWithoutExecution(app, params);\n\n // Add default execution role.\n const vpc = app.getModule(VpcConfig);\n\n app.addResource(aws.iam.RolePolicyAttachment, {\n name: `${params.name}-default-execution-role`,\n config: {\n role: role.output,\n policyArn: vpc.enabled.apply(enabled =>\n enabled\n ? aws.iam.ManagedPolicy.AWSLambdaVPCAccessExecutionRole\n : aws.iam.ManagedPolicy.AWSLambdaBasicExecutionRole\n )\n }\n });\n\n return role;\n}\n\nexport const createLambdaRoleWithoutVpc = (app: PulumiApp, params: LambdaRoleParams) => {\n const role = createLambdaRoleWithoutExecution(app, params);\n\n app.addResource(aws.iam.RolePolicyAttachment, {\n name: `${params.name}-default-execution-role`,\n config: {\n role: role.output,\n policyArn: aws.iam.ManagedPolicy.AWSLambdaBasicExecutionRole\n }\n });\n\n return role;\n};\n"],"names":["createLambdaRoleWithoutExecution","app","params","role","aws","createLambdaRole","vpc","VpcConfig","enabled","createLambdaRoleWithoutVpc"],"mappings":";;;AAaA,MAAMA,mCAAmC,CAACC,KAAgBC;IACtD,MAAMC,OAAOF,IAAI,WAAW,CAACG,uCAAAA,GAAAA,CAAAA,IAAY,EAAE;QACvC,MAAMF,OAAO,IAAI;QACjB,QAAQ;YACJ,kBAAkB;gBACd,SAAS;gBACT,WAAW;oBACP;wBACI,QAAQ;wBACR,WAAW;4BACP,SAAS;wBACb;wBACA,QAAQ;oBACZ;iBACH;YACL;QACJ;QACA,MAAM;YAAE,sBAAsB;QAAK;IACvC;IAEA,IAAIA,OAAO,MAAM,EACbD,IAAI,WAAW,CAACG,uCAAAA,GAAAA,CAAAA,oBAA4B,EAAE;QAC1C,MAAM,GAAGF,OAAO,IAAI,CAAC,OAAO,CAAC;QAC7B,QAAQ;YACJ,MAAMC,KAAK,MAAM;YACjB,WAAWD,OAAO,MAAM,CAAC,GAAG;QAChC;IACJ;IAGJ,IAAIA,OAAO,aAAa,EAEpBD,IAAI,WAAW,CAACG,uCAAAA,GAAAA,CAAAA,oBAA4B,EAAE;QAC1C,MAAM,GAAGF,OAAO,IAAI,CAAC,eAAe,CAAC;QACrC,QAAQ;YACJ,MAAMC,KAAK,MAAM;YACjB,WAAWD,OAAO,aAAa;QACnC;IACJ;IAEJ,OAAOC;AACX;AAEO,SAASE,iBAAiBJ,GAAc,EAAEC,MAAwB;IACrE,MAAMC,OAAOH,iCAAiCC,KAAKC;IAGnD,MAAMI,MAAML,IAAI,SAAS,CAACM;IAE1BN,IAAI,WAAW,CAACG,uCAAAA,GAAAA,CAAAA,oBAA4B,EAAE;QAC1C,MAAM,GAAGF,OAAO,IAAI,CAAC,uBAAuB,CAAC;QAC7C,QAAQ;YACJ,MAAMC,KAAK,MAAM;YACjB,WAAWG,IAAI,OAAO,CAAC,KAAK,CAACE,CAAAA,UACzBA,UACMJ,uCAAAA,GAAAA,CAAAA,aAAAA,CAAAA,+BAAqD,GACrDA,uCAAAA,GAAAA,CAAAA,aAAAA,CAAAA,2BAAiD;QAE/D;IACJ;IAEA,OAAOD;AACX;AAEO,MAAMM,6BAA6B,CAACR,KAAgBC;IACvD,MAAMC,OAAOH,iCAAiCC,KAAKC;IAEnDD,IAAI,WAAW,CAACG,uCAAAA,GAAAA,CAAAA,oBAA4B,EAAE;QAC1C,MAAM,GAAGF,OAAO,IAAI,CAAC,uBAAuB,CAAC;QAC7C,QAAQ;YACJ,MAAMC,KAAK,MAAM;YACjB,WAAWC,uCAAAA,GAAAA,CAAAA,aAAAA,CAAAA,2BAAiD;QAChE;IACJ;IAEA,OAAOD;AACX"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as aws from "@pulumi/aws";
|
|
2
|
-
import * as pulumi from "@pulumi/pulumi";
|
|
3
1
|
import { createPulumiApp } from "@webiny/pulumi";
|
|
4
2
|
import { addDomainsUrlsOutputs } from "../../utils/index.js";
|
|
5
3
|
import { createPrivateAppBucket } from "../createAppBucket.js";
|
|
@@ -8,143 +6,124 @@ import { withServiceManifest } from "../../utils/withServiceManifest.js";
|
|
|
8
6
|
import { ApiOutput, CoreOutput } from "../index.js";
|
|
9
7
|
import { getProjectSdk } from "@webiny/project";
|
|
10
8
|
import { applyAwsResourceTags } from "../awsUtils.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
distributionUrl: "cloudfrontAppUrl",
|
|
110
|
-
usedDomain: "appDomain",
|
|
111
|
-
usedUrl: "appUrl"
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
// Applies internal and user-defined AWS tags.
|
|
117
|
-
await applyAwsResourceTags(name);
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* We need to store the appUrl to the admin settings item in the dynamodb
|
|
121
|
-
*/
|
|
122
|
-
app.addResource(aws.dynamodb.TableItem, {
|
|
123
|
-
name: "adminSettings",
|
|
124
|
-
config: {
|
|
125
|
-
tableName: core.primaryDynamodbTableName,
|
|
126
|
-
hashKey: core.primaryDynamodbTableHashKey,
|
|
127
|
-
rangeKey: pulumi.output(core.primaryDynamodbTableRangeKey).apply(key => key || "SK"),
|
|
128
|
-
item: pulumi.interpolate`{
|
|
9
|
+
import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
|
|
10
|
+
import * as __rspack_external__pulumi_pulumi_d0276039 from "@pulumi/pulumi";
|
|
11
|
+
const createReactPulumiApp = (projectAppParams)=>{
|
|
12
|
+
const app = createPulumiApp({
|
|
13
|
+
name: projectAppParams.name,
|
|
14
|
+
path: projectAppParams.folder,
|
|
15
|
+
config: projectAppParams,
|
|
16
|
+
program: async (app)=>{
|
|
17
|
+
const sdk = await getProjectSdk();
|
|
18
|
+
const pulumiResourceNamePrefix = await sdk.getPulumiResourceNamePrefix();
|
|
19
|
+
if (pulumiResourceNamePrefix) app.onResource((resource)=>{
|
|
20
|
+
if (!resource.name.startsWith(pulumiResourceNamePrefix)) resource.name = `${pulumiResourceNamePrefix}${resource.name}`;
|
|
21
|
+
});
|
|
22
|
+
const { name } = projectAppParams;
|
|
23
|
+
const core = app.addModule(CoreOutput);
|
|
24
|
+
app.addModule(ApiOutput);
|
|
25
|
+
if (projectAppParams.pulumi) app.addHandler(()=>projectAppParams.pulumi(app));
|
|
26
|
+
const bucket = createPrivateAppBucket(app, `${name}-app`);
|
|
27
|
+
const cloudfront = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudfront.Distribution, {
|
|
28
|
+
name: `${name}-app-cdn`,
|
|
29
|
+
config: {
|
|
30
|
+
httpVersion: "http2and3",
|
|
31
|
+
enabled: true,
|
|
32
|
+
waitForDeployment: true,
|
|
33
|
+
origins: [
|
|
34
|
+
bucket.origin
|
|
35
|
+
],
|
|
36
|
+
defaultRootObject: "index.html",
|
|
37
|
+
defaultCacheBehavior: {
|
|
38
|
+
compress: true,
|
|
39
|
+
targetOriginId: bucket.origin.originId,
|
|
40
|
+
viewerProtocolPolicy: "redirect-to-https",
|
|
41
|
+
allowedMethods: [
|
|
42
|
+
"GET",
|
|
43
|
+
"HEAD",
|
|
44
|
+
"OPTIONS"
|
|
45
|
+
],
|
|
46
|
+
cachedMethods: [
|
|
47
|
+
"GET",
|
|
48
|
+
"HEAD",
|
|
49
|
+
"OPTIONS"
|
|
50
|
+
],
|
|
51
|
+
forwardedValues: {
|
|
52
|
+
cookies: {
|
|
53
|
+
forward: "none"
|
|
54
|
+
},
|
|
55
|
+
queryString: false
|
|
56
|
+
},
|
|
57
|
+
minTtl: 0,
|
|
58
|
+
defaultTtl: 600,
|
|
59
|
+
maxTtl: 600
|
|
60
|
+
},
|
|
61
|
+
priceClass: "PriceClass_100",
|
|
62
|
+
customErrorResponses: [
|
|
63
|
+
{
|
|
64
|
+
errorCode: 404,
|
|
65
|
+
responseCode: 404,
|
|
66
|
+
responsePagePath: "/index.html"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
restrictions: {
|
|
70
|
+
geoRestriction: {
|
|
71
|
+
restrictionType: "none"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
viewerCertificate: {
|
|
75
|
+
cloudfrontDefaultCertificate: true
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
opts: {
|
|
79
|
+
ignoreChanges: [
|
|
80
|
+
"staging"
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
const domains = app.getParam(projectAppParams.domains);
|
|
85
|
+
if (domains) applyCustomDomain(cloudfront, domains);
|
|
86
|
+
app.addOutput("appStorage", bucket.bucket.output.id);
|
|
87
|
+
app.addHandler(()=>{
|
|
88
|
+
addDomainsUrlsOutputs({
|
|
89
|
+
app,
|
|
90
|
+
cloudfrontDistribution: cloudfront,
|
|
91
|
+
map: {
|
|
92
|
+
distributionDomain: "cloudfrontAppDomain",
|
|
93
|
+
distributionUrl: "cloudfrontAppUrl",
|
|
94
|
+
usedDomain: "appDomain",
|
|
95
|
+
usedUrl: "appUrl"
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
await applyAwsResourceTags(name);
|
|
100
|
+
app.addResource(__rspack_external__pulumi_aws_e7af83c1.dynamodb.TableItem, {
|
|
101
|
+
name: "adminSettings",
|
|
102
|
+
config: {
|
|
103
|
+
tableName: core.primaryDynamodbTableName,
|
|
104
|
+
hashKey: core.primaryDynamodbTableHashKey,
|
|
105
|
+
rangeKey: __rspack_external__pulumi_pulumi_d0276039.output(core.primaryDynamodbTableRangeKey).apply((key)=>key || "SK"),
|
|
106
|
+
item: __rspack_external__pulumi_pulumi_d0276039.interpolate`{
|
|
129
107
|
"PK": {"S": "ADMIN#SETTINGS"},
|
|
130
108
|
"SK": {"S": "default"},
|
|
131
109
|
"data": {
|
|
132
110
|
"M": {
|
|
133
111
|
"appUrl": {
|
|
134
|
-
"S": "${cloudfront.output.domainName.apply(value
|
|
112
|
+
"S": "${cloudfront.output.domainName.apply((value)=>`https://${value}`)}"
|
|
135
113
|
}
|
|
136
114
|
}
|
|
137
115
|
}
|
|
138
116
|
}`
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
return {
|
|
120
|
+
...bucket,
|
|
121
|
+
cloudfront
|
|
122
|
+
};
|
|
139
123
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
...bucket,
|
|
143
|
-
cloudfront
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
return withServiceManifest(app);
|
|
124
|
+
});
|
|
125
|
+
return withServiceManifest(app);
|
|
148
126
|
};
|
|
127
|
+
export { createReactPulumiApp };
|
|
149
128
|
|
|
150
129
|
//# sourceMappingURL=createReactPulumiApp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["aws","pulumi","createPulumiApp","addDomainsUrlsOutputs","createPrivateAppBucket","applyCustomDomain","withServiceManifest","ApiOutput","CoreOutput","getProjectSdk","applyAwsResourceTags","createReactPulumiApp","projectAppParams","app","name","path","folder","config","program","sdk","pulumiResourceNamePrefix","getPulumiResourceNamePrefix","onResource","resource","startsWith","core","addModule","addHandler","bucket","cloudfront","addResource","Distribution","httpVersion","enabled","waitForDeployment","origins","origin","defaultRootObject","defaultCacheBehavior","compress","targetOriginId","originId","viewerProtocolPolicy","allowedMethods","cachedMethods","forwardedValues","cookies","forward","queryString","minTtl","defaultTtl","maxTtl","priceClass","customErrorResponses","errorCode","responseCode","responsePagePath","restrictions","geoRestriction","restrictionType","viewerCertificate","cloudfrontDefaultCertificate","opts","ignoreChanges","domains","getParam","addOutput","output","id","cloudfrontDistribution","map","distributionDomain","distributionUrl","usedDomain","usedUrl","dynamodb","TableItem","tableName","primaryDynamodbTableName","hashKey","primaryDynamodbTableHashKey","rangeKey","primaryDynamodbTableRangeKey","apply","key","item","interpolate","domainName","value"],"sources":["createReactPulumiApp.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport * as pulumi from \"@pulumi/pulumi\";\nimport { createPulumiApp, type PulumiAppParamCallback } from \"@webiny/pulumi\";\nimport { addDomainsUrlsOutputs } from \"~/pulumi/utils/index.js\";\nimport { createPrivateAppBucket } from \"../createAppBucket.js\";\nimport { applyCustomDomain, type CustomDomainParams } from \"../customDomain.js\";\nimport { withServiceManifest } from \"~/pulumi/utils/withServiceManifest.js\";\nimport { ApiOutput, CoreOutput } from \"~/pulumi/apps/index.js\";\nimport { type AppName, getProjectSdk } from \"@webiny/project\";\nimport { applyAwsResourceTags } from \"~/pulumi/apps/awsUtils.js\";\n\nexport type ReactPulumiApp = ReturnType<typeof createReactPulumiApp>;\n\nexport interface CreateReactPulumiAppParams {\n /**\n * A name of the app, e.g., \"user-area\"\n */\n name: AppName;\n\n /**\n * A folder where the app is located, e.g., \"apps/user-area\"\n */\n folder: string;\n\n /** Custom domain configuration */\n domains?: PulumiAppParamCallback<CustomDomainParams>;\n\n /**\n * Provides a way to adjust existing Pulumi code (cloud infrastructure resources)\n * or add additional ones into the mix.\n */\n pulumi?: (app: ReactPulumiApp) => void | Promise<void>;\n}\n\nexport const createReactPulumiApp = (projectAppParams: CreateReactPulumiAppParams) => {\n const app = createPulumiApp({\n name: projectAppParams.name,\n path: projectAppParams.folder,\n config: projectAppParams,\n program: async app => {\n const sdk = await getProjectSdk();\n\n const pulumiResourceNamePrefix = await sdk.getPulumiResourceNamePrefix();\n\n if (pulumiResourceNamePrefix) {\n app.onResource(resource => {\n if (!resource.name.startsWith(pulumiResourceNamePrefix)) {\n resource.name = `${pulumiResourceNamePrefix}${resource.name}`;\n }\n });\n }\n\n const { name } = projectAppParams;\n\n // Register core output as a module available for all other modules\n const core = app.addModule(CoreOutput);\n app.addModule(ApiOutput);\n\n // Overrides must be applied via a handler, registered at the very start of the program.\n // By doing this, we're ensuring user's adjustments are not applied to late.\n if (projectAppParams.pulumi) {\n app.addHandler(() => {\n return projectAppParams.pulumi!(app as unknown as ReactPulumiApp);\n });\n }\n\n const bucket = createPrivateAppBucket(app, `${name}-app`);\n\n const cloudfront = app.addResource(aws.cloudfront.Distribution, {\n name: `${name}-app-cdn`,\n config: {\n httpVersion: \"http2and3\",\n enabled: true,\n waitForDeployment: true,\n origins: [bucket.origin],\n defaultRootObject: \"index.html\",\n defaultCacheBehavior: {\n compress: true,\n targetOriginId: bucket.origin.originId,\n viewerProtocolPolicy: \"redirect-to-https\",\n allowedMethods: [\"GET\", \"HEAD\", \"OPTIONS\"],\n cachedMethods: [\"GET\", \"HEAD\", \"OPTIONS\"],\n forwardedValues: {\n cookies: { forward: \"none\" },\n queryString: false\n },\n // MinTTL <= DefaultTTL <= MaxTTL\n minTtl: 0,\n defaultTtl: 600,\n maxTtl: 600\n },\n priceClass: \"PriceClass_100\",\n customErrorResponses: [\n { errorCode: 404, responseCode: 404, responsePagePath: \"/index.html\" }\n ],\n restrictions: {\n geoRestriction: {\n restrictionType: \"none\"\n }\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true\n }\n },\n opts: {\n // We are ignoring changes to the \"staging\" property. This is because of the following.\n // With the 5.41.0 release of Webiny, we also upgraded Pulumi to v6. This introduced a change\n // with how Cloudfront distributions are deployed, where Pulumi now also controls the new\n // `staging` property.\n // If not set, Pulumi will default it to `false`. Which is fine, but, the problem is\n // that, because this property did not exist before, it will always be considered as a change\n // upon deployment.\n // We might think this is fine, but, the problem is that a change in this property causes\n // a full replacement of the Cloudfront distribution, which is not acceptable. Especially\n // if a custom domain has already been associated with the distribution. This then would\n // require the user to disassociate the domain, wait for the distribution to be replaced,\n // and then re-associate the domain. This is not a good experience.\n ignoreChanges: [\"staging\"]\n }\n });\n\n const domains = app.getParam(projectAppParams.domains);\n if (domains) {\n applyCustomDomain(cloudfront, domains);\n }\n\n app.addOutput(\"appStorage\", bucket.bucket.output.id);\n\n app.addHandler(() => {\n addDomainsUrlsOutputs({\n app,\n cloudfrontDistribution: cloudfront,\n map: {\n distributionDomain: \"cloudfrontAppDomain\",\n distributionUrl: \"cloudfrontAppUrl\",\n usedDomain: \"appDomain\",\n usedUrl: \"appUrl\"\n }\n });\n });\n\n // Applies internal and user-defined AWS tags.\n await applyAwsResourceTags(name);\n\n /**\n * We need to store the appUrl to the admin settings item in the dynamodb\n */\n app.addResource(aws.dynamodb.TableItem, {\n name: \"adminSettings\",\n config: {\n tableName: core.primaryDynamodbTableName,\n hashKey: core.primaryDynamodbTableHashKey,\n rangeKey: pulumi\n .output(core.primaryDynamodbTableRangeKey)\n .apply(key => key || \"SK\"),\n item: pulumi.interpolate`{\n \"PK\": {\"S\": \"ADMIN#SETTINGS\"},\n \"SK\": {\"S\": \"default\"},\n \"data\": {\n \"M\": {\n \"appUrl\": {\n \"S\": \"${cloudfront.output.domainName.apply(\n value => `https://${value}`\n )}\"\n }\n }\n }\n }`\n }\n });\n\n return {\n ...bucket,\n cloudfront\n };\n }\n });\n\n return withServiceManifest(app);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"pulumi/apps/react/createReactPulumiApp.js","sources":["../../../../src/pulumi/apps/react/createReactPulumiApp.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport * as pulumi from \"@pulumi/pulumi\";\nimport { createPulumiApp, type PulumiAppParamCallback } from \"@webiny/pulumi\";\nimport { addDomainsUrlsOutputs } from \"~/pulumi/utils/index.js\";\nimport { createPrivateAppBucket } from \"../createAppBucket.js\";\nimport { applyCustomDomain, type CustomDomainParams } from \"../customDomain.js\";\nimport { withServiceManifest } from \"~/pulumi/utils/withServiceManifest.js\";\nimport { ApiOutput, CoreOutput } from \"~/pulumi/apps/index.js\";\nimport { type AppName, getProjectSdk } from \"@webiny/project\";\nimport { applyAwsResourceTags } from \"~/pulumi/apps/awsUtils.js\";\n\nexport type ReactPulumiApp = ReturnType<typeof createReactPulumiApp>;\n\nexport interface CreateReactPulumiAppParams {\n /**\n * A name of the app, e.g., \"user-area\"\n */\n name: AppName;\n\n /**\n * A folder where the app is located, e.g., \"apps/user-area\"\n */\n folder: string;\n\n /** Custom domain configuration */\n domains?: PulumiAppParamCallback<CustomDomainParams>;\n\n /**\n * Provides a way to adjust existing Pulumi code (cloud infrastructure resources)\n * or add additional ones into the mix.\n */\n pulumi?: (app: ReactPulumiApp) => void | Promise<void>;\n}\n\nexport const createReactPulumiApp = (projectAppParams: CreateReactPulumiAppParams) => {\n const app = createPulumiApp({\n name: projectAppParams.name,\n path: projectAppParams.folder,\n config: projectAppParams,\n program: async app => {\n const sdk = await getProjectSdk();\n\n const pulumiResourceNamePrefix = await sdk.getPulumiResourceNamePrefix();\n\n if (pulumiResourceNamePrefix) {\n app.onResource(resource => {\n if (!resource.name.startsWith(pulumiResourceNamePrefix)) {\n resource.name = `${pulumiResourceNamePrefix}${resource.name}`;\n }\n });\n }\n\n const { name } = projectAppParams;\n\n // Register core output as a module available for all other modules\n const core = app.addModule(CoreOutput);\n app.addModule(ApiOutput);\n\n // Overrides must be applied via a handler, registered at the very start of the program.\n // By doing this, we're ensuring user's adjustments are not applied to late.\n if (projectAppParams.pulumi) {\n app.addHandler(() => {\n return projectAppParams.pulumi!(app as unknown as ReactPulumiApp);\n });\n }\n\n const bucket = createPrivateAppBucket(app, `${name}-app`);\n\n const cloudfront = app.addResource(aws.cloudfront.Distribution, {\n name: `${name}-app-cdn`,\n config: {\n httpVersion: \"http2and3\",\n enabled: true,\n waitForDeployment: true,\n origins: [bucket.origin],\n defaultRootObject: \"index.html\",\n defaultCacheBehavior: {\n compress: true,\n targetOriginId: bucket.origin.originId,\n viewerProtocolPolicy: \"redirect-to-https\",\n allowedMethods: [\"GET\", \"HEAD\", \"OPTIONS\"],\n cachedMethods: [\"GET\", \"HEAD\", \"OPTIONS\"],\n forwardedValues: {\n cookies: { forward: \"none\" },\n queryString: false\n },\n // MinTTL <= DefaultTTL <= MaxTTL\n minTtl: 0,\n defaultTtl: 600,\n maxTtl: 600\n },\n priceClass: \"PriceClass_100\",\n customErrorResponses: [\n { errorCode: 404, responseCode: 404, responsePagePath: \"/index.html\" }\n ],\n restrictions: {\n geoRestriction: {\n restrictionType: \"none\"\n }\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true\n }\n },\n opts: {\n // We are ignoring changes to the \"staging\" property. This is because of the following.\n // With the 5.41.0 release of Webiny, we also upgraded Pulumi to v6. This introduced a change\n // with how Cloudfront distributions are deployed, where Pulumi now also controls the new\n // `staging` property.\n // If not set, Pulumi will default it to `false`. Which is fine, but, the problem is\n // that, because this property did not exist before, it will always be considered as a change\n // upon deployment.\n // We might think this is fine, but, the problem is that a change in this property causes\n // a full replacement of the Cloudfront distribution, which is not acceptable. Especially\n // if a custom domain has already been associated with the distribution. This then would\n // require the user to disassociate the domain, wait for the distribution to be replaced,\n // and then re-associate the domain. This is not a good experience.\n ignoreChanges: [\"staging\"]\n }\n });\n\n const domains = app.getParam(projectAppParams.domains);\n if (domains) {\n applyCustomDomain(cloudfront, domains);\n }\n\n app.addOutput(\"appStorage\", bucket.bucket.output.id);\n\n app.addHandler(() => {\n addDomainsUrlsOutputs({\n app,\n cloudfrontDistribution: cloudfront,\n map: {\n distributionDomain: \"cloudfrontAppDomain\",\n distributionUrl: \"cloudfrontAppUrl\",\n usedDomain: \"appDomain\",\n usedUrl: \"appUrl\"\n }\n });\n });\n\n // Applies internal and user-defined AWS tags.\n await applyAwsResourceTags(name);\n\n /**\n * We need to store the appUrl to the admin settings item in the dynamodb\n */\n app.addResource(aws.dynamodb.TableItem, {\n name: \"adminSettings\",\n config: {\n tableName: core.primaryDynamodbTableName,\n hashKey: core.primaryDynamodbTableHashKey,\n rangeKey: pulumi\n .output(core.primaryDynamodbTableRangeKey)\n .apply(key => key || \"SK\"),\n item: pulumi.interpolate`{\n \"PK\": {\"S\": \"ADMIN#SETTINGS\"},\n \"SK\": {\"S\": \"default\"},\n \"data\": {\n \"M\": {\n \"appUrl\": {\n \"S\": \"${cloudfront.output.domainName.apply(\n value => `https://${value}`\n )}\"\n }\n }\n }\n }`\n }\n });\n\n return {\n ...bucket,\n cloudfront\n };\n }\n });\n\n return withServiceManifest(app);\n};\n"],"names":["createReactPulumiApp","projectAppParams","app","createPulumiApp","sdk","getProjectSdk","pulumiResourceNamePrefix","resource","name","core","CoreOutput","ApiOutput","bucket","createPrivateAppBucket","cloudfront","aws","domains","applyCustomDomain","addDomainsUrlsOutputs","applyAwsResourceTags","pulumi","key","value","withServiceManifest"],"mappings":";;;;;;;;;;AAkCO,MAAMA,uBAAuB,CAACC;IACjC,MAAMC,MAAMC,gBAAgB;QACxB,MAAMF,iBAAiB,IAAI;QAC3B,MAAMA,iBAAiB,MAAM;QAC7B,QAAQA;QACR,SAAS,OAAMC;YACX,MAAME,MAAM,MAAMC;YAElB,MAAMC,2BAA2B,MAAMF,IAAI,2BAA2B;YAEtE,IAAIE,0BACAJ,IAAI,UAAU,CAACK,CAAAA;gBACX,IAAI,CAACA,SAAS,IAAI,CAAC,UAAU,CAACD,2BAC1BC,SAAS,IAAI,GAAG,GAAGD,2BAA2BC,SAAS,IAAI,EAAE;YAErE;YAGJ,MAAM,EAAEC,IAAI,EAAE,GAAGP;YAGjB,MAAMQ,OAAOP,IAAI,SAAS,CAACQ;YAC3BR,IAAI,SAAS,CAACS;YAId,IAAIV,iBAAiB,MAAM,EACvBC,IAAI,UAAU,CAAC,IACJD,iBAAiB,MAAM,CAAEC;YAIxC,MAAMU,SAASC,uBAAuBX,KAAK,GAAGM,KAAK,IAAI,CAAC;YAExD,MAAMM,aAAaZ,IAAI,WAAW,CAACa,uCAAAA,UAAAA,CAAAA,YAA2B,EAAE;gBAC5D,MAAM,GAAGP,KAAK,QAAQ,CAAC;gBACvB,QAAQ;oBACJ,aAAa;oBACb,SAAS;oBACT,mBAAmB;oBACnB,SAAS;wBAACI,OAAO,MAAM;qBAAC;oBACxB,mBAAmB;oBACnB,sBAAsB;wBAClB,UAAU;wBACV,gBAAgBA,OAAO,MAAM,CAAC,QAAQ;wBACtC,sBAAsB;wBACtB,gBAAgB;4BAAC;4BAAO;4BAAQ;yBAAU;wBAC1C,eAAe;4BAAC;4BAAO;4BAAQ;yBAAU;wBACzC,iBAAiB;4BACb,SAAS;gCAAE,SAAS;4BAAO;4BAC3B,aAAa;wBACjB;wBAEA,QAAQ;wBACR,YAAY;wBACZ,QAAQ;oBACZ;oBACA,YAAY;oBACZ,sBAAsB;wBAClB;4BAAE,WAAW;4BAAK,cAAc;4BAAK,kBAAkB;wBAAc;qBACxE;oBACD,cAAc;wBACV,gBAAgB;4BACZ,iBAAiB;wBACrB;oBACJ;oBACA,mBAAmB;wBACf,8BAA8B;oBAClC;gBACJ;gBACA,MAAM;oBAaF,eAAe;wBAAC;qBAAU;gBAC9B;YACJ;YAEA,MAAMI,UAAUd,IAAI,QAAQ,CAACD,iBAAiB,OAAO;YACrD,IAAIe,SACAC,kBAAkBH,YAAYE;YAGlCd,IAAI,SAAS,CAAC,cAAcU,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE;YAEnDV,IAAI,UAAU,CAAC;gBACXgB,sBAAsB;oBAClBhB;oBACA,wBAAwBY;oBACxB,KAAK;wBACD,oBAAoB;wBACpB,iBAAiB;wBACjB,YAAY;wBACZ,SAAS;oBACb;gBACJ;YACJ;YAGA,MAAMK,qBAAqBX;YAK3BN,IAAI,WAAW,CAACa,uCAAAA,QAAAA,CAAAA,SAAsB,EAAE;gBACpC,MAAM;gBACN,QAAQ;oBACJ,WAAWN,KAAK,wBAAwB;oBACxC,SAASA,KAAK,2BAA2B;oBACzC,UAAUW,0CAAAA,MACC,CAACX,KAAK,4BAA4B,EACxC,KAAK,CAACY,CAAAA,MAAOA,OAAO;oBACzB,MAAMD,0CAAAA,WAAkB,CAAC;;;;;;sCAMP,EAAEN,WAAW,MAAM,CAAC,UAAU,CAAC,KAAK,CACtCQ,CAAAA,QAAS,CAAC,QAAQ,EAAEA,OAAO,EAC7B;;;;yBAIT,CAAC;gBACV;YACJ;YAEA,OAAO;gBACH,GAAGV,MAAM;gBACTE;YACJ;QACJ;IACJ;IAEA,OAAOS,oBAAoBrB;AAC/B"}
|