sst 3.0.0 → 3.0.1-2
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/package.json +8 -139
- package/src/index.ts +1 -0
- package/src/resource.ts +15 -0
- package/tsconfig.json +11 -0
- package/LICENSE +0 -21
- package/README.md +0 -43
- package/bootstrap.d.ts +0 -5
- package/bootstrap.js +0 -318
- package/bus.d.ts +0 -20
- package/bus.js +0 -52
- package/cache.d.ts +0 -4
- package/cache.js +0 -31
- package/cdk/deploy-stack.d.ts +0 -223
- package/cdk/deploy-stack.js +0 -562
- package/cdk/deployments-wrapper.d.ts +0 -3
- package/cdk/deployments-wrapper.js +0 -135
- package/cdk/deployments.d.ts +0 -327
- package/cdk/deployments.js +0 -360
- package/cdk/util.d.ts +0 -1
- package/cdk/util.js +0 -17
- package/cli/ci-info.d.ts +0 -4
- package/cli/ci-info.js +0 -8
- package/cli/colors.d.ts +0 -17
- package/cli/colors.js +0 -27
- package/cli/commands/bind.d.ts +0 -19
- package/cli/commands/bind.js +0 -360
- package/cli/commands/bootstrap.d.ts +0 -15
- package/cli/commands/bootstrap.js +0 -11
- package/cli/commands/build.d.ts +0 -17
- package/cli/commands/build.js +0 -25
- package/cli/commands/connect.d.ts +0 -17
- package/cli/commands/connect.js +0 -55
- package/cli/commands/console.d.ts +0 -15
- package/cli/commands/console.js +0 -22
- package/cli/commands/deploy.d.ts +0 -19
- package/cli/commands/deploy.js +0 -112
- package/cli/commands/dev.d.ts +0 -25
- package/cli/commands/dev.js +0 -351
- package/cli/commands/diff.d.ts +0 -19
- package/cli/commands/diff.js +0 -89
- package/cli/commands/plugins/kysely.d.ts +0 -1
- package/cli/commands/plugins/kysely.js +0 -87
- package/cli/commands/plugins/pothos.d.ts +0 -1
- package/cli/commands/plugins/pothos.js +0 -58
- package/cli/commands/plugins/warmer.d.ts +0 -1
- package/cli/commands/plugins/warmer.js +0 -33
- package/cli/commands/remove.d.ts +0 -19
- package/cli/commands/remove.js +0 -62
- package/cli/commands/secrets/get.d.ts +0 -19
- package/cli/commands/secrets/get.js +0 -27
- package/cli/commands/secrets/list.d.ts +0 -19
- package/cli/commands/secrets/list.js +0 -69
- package/cli/commands/secrets/load.d.ts +0 -17
- package/cli/commands/secrets/load.js +0 -47
- package/cli/commands/secrets/remove.d.ts +0 -19
- package/cli/commands/secrets/remove.js +0 -27
- package/cli/commands/secrets/secrets.d.ts +0 -2
- package/cli/commands/secrets/secrets.js +0 -16
- package/cli/commands/secrets/set.d.ts +0 -21
- package/cli/commands/secrets/set.js +0 -54
- package/cli/commands/telemetry.d.ts +0 -17
- package/cli/commands/telemetry.js +0 -24
- package/cli/commands/transform.d.ts +0 -17
- package/cli/commands/transform.js +0 -62
- package/cli/commands/types.d.ts +0 -15
- package/cli/commands/types.js +0 -25
- package/cli/commands/update.d.ts +0 -17
- package/cli/commands/update.js +0 -116
- package/cli/commands/version.d.ts +0 -15
- package/cli/commands/version.js +0 -15
- package/cli/local/router.d.ts +0 -44
- package/cli/local/router.js +0 -43
- package/cli/local/server.d.ts +0 -22
- package/cli/local/server.js +0 -319
- package/cli/program.d.ts +0 -19
- package/cli/program.js +0 -87
- package/cli/spinner.d.ts +0 -3
- package/cli/spinner.js +0 -14
- package/cli/sst.d.ts +0 -2
- package/cli/sst.js +0 -74
- package/cli/telemetry/environment.d.ts +0 -15
- package/cli/telemetry/environment.js +0 -27
- package/cli/telemetry/post-payload.d.ts +0 -1
- package/cli/telemetry/post-payload.js +0 -27
- package/cli/telemetry/project-id.d.ts +0 -2
- package/cli/telemetry/project-id.js +0 -47
- package/cli/telemetry/telemetry.d.ts +0 -19
- package/cli/telemetry/telemetry.js +0 -103
- package/cli/terminal.d.ts +0 -1
- package/cli/terminal.js +0 -8
- package/cli/ui/deploy.d.ts +0 -10
- package/cli/ui/deploy.js +0 -172
- package/cli/ui/functions.d.ts +0 -2
- package/cli/ui/functions.js +0 -130
- package/cli/ui/header.d.ts +0 -5
- package/cli/ui/header.js +0 -16
- package/cli/ui/stack.d.ts +0 -1
- package/cli/ui/stack.js +0 -6
- package/config.d.ts +0 -56
- package/config.js +0 -244
- package/constructs/Api.d.ts +0 -814
- package/constructs/Api.js +0 -743
- package/constructs/ApiGatewayV1Api.d.ts +0 -642
- package/constructs/ApiGatewayV1Api.js +0 -767
- package/constructs/App.d.ts +0 -168
- package/constructs/App.js +0 -493
- package/constructs/AppSyncApi.d.ts +0 -550
- package/constructs/AppSyncApi.js +0 -493
- package/constructs/AstroSite.d.ts +0 -39
- package/constructs/AstroSite.js +0 -78
- package/constructs/AstroSite.tsdoc.d.ts +0 -2
- package/constructs/AstroSite.tsdoc.js +0 -2
- package/constructs/Auth.d.ts +0 -100
- package/constructs/Auth.js +0 -177
- package/constructs/BaseSite.d.ts +0 -29
- package/constructs/BaseSite.js +0 -43
- package/constructs/Bucket.d.ts +0 -364
- package/constructs/Bucket.js +0 -327
- package/constructs/Cognito.d.ts +0 -232
- package/constructs/Cognito.js +0 -370
- package/constructs/Config.d.ts +0 -3
- package/constructs/Config.js +0 -3
- package/constructs/Construct.d.ts +0 -23
- package/constructs/Construct.js +0 -46
- package/constructs/Cron.d.ts +0 -164
- package/constructs/Cron.js +0 -114
- package/constructs/Distribution.d.ts +0 -143
- package/constructs/Distribution.js +0 -260
- package/constructs/EdgeFunction.d.ts +0 -49
- package/constructs/EdgeFunction.js +0 -442
- package/constructs/EventBus.d.ts +0 -444
- package/constructs/EventBus.js +0 -440
- package/constructs/Function.d.ts +0 -690
- package/constructs/Function.js +0 -583
- package/constructs/FunctionalStack.d.ts +0 -13
- package/constructs/FunctionalStack.js +0 -62
- package/constructs/Job.d.ts +0 -337
- package/constructs/Job.js +0 -404
- package/constructs/KinesisStream.d.ts +0 -224
- package/constructs/KinesisStream.js +0 -207
- package/constructs/Metadata.d.ts +0 -60
- package/constructs/Metadata.js +0 -1
- package/constructs/NextjsSite.d.ts +0 -104
- package/constructs/NextjsSite.js +0 -308
- package/constructs/Parameter.d.ts +0 -37
- package/constructs/Parameter.js +0 -53
- package/constructs/Queue.d.ts +0 -194
- package/constructs/Queue.js +0 -204
- package/constructs/RDS.d.ts +0 -221
- package/constructs/RDS.js +0 -363
- package/constructs/RemixSite.d.ts +0 -42
- package/constructs/RemixSite.js +0 -158
- package/constructs/RemixSite.tsdoc.d.ts +0 -2
- package/constructs/RemixSite.tsdoc.js +0 -2
- package/constructs/Script.d.ts +0 -160
- package/constructs/Script.js +0 -179
- package/constructs/Secret.d.ts +0 -30
- package/constructs/Secret.js +0 -59
- package/constructs/Service.d.ts +0 -487
- package/constructs/Service.js +0 -655
- package/constructs/SolidStartSite.d.ts +0 -37
- package/constructs/SolidStartSite.js +0 -66
- package/constructs/SolidStartSite.tsdoc.d.ts +0 -2
- package/constructs/SolidStartSite.tsdoc.js +0 -2
- package/constructs/SsrFunction.d.ts +0 -60
- package/constructs/SsrFunction.js +0 -226
- package/constructs/SsrSite.d.ts +0 -407
- package/constructs/SsrSite.js +0 -850
- package/constructs/Stack.d.ts +0 -127
- package/constructs/Stack.js +0 -243
- package/constructs/StaticSite.d.ts +0 -348
- package/constructs/StaticSite.js +0 -468
- package/constructs/SvelteKitSite.d.ts +0 -40
- package/constructs/SvelteKitSite.js +0 -106
- package/constructs/SvelteKitSite.tsdoc.d.ts +0 -2
- package/constructs/SvelteKitSite.tsdoc.js +0 -2
- package/constructs/Table.d.ts +0 -410
- package/constructs/Table.js +0 -425
- package/constructs/Topic.d.ts +0 -257
- package/constructs/Topic.js +0 -273
- package/constructs/WebSocketApi.d.ts +0 -355
- package/constructs/WebSocketApi.js +0 -404
- package/constructs/cdk/HttpAwsIntegration.d.ts +0 -32
- package/constructs/cdk/HttpAwsIntegration.js +0 -24
- package/constructs/cdk/certificate-base.d.ts +0 -18
- package/constructs/cdk/certificate-base.js +0 -26
- package/constructs/cdk/dns-validated-certificate.d.ts +0 -77
- package/constructs/cdk/dns-validated-certificate.js +0 -125
- package/constructs/cdk/website-redirect.d.ts +0 -53
- package/constructs/cdk/website-redirect.js +0 -77
- package/constructs/context.d.ts +0 -3
- package/constructs/context.js +0 -27
- package/constructs/deferred_task.d.ts +0 -6
- package/constructs/deferred_task.js +0 -45
- package/constructs/deprecated/NextjsSite.d.ts +0 -309
- package/constructs/deprecated/NextjsSite.js +0 -1074
- package/constructs/deprecated/cross-region-helper.d.ts +0 -7
- package/constructs/deprecated/cross-region-helper.js +0 -152
- package/constructs/deprecated/index.d.ts +0 -1
- package/constructs/deprecated/index.js +0 -1
- package/constructs/future/Auth.d.ts +0 -80
- package/constructs/future/Auth.js +0 -122
- package/constructs/future/index.d.ts +0 -1
- package/constructs/future/index.js +0 -1
- package/constructs/index.d.ts +0 -32
- package/constructs/index.js +0 -32
- package/constructs/static-file-list.d.ts +0 -1
- package/constructs/static-file-list.js +0 -51
- package/constructs/util/apiGatewayV1AccessLog.d.ts +0 -15
- package/constructs/util/apiGatewayV1AccessLog.js +0 -76
- package/constructs/util/apiGatewayV2AccessLog.d.ts +0 -10
- package/constructs/util/apiGatewayV2AccessLog.js +0 -107
- package/constructs/util/apiGatewayV2Cors.d.ts +0 -67
- package/constructs/util/apiGatewayV2Cors.js +0 -21
- package/constructs/util/apiGatewayV2Domain.d.ts +0 -47
- package/constructs/util/apiGatewayV2Domain.js +0 -208
- package/constructs/util/appSyncApiDomain.d.ts +0 -41
- package/constructs/util/appSyncApiDomain.js +0 -176
- package/constructs/util/builder.d.ts +0 -3
- package/constructs/util/builder.js +0 -9
- package/constructs/util/duration.d.ts +0 -3
- package/constructs/util/duration.js +0 -19
- package/constructs/util/functionBinding.d.ts +0 -31
- package/constructs/util/functionBinding.js +0 -104
- package/constructs/util/functionUrlCors.d.ts +0 -67
- package/constructs/util/functionUrlCors.js +0 -23
- package/constructs/util/permission.d.ts +0 -8
- package/constructs/util/permission.js +0 -228
- package/constructs/util/size.d.ts +0 -3
- package/constructs/util/size.js +0 -12
- package/constructs/util/warning.d.ts +0 -11
- package/constructs/util/warning.js +0 -21
- package/context/context.d.ts +0 -13
- package/context/context.js +0 -69
- package/context/context2.d.ts +0 -16
- package/context/context2.js +0 -108
- package/context/handler.d.ts +0 -25
- package/context/handler.js +0 -21
- package/context/index.d.ts +0 -2
- package/context/index.js +0 -2
- package/credentials.d.ts +0 -9
- package/credentials.js +0 -145
- package/error.d.ts +0 -6
- package/error.js +0 -10
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/iot.d.ts +0 -6
- package/iot.js +0 -163
- package/logger.d.ts +0 -3
- package/logger.js +0 -32
- package/node/actor/index.d.ts +0 -29
- package/node/actor/index.js +0 -17
- package/node/api/index.d.ts +0 -64
- package/node/api/index.js +0 -179
- package/node/auth/adapter/adapter.d.ts +0 -3
- package/node/auth/adapter/adapter.js +0 -3
- package/node/auth/adapter/facebook.d.ts +0 -2
- package/node/auth/adapter/facebook.js +0 -26
- package/node/auth/adapter/github.d.ts +0 -2
- package/node/auth/adapter/github.js +0 -21
- package/node/auth/adapter/google.d.ts +0 -9
- package/node/auth/adapter/google.js +0 -18
- package/node/auth/adapter/link.d.ts +0 -8
- package/node/auth/adapter/link.js +0 -39
- package/node/auth/adapter/oauth.d.ts +0 -25
- package/node/auth/adapter/oauth.js +0 -52
- package/node/auth/adapter/oidc.d.ts +0 -17
- package/node/auth/adapter/oidc.js +0 -50
- package/node/auth/adapter/twitch.d.ts +0 -2
- package/node/auth/adapter/twitch.js +0 -11
- package/node/auth/auth.d.ts +0 -24
- package/node/auth/auth.js +0 -74
- package/node/auth/index.d.ts +0 -13
- package/node/auth/index.js +0 -12
- package/node/auth/session.d.ts +0 -76
- package/node/auth/session.js +0 -121
- package/node/bucket/index.d.ts +0 -3
- package/node/bucket/index.js +0 -2
- package/node/config/index.d.ts +0 -13
- package/node/config/index.js +0 -22
- package/node/event-bus/index.d.ts +0 -51
- package/node/event-bus/index.js +0 -76
- package/node/function/index.d.ts +0 -3
- package/node/function/index.js +0 -3
- package/node/future/auth/adapter/adapter.d.ts +0 -10
- package/node/future/auth/adapter/adapter.js +0 -1
- package/node/future/auth/adapter/code.d.ts +0 -17
- package/node/future/auth/adapter/code.js +0 -68
- package/node/future/auth/adapter/facebook.d.ts +0 -16
- package/node/future/auth/adapter/facebook.js +0 -27
- package/node/future/auth/adapter/github.d.ts +0 -23
- package/node/future/auth/adapter/github.js +0 -23
- package/node/future/auth/adapter/google.d.ts +0 -28
- package/node/future/auth/adapter/google.js +0 -22
- package/node/future/auth/adapter/link.d.ts +0 -13
- package/node/future/auth/adapter/link.js +0 -47
- package/node/future/auth/adapter/microsoft.d.ts +0 -22
- package/node/future/auth/adapter/microsoft.js +0 -16
- package/node/future/auth/adapter/oauth.d.ts +0 -41
- package/node/future/auth/adapter/oauth.js +0 -67
- package/node/future/auth/adapter/oidc.d.ts +0 -30
- package/node/future/auth/adapter/oidc.js +0 -63
- package/node/future/auth/adapter/spotify.d.ts +0 -23
- package/node/future/auth/adapter/spotify.js +0 -22
- package/node/future/auth/encryption.d.ts +0 -2
- package/node/future/auth/encryption.js +0 -30
- package/node/future/auth/handler.d.ts +0 -46
- package/node/future/auth/handler.js +0 -280
- package/node/future/auth/index.d.ts +0 -17
- package/node/future/auth/index.js +0 -15
- package/node/future/auth/session.d.ts +0 -71
- package/node/future/auth/session.js +0 -146
- package/node/graphql/index.d.ts +0 -15
- package/node/graphql/index.js +0 -32
- package/node/job/index.d.ts +0 -37
- package/node/job/index.js +0 -64
- package/node/kinesis-stream/index.d.ts +0 -3
- package/node/kinesis-stream/index.js +0 -3
- package/node/queue/index.d.ts +0 -3
- package/node/queue/index.js +0 -2
- package/node/rds/index.d.ts +0 -3
- package/node/rds/index.js +0 -2
- package/node/service/index.d.ts +0 -3
- package/node/service/index.js +0 -4
- package/node/site/index.d.ts +0 -18
- package/node/site/index.js +0 -18
- package/node/table/index.d.ts +0 -3
- package/node/table/index.js +0 -4
- package/node/topic/index.d.ts +0 -3
- package/node/topic/index.js +0 -4
- package/node/util/index.d.ts +0 -2
- package/node/util/index.js +0 -196
- package/node/util/loader.d.ts +0 -2
- package/node/util/loader.js +0 -51
- package/node/websocket-api/index.d.ts +0 -23
- package/node/websocket-api/index.js +0 -48
- package/pothos.d.ts +0 -7
- package/pothos.js +0 -160
- package/project.d.ts +0 -75
- package/project.js +0 -188
- package/runtime/handlers/container.d.ts +0 -2
- package/runtime/handlers/container.js +0 -263
- package/runtime/handlers/dotnet.d.ts +0 -2
- package/runtime/handlers/dotnet.js +0 -115
- package/runtime/handlers/go.d.ts +0 -2
- package/runtime/handlers/go.js +0 -126
- package/runtime/handlers/java.d.ts +0 -2
- package/runtime/handlers/java.js +0 -103
- package/runtime/handlers/node.d.ts +0 -2
- package/runtime/handlers/node.js +0 -269
- package/runtime/handlers/python.d.ts +0 -2
- package/runtime/handlers/python.js +0 -141
- package/runtime/handlers/pythonBundling.d.ts +0 -82
- package/runtime/handlers/pythonBundling.js +0 -80
- package/runtime/handlers/rust.d.ts +0 -2
- package/runtime/handlers/rust.js +0 -110
- package/runtime/handlers.d.ts +0 -74
- package/runtime/handlers.js +0 -151
- package/runtime/iot.d.ts +0 -1
- package/runtime/iot.js +0 -17
- package/runtime/runtime.d.ts +0 -32
- package/runtime/runtime.js +0 -1
- package/runtime/server.d.ts +0 -6
- package/runtime/server.js +0 -150
- package/runtime/workers.d.ts +0 -37
- package/runtime/workers.js +0 -85
- package/stacks/app-metadata.d.ts +0 -7
- package/stacks/app-metadata.js +0 -75
- package/stacks/assembly.d.ts +0 -1
- package/stacks/assembly.js +0 -4
- package/stacks/build.d.ts +0 -9
- package/stacks/build.js +0 -110
- package/stacks/deploy.d.ts +0 -9
- package/stacks/deploy.js +0 -240
- package/stacks/diff.d.ts +0 -8
- package/stacks/diff.js +0 -62
- package/stacks/index.d.ts +0 -10
- package/stacks/index.js +0 -10
- package/stacks/metadata.d.ts +0 -11
- package/stacks/metadata.js +0 -83
- package/stacks/monitor.d.ts +0 -32
- package/stacks/monitor.js +0 -151
- package/stacks/remove.d.ts +0 -8
- package/stacks/remove.js +0 -76
- package/stacks/synth.d.ts +0 -12
- package/stacks/synth.js +0 -94
- package/support/base-site-archiver.mjs +0 -99
- package/support/base-site-custom-resource/s3-handler.py +0 -195
- package/support/base-site-custom-resource/s3-upload.py +0 -89
- package/support/bootstrap-metadata-function/index.mjs +0 -58011
- package/support/bridge/Dockerfile +0 -3
- package/support/bridge/bridge.mjs +0 -146
- package/support/certificate-requestor/index.js +0 -549
- package/support/custom-resources/index.mjs +0 -180627
- package/support/dotnet31-bootstrap/Program.cs +0 -17
- package/support/dotnet31-bootstrap/dotnet-bootstrap.csproj +0 -12
- package/support/dotnet31-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
- package/support/dotnet31-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Text.Encodings.Web.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Text.Json.dll +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.deps.json +0 -230
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.dll +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.pdb +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -9
- package/support/dotnet6-bootstrap/Program.cs +0 -17
- package/support/dotnet6-bootstrap/dotnet-bootstrap.csproj +0 -12
- package/support/dotnet6-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
- package/support/dotnet6-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.deps.json +0 -59
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.dll +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.pdb +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -12
- package/support/edge-function/edge-lambda-version.mjs +0 -3
- package/support/edge-function/edge-lambda.mjs +0 -3
- package/support/edge-function/s3-bucket.mjs +0 -3
- package/support/event-bus-retrier/index.mjs +0 -75
- package/support/java-runtime/install.sh +0 -25
- package/support/java-runtime/pom.xml +0 -39
- package/support/java-runtime/release/aws-lambda-java-core-1.2.0.jar +0 -0
- package/support/java-runtime/release/aws-lambda-java-runtime-interface-client-1.1.0.jar +0 -0
- package/support/java-runtime/release/aws-lambda-java-serialization-1.0.0.jar +0 -0
- package/support/job-manager/index.mjs +0 -57679
- package/support/nixpacks/Dockerfile +0 -6
- package/support/nodejs-runtime/index.mjs +0 -169
- package/support/python-runtime/Dockerfile +0 -9
- package/support/python-runtime/Dockerfile.custom +0 -21
- package/support/python-runtime/Dockerfile.dependencies +0 -26
- package/support/python-runtime/runtime.py +0 -127
- package/support/rds-migrator/index.mjs +0 -49
- package/support/remix-site-function/edge-server.js +0 -161
- package/support/remix-site-function/polyfill.js +0 -24
- package/support/remix-site-function/regional-server.js +0 -164
- package/support/script-function/index.mjs +0 -48760
- package/support/service-dev-function/index.js +0 -1
- package/support/signing-function/index.mjs +0 -3769
- package/support/sls-nextjs-site-build-helper/build.cjs +0 -91
- package/support/sls-nextjs-site-build-helper/index-wrapper.js +0 -19
- package/support/sls-nextjs-site-function-code-replacer/lambda-code-updater.py +0 -156
- package/support/sls-nextjs-site-stub/index.html +0 -99
- package/support/ssr-site-function-archiver.mjs +0 -96
- package/support/ssr-site-function-stub/index.js +0 -5
- package/support/ssr-warmer/index.mjs +0 -34235
- package/util/error.d.ts +0 -3
- package/util/error.js +0 -6
- package/util/fs.d.ts +0 -4
- package/util/fs.js +0 -46
- package/util/lazy.d.ts +0 -1
- package/util/lazy.js +0 -11
- package/util/module.d.ts +0 -1
- package/util/module.js +0 -5
- package/util/process.d.ts +0 -2
- package/util/process.js +0 -3
- package/watcher.d.ts +0 -14
- package/watcher.js +0 -35
package/node/queue/index.d.ts
DELETED
package/node/queue/index.js
DELETED
package/node/rds/index.d.ts
DELETED
package/node/rds/index.js
DELETED
package/node/service/index.d.ts
DELETED
package/node/service/index.js
DELETED
package/node/site/index.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export interface StaticSiteResources {
|
|
2
|
-
}
|
|
3
|
-
export interface NextjsSiteResources {
|
|
4
|
-
}
|
|
5
|
-
export interface AstroSiteResources {
|
|
6
|
-
}
|
|
7
|
-
export interface RemixSiteResources {
|
|
8
|
-
}
|
|
9
|
-
export interface SolidStartSiteResources {
|
|
10
|
-
}
|
|
11
|
-
export interface SvelteKitSiteResources {
|
|
12
|
-
}
|
|
13
|
-
export declare const StaticSite: StaticSiteResources;
|
|
14
|
-
export declare const AstroSite: AstroSiteResources;
|
|
15
|
-
export declare const RemixSite: RemixSiteResources;
|
|
16
|
-
export declare const NextjsSite: NextjsSiteResources;
|
|
17
|
-
export declare const SolidStartSite: SolidStartSiteResources;
|
|
18
|
-
export declare const SvelteKitSite: SvelteKitSiteResources;
|
package/node/site/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { createProxy } from "../util/index.js";
|
|
2
|
-
export const StaticSite =
|
|
3
|
-
/* @__PURE__ */ createProxy("StaticSite");
|
|
4
|
-
export const AstroSite =
|
|
5
|
-
/* @__PURE__ */
|
|
6
|
-
createProxy("AstroSite");
|
|
7
|
-
export const RemixSite =
|
|
8
|
-
/* @__PURE__ */
|
|
9
|
-
createProxy("RemixSite");
|
|
10
|
-
export const NextjsSite =
|
|
11
|
-
/* @__PURE__ */
|
|
12
|
-
createProxy("NextjsSite");
|
|
13
|
-
export const SolidStartSite =
|
|
14
|
-
/* @__PURE__ */
|
|
15
|
-
createProxy("SolidStartSite");
|
|
16
|
-
export const SvelteKitSite =
|
|
17
|
-
/* @__PURE__ */
|
|
18
|
-
createProxy("SvelteKitSite");
|
package/node/table/index.d.ts
DELETED
package/node/table/index.js
DELETED
package/node/topic/index.d.ts
DELETED
package/node/topic/index.js
DELETED
package/node/util/index.d.ts
DELETED
package/node/util/index.js
DELETED
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import { GetParametersCommand, SSMClient, } from "@aws-sdk/client-ssm";
|
|
2
|
-
const ssm = new SSMClient({ region: process.env.SST_REGION });
|
|
3
|
-
// Example:
|
|
4
|
-
// {
|
|
5
|
-
// Bucket: {
|
|
6
|
-
// myBucket: {
|
|
7
|
-
// name: "my-bucket",
|
|
8
|
-
// }
|
|
9
|
-
// }
|
|
10
|
-
// }
|
|
11
|
-
let allVariables = {};
|
|
12
|
-
// NOTE: in some setups, top level await must be assigned to a variable,
|
|
13
|
-
// otherwise it would throw a top level await error.
|
|
14
|
-
// https://discord.com/channels/983865673656705025/1089184080534446110
|
|
15
|
-
const _placeholder = await parseEnvironment();
|
|
16
|
-
export function createProxy(constructName) {
|
|
17
|
-
const result = new Proxy({}, {
|
|
18
|
-
get(target, prop) {
|
|
19
|
-
if (typeof prop === "string") {
|
|
20
|
-
// If SST_APP and SST_STAGE are not set, it is likely the
|
|
21
|
-
// user is using an older version of SST.
|
|
22
|
-
// Note: cannot run this check at the top level b/c SvelteKit
|
|
23
|
-
// run code analysis after build. The code analysis runs
|
|
24
|
-
// the top level code, and would fail b/c "SST_APP" and
|
|
25
|
-
// "SST_STAGE" are undefined at build time.
|
|
26
|
-
if (!process.env.SST_APP) {
|
|
27
|
-
throw new Error(buildMissingBuiltInEnvError());
|
|
28
|
-
}
|
|
29
|
-
// normalize prop to convert kebab cases like `my-table` to `my_table`
|
|
30
|
-
const normProp = normalizeId(prop);
|
|
31
|
-
if (!(normProp in target)) {
|
|
32
|
-
throw new Error(`Cannot use ${constructName}.${String(prop)}. Please make sure it is bound to this function.`);
|
|
33
|
-
}
|
|
34
|
-
return Reflect.get(target, normProp);
|
|
35
|
-
}
|
|
36
|
-
return Reflect.get(target, prop);
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
Object.assign(result, getVariables2(constructName));
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
export function getVariables2(constructName) {
|
|
43
|
-
return allVariables[constructName] || {};
|
|
44
|
-
}
|
|
45
|
-
async function parseEnvironment() {
|
|
46
|
-
const variablesFromSsm = [];
|
|
47
|
-
const variablesFromSecret = [];
|
|
48
|
-
Object.keys(process.env)
|
|
49
|
-
.filter((name) => name.startsWith("SST_"))
|
|
50
|
-
.forEach((name) => {
|
|
51
|
-
const variable = parseEnvName(name);
|
|
52
|
-
// Ignore if env var is not in the correct format
|
|
53
|
-
if (!variable.constructName ||
|
|
54
|
-
!variable.constructId ||
|
|
55
|
-
!variable.propName) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const value = process.env[name];
|
|
59
|
-
if (value === "__FETCH_FROM_SSM__") {
|
|
60
|
-
variablesFromSsm.push(variable);
|
|
61
|
-
}
|
|
62
|
-
else if (value.startsWith("__FETCH_FROM_SECRET__:")) {
|
|
63
|
-
variablesFromSecret.push([variable, value.split(":")[1]]);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
storeVariable(variable, value);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
// Fetch values from SSM
|
|
70
|
-
await fetchValuesFromSSM(variablesFromSsm);
|
|
71
|
-
// Fetch values from Secrets
|
|
72
|
-
variablesFromSecret.forEach(([variable, secretName]) => {
|
|
73
|
-
const value = allVariables["Secret"]?.[secretName]?.value;
|
|
74
|
-
if (value) {
|
|
75
|
-
storeVariable(variable, value);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
return allVariables;
|
|
79
|
-
}
|
|
80
|
-
async function fetchValuesFromSSM(variablesFromSsm) {
|
|
81
|
-
// Get all env vars that need to be fetched from SSM
|
|
82
|
-
const ssmPaths = variablesFromSsm.map((variable) => buildSsmPath(variable));
|
|
83
|
-
if (ssmPaths.length === 0)
|
|
84
|
-
return;
|
|
85
|
-
// Fetch
|
|
86
|
-
const results = await loadSecrets(ssmPaths);
|
|
87
|
-
results.validParams.forEach((item) => {
|
|
88
|
-
const variable = parseSsmPath(item.Name);
|
|
89
|
-
storeVariable(variable, item.Value);
|
|
90
|
-
});
|
|
91
|
-
// Get all fallback values to be fetched
|
|
92
|
-
const ssmFallbackPaths = results.invalidParams
|
|
93
|
-
.map((name) => parseSsmPath(name))
|
|
94
|
-
.filter((variable) => variable.constructName === "Secret")
|
|
95
|
-
.map((variable) => buildSsmFallbackPath(variable));
|
|
96
|
-
if (ssmFallbackPaths.length === 0)
|
|
97
|
-
return;
|
|
98
|
-
// Fetch fallback values
|
|
99
|
-
const fallbackResults = await loadSecrets(ssmFallbackPaths);
|
|
100
|
-
fallbackResults.validParams.forEach((item) => {
|
|
101
|
-
const variable = parseSsmFallbackPath(item.Name);
|
|
102
|
-
storeVariable(variable, item.Value);
|
|
103
|
-
});
|
|
104
|
-
// Throw error if any values are missing
|
|
105
|
-
const missingSecrets = fallbackResults.invalidParams
|
|
106
|
-
.map((name) => parseSsmFallbackPath(name))
|
|
107
|
-
.filter((variable) => variable.constructName === "Secret")
|
|
108
|
-
.map((variable) => variable.constructId);
|
|
109
|
-
if (missingSecrets.length > 0) {
|
|
110
|
-
throw new Error(`The following secret values are not set in the "${process.env.SST_STAGE} stage": ${missingSecrets.join(", ")}`);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
async function loadSecrets(paths) {
|
|
114
|
-
// Split paths into chunks of 10
|
|
115
|
-
const chunks = [];
|
|
116
|
-
for (let i = 0; i < paths.length; i += 10) {
|
|
117
|
-
chunks.push(paths.slice(i, i + 10));
|
|
118
|
-
}
|
|
119
|
-
// Fetch secrets
|
|
120
|
-
const validParams = [];
|
|
121
|
-
const invalidParams = [];
|
|
122
|
-
await Promise.all(chunks.map(async (chunk) => {
|
|
123
|
-
const command = new GetParametersCommand({
|
|
124
|
-
Names: chunk,
|
|
125
|
-
WithDecryption: true,
|
|
126
|
-
});
|
|
127
|
-
const result = await ssm.send(command);
|
|
128
|
-
validParams.push(...(result.Parameters || []));
|
|
129
|
-
invalidParams.push(...(result.InvalidParameters || []));
|
|
130
|
-
}));
|
|
131
|
-
return { validParams, invalidParams };
|
|
132
|
-
}
|
|
133
|
-
function parseEnvName(env) {
|
|
134
|
-
const [_SST, constructName, propName, ...idParts] = env.split("_");
|
|
135
|
-
return {
|
|
136
|
-
constructName,
|
|
137
|
-
constructId: idParts.join("_"),
|
|
138
|
-
propName,
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
function parseSsmPath(path) {
|
|
142
|
-
const prefix = ssmPrefix();
|
|
143
|
-
const parts = path.substring(prefix.length).split("/");
|
|
144
|
-
return {
|
|
145
|
-
constructName: parts[0],
|
|
146
|
-
constructId: parts[1],
|
|
147
|
-
propName: parts[2],
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
function parseSsmFallbackPath(path) {
|
|
151
|
-
const parts = path.split("/");
|
|
152
|
-
return {
|
|
153
|
-
constructName: parts[4],
|
|
154
|
-
constructId: parts[5],
|
|
155
|
-
propName: parts[6],
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
function buildSsmPath(data) {
|
|
159
|
-
return `${ssmPrefix()}${data.constructName}/${data.constructId}/${data.propName}`;
|
|
160
|
-
}
|
|
161
|
-
function buildSsmFallbackPath(data) {
|
|
162
|
-
return `/sst/${process.env.SST_APP}/.fallback/${data.constructName}/${data.constructId}/${data.propName}`;
|
|
163
|
-
}
|
|
164
|
-
function normalizeId(name) {
|
|
165
|
-
return name.replace(/-/g, "_");
|
|
166
|
-
}
|
|
167
|
-
function ssmPrefix() {
|
|
168
|
-
return process.env.SST_SSM_PREFIX || "";
|
|
169
|
-
}
|
|
170
|
-
function storeVariable(variable, value) {
|
|
171
|
-
const { constructId: id, constructName: c, propName: prop } = variable;
|
|
172
|
-
allVariables[c] = allVariables[c] || {};
|
|
173
|
-
allVariables[c][id] = allVariables[c][id] || {};
|
|
174
|
-
allVariables[c][id][prop] = value;
|
|
175
|
-
}
|
|
176
|
-
function buildMissingBuiltInEnvError() {
|
|
177
|
-
// Build environment => building SSR sites
|
|
178
|
-
if (process.env.SST) {
|
|
179
|
-
return [
|
|
180
|
-
"",
|
|
181
|
-
`Cannot access bound resources. This usually happens if the "sst/node" package is used at build time. For example:`,
|
|
182
|
-
"",
|
|
183
|
-
` - The "sst/node" package is used inside the "getStaticProps()" function of a Next.js app.`,
|
|
184
|
-
` - The "sst/node" package is used at the top level outside of the "load()" function of a SvelteKit app.`,
|
|
185
|
-
"",
|
|
186
|
-
`Please wrap your build script with "sst bind". For example, "sst bind next build".`,
|
|
187
|
-
"",
|
|
188
|
-
].join("\n");
|
|
189
|
-
}
|
|
190
|
-
// Lambda/CodeBuild environment => Function/Job or SSR function
|
|
191
|
-
if (process.env.AWS_LAMBDA_FUNCTION_NAME || process.env.CODEBUILD_BUILD_ARN) {
|
|
192
|
-
return `Cannot access bound resources. This usually happens if you are using an older version of SST. Please update SST to the latest version.`;
|
|
193
|
-
}
|
|
194
|
-
// Unknown environment => client-side code
|
|
195
|
-
return `Cannot access bound resources. This usually happens if the "sst/node" package is used on the client-side. Ensure that it's only called in your server functions.`;
|
|
196
|
-
}
|
package/node/util/loader.d.ts
DELETED
package/node/util/loader.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Context } from "../../context/context2.js";
|
|
2
|
-
const LoaderContext = Context.memo(() => {
|
|
3
|
-
const loaders = new Map();
|
|
4
|
-
return loaders;
|
|
5
|
-
});
|
|
6
|
-
export function createLoader(batchFn) {
|
|
7
|
-
let current;
|
|
8
|
-
async function run() {
|
|
9
|
-
const batch = current;
|
|
10
|
-
if (!batch)
|
|
11
|
-
return;
|
|
12
|
-
const result = await batchFn(batch.keys);
|
|
13
|
-
for (let i = 0; i < result.length; i++) {
|
|
14
|
-
batch.promises[i](result[i]);
|
|
15
|
-
}
|
|
16
|
-
current = undefined;
|
|
17
|
-
}
|
|
18
|
-
function getBatch() {
|
|
19
|
-
if (current)
|
|
20
|
-
return current;
|
|
21
|
-
process.nextTick(run);
|
|
22
|
-
current = {
|
|
23
|
-
keys: [],
|
|
24
|
-
promises: [],
|
|
25
|
-
};
|
|
26
|
-
return current;
|
|
27
|
-
}
|
|
28
|
-
return (key) => {
|
|
29
|
-
const batch = getBatch();
|
|
30
|
-
batch.keys.push(key);
|
|
31
|
-
const promise = new Promise((resolve, reject) => {
|
|
32
|
-
batch.promises.push((val) => {
|
|
33
|
-
if (val instanceof Error) {
|
|
34
|
-
reject(val);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
resolve(val);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
return promise;
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
export function useLoader(key, batchFn) {
|
|
44
|
-
const loaders = LoaderContext();
|
|
45
|
-
if (loaders.has(key)) {
|
|
46
|
-
return loaders.get(key);
|
|
47
|
-
}
|
|
48
|
-
const loader = createLoader(batchFn);
|
|
49
|
-
loaders.set(key, loader);
|
|
50
|
-
return loader;
|
|
51
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Handler } from "../../context/handler.js";
|
|
2
|
-
export interface WebSocketApiResources {
|
|
3
|
-
}
|
|
4
|
-
export declare const WebSocketApi: WebSocketApiResources;
|
|
5
|
-
/**
|
|
6
|
-
* Create a new WebSocketApi handler that can be used to create an
|
|
7
|
-
* authenticated session.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```ts
|
|
11
|
-
* export const handler = WebSocketApiHandler({
|
|
12
|
-
* })
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
export declare function WebSocketApiHandler(cb: Parameters<typeof Handler<"ws">>[1]): (event: import("aws-lambda").APIGatewayProxyWebsocketEventV2 & {
|
|
16
|
-
headers?: import("aws-lambda").APIGatewayProxyEventHeaders | undefined;
|
|
17
|
-
multiValueHeaders?: import("aws-lambda").APIGatewayProxyEventMultiValueHeaders | undefined;
|
|
18
|
-
queryStringParameters?: import("aws-lambda").APIGatewayProxyEventQueryStringParameters | null | undefined;
|
|
19
|
-
multiValueQueryStringParameters?: import("aws-lambda").APIGatewayProxyEventMultiValueQueryStringParameters | null | undefined;
|
|
20
|
-
}, context: import("aws-lambda").Context) => Promise<any>;
|
|
21
|
-
export declare function useRequestContext(): import("aws-lambda").APIGatewayEventWebsocketRequestContextV2;
|
|
22
|
-
export declare function useConnectionId(): string;
|
|
23
|
-
export declare function useEventType(): "CONNECT" | "MESSAGE" | "DISCONNECT";
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Handler, useEvent } from "../../context/handler.js";
|
|
2
|
-
import { useHeader } from "../api/index.js";
|
|
3
|
-
import { createProxy } from "../util/index.js";
|
|
4
|
-
export const WebSocketApi =
|
|
5
|
-
/* @__PURE__ */ createProxy("WebSocketApi");
|
|
6
|
-
/**
|
|
7
|
-
* Create a new WebSocketApi handler that can be used to create an
|
|
8
|
-
* authenticated session.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* export const handler = WebSocketApiHandler({
|
|
13
|
-
* })
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
export function WebSocketApiHandler(cb) {
|
|
17
|
-
return Handler("ws", async (evt, ctx) => {
|
|
18
|
-
const result = await cb(evt, ctx);
|
|
19
|
-
// TODO: Once https://github.com/sst/sst/pull/2838 is merged,
|
|
20
|
-
// then we should no longer need to check both casing for the header.
|
|
21
|
-
const token = useHeader("Sec-WebSocket-Protocol") ||
|
|
22
|
-
useHeader("sec-websocket-protocol");
|
|
23
|
-
// If a token was set as part of the sec-websocket-protocol, we need to
|
|
24
|
-
// return it as a header in the response.
|
|
25
|
-
// https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-connect-route-subprotocol.html
|
|
26
|
-
if (token) {
|
|
27
|
-
return {
|
|
28
|
-
...(result || {}),
|
|
29
|
-
headers: {
|
|
30
|
-
"Sec-WebSocket-Protocol": token,
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
return result;
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
export function useRequestContext() {
|
|
38
|
-
const evt = useEvent("ws");
|
|
39
|
-
return evt.requestContext;
|
|
40
|
-
}
|
|
41
|
-
export function useConnectionId() {
|
|
42
|
-
const requestContext = useRequestContext();
|
|
43
|
-
return requestContext.connectionId;
|
|
44
|
-
}
|
|
45
|
-
export function useEventType() {
|
|
46
|
-
const requestContext = useRequestContext();
|
|
47
|
-
return requestContext.eventType;
|
|
48
|
-
}
|
package/pothos.d.ts
DELETED
package/pothos.js
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
export * as Pothos from "./pothos.js";
|
|
2
|
-
import babel from "@babel/core";
|
|
3
|
-
import generator from "@babel/generator";
|
|
4
|
-
import esbuild from "esbuild";
|
|
5
|
-
import fs from "fs/promises";
|
|
6
|
-
import path from "path";
|
|
7
|
-
import url from "url";
|
|
8
|
-
const { types, template } = babel;
|
|
9
|
-
const dummyResolver = template("const %%dummy_resolver%% = { serialize: x => x, parseValue: x => x };");
|
|
10
|
-
export async function generate(opts) {
|
|
11
|
-
const { printSchema, lexicographicSortSchema } = await import("graphql");
|
|
12
|
-
const contents = await extractSchema(opts);
|
|
13
|
-
const out = path.join(path.dirname(opts.schema), "out.mjs");
|
|
14
|
-
await fs.writeFile(out, contents, "utf8");
|
|
15
|
-
const { schema } = await import(url.pathToFileURL(out).href + "?bust=" + Date.now());
|
|
16
|
-
await fs.rm(out);
|
|
17
|
-
const schemaAsString = printSchema(lexicographicSortSchema(schema));
|
|
18
|
-
return schemaAsString;
|
|
19
|
-
}
|
|
20
|
-
export async function extractSchema(opts) {
|
|
21
|
-
const result = await esbuild.build({
|
|
22
|
-
platform: "node",
|
|
23
|
-
bundle: true,
|
|
24
|
-
format: "esm",
|
|
25
|
-
entryPoints: [opts.schema],
|
|
26
|
-
external: ["@pothos/*"],
|
|
27
|
-
keepNames: true,
|
|
28
|
-
write: false,
|
|
29
|
-
plugins: [
|
|
30
|
-
{
|
|
31
|
-
name: "externalize",
|
|
32
|
-
setup(build) {
|
|
33
|
-
const filter = /^[^.\/]|^\.[^.\/]|^\.\.[^\/]/; // Must not start with "/" or "./" or "../"
|
|
34
|
-
build.onResolve({ filter }, (args) => {
|
|
35
|
-
const packageName = args.path.match(/^(@[^\/]+\/[^\/]+|[^@/]+)/);
|
|
36
|
-
if (packageName && opts.internalPackages?.includes(packageName[0]))
|
|
37
|
-
return;
|
|
38
|
-
return {
|
|
39
|
-
path: args.path,
|
|
40
|
-
external: true,
|
|
41
|
-
};
|
|
42
|
-
});
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
});
|
|
47
|
-
const globalPaths = new Set();
|
|
48
|
-
const transformed = babel.transformSync(result.outputFiles[0].text, {
|
|
49
|
-
sourceType: "module",
|
|
50
|
-
plugins: [
|
|
51
|
-
{
|
|
52
|
-
name: "pothos-extractor",
|
|
53
|
-
visitor: {
|
|
54
|
-
Program(path) {
|
|
55
|
-
const dummyResolverId = path.scope.generateUidIdentifier("DUMMY_RESOLVER");
|
|
56
|
-
const resolverNode = dummyResolver({
|
|
57
|
-
dummy_resolver: dummyResolverId,
|
|
58
|
-
});
|
|
59
|
-
path.unshiftContainer("body", resolverNode);
|
|
60
|
-
path.scope.crawl();
|
|
61
|
-
let schemaBuilder = null;
|
|
62
|
-
path.traverse({
|
|
63
|
-
ImportDeclaration(declarator) {
|
|
64
|
-
if (!declarator)
|
|
65
|
-
return;
|
|
66
|
-
if (declarator.node.source.value.startsWith("@pothos"))
|
|
67
|
-
return;
|
|
68
|
-
declarator.remove();
|
|
69
|
-
},
|
|
70
|
-
VariableDeclarator(declarator) {
|
|
71
|
-
if (schemaBuilder)
|
|
72
|
-
return;
|
|
73
|
-
const init = declarator.get("init");
|
|
74
|
-
if (init.isNewExpression() &&
|
|
75
|
-
init.get("callee").referencesImport("@pothos/core", "default")) {
|
|
76
|
-
schemaBuilder = declarator;
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
CallExpression(callPath) {
|
|
80
|
-
if (!types.isMemberExpression(callPath.node.callee) ||
|
|
81
|
-
!types.isIdentifier(callPath.node.callee.object) ||
|
|
82
|
-
!types.isIdentifier(callPath.node.callee.property) ||
|
|
83
|
-
!schemaBuilder ||
|
|
84
|
-
(callPath.node.callee.object.name !==
|
|
85
|
-
schemaBuilder.node.id.name &&
|
|
86
|
-
callPath.node.callee.property.name !== "implement")) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
callPath.traverse({
|
|
90
|
-
Property(propertyPath) {
|
|
91
|
-
if (types.isIdentifier(propertyPath.node.key) &&
|
|
92
|
-
["resolve", "validate"].includes(propertyPath.node.key.name)) {
|
|
93
|
-
propertyPath.remove();
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
if (callPath.node.callee.property.name === "addScalarType" ||
|
|
98
|
-
callPath.node.callee.property.name === "scalarType") {
|
|
99
|
-
callPath.node.callee.property =
|
|
100
|
-
types.identifier("scalarType");
|
|
101
|
-
callPath.node.arguments = [
|
|
102
|
-
callPath.node.arguments[0],
|
|
103
|
-
dummyResolverId,
|
|
104
|
-
];
|
|
105
|
-
}
|
|
106
|
-
const bindings = getBindings(callPath, globalPaths);
|
|
107
|
-
for (const binding of bindings) {
|
|
108
|
-
globalPaths.add(findRootBinding(binding).node);
|
|
109
|
-
}
|
|
110
|
-
globalPaths.add(findRootBinding(callPath).node);
|
|
111
|
-
},
|
|
112
|
-
ExportDeclaration(exportPath) {
|
|
113
|
-
globalPaths.add(exportPath.node);
|
|
114
|
-
},
|
|
115
|
-
});
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
},
|
|
119
|
-
],
|
|
120
|
-
});
|
|
121
|
-
if (!transformed)
|
|
122
|
-
throw new Error("Could not transform file");
|
|
123
|
-
const contents = generator.default(types.program([...globalPaths]));
|
|
124
|
-
return contents.code;
|
|
125
|
-
}
|
|
126
|
-
function getBindings(path, globalPaths) {
|
|
127
|
-
const bindings = [];
|
|
128
|
-
path.traverse({
|
|
129
|
-
Expression(expressionPath) {
|
|
130
|
-
if (!expressionPath.isIdentifier())
|
|
131
|
-
return;
|
|
132
|
-
const binding = path.scope.getBinding(expressionPath);
|
|
133
|
-
if (!binding ||
|
|
134
|
-
globalPaths.has(binding.path) ||
|
|
135
|
-
bindings.includes(binding.path))
|
|
136
|
-
return;
|
|
137
|
-
const rootBinding = findRootBinding(binding.path);
|
|
138
|
-
// prevents infinite loop in a few cases like having arguments in a function declaration
|
|
139
|
-
// if the path being checked is the same as the latest path, then the bindings will be same
|
|
140
|
-
if (path === rootBinding) {
|
|
141
|
-
bindings.push(binding.path);
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
const bindingOfBindings = getBindings(rootBinding, globalPaths);
|
|
145
|
-
bindings.push(...bindingOfBindings, binding.path);
|
|
146
|
-
},
|
|
147
|
-
});
|
|
148
|
-
for (const binding of bindings) {
|
|
149
|
-
globalPaths.add(findRootBinding(binding).node);
|
|
150
|
-
}
|
|
151
|
-
return bindings;
|
|
152
|
-
}
|
|
153
|
-
function findRootBinding(path) {
|
|
154
|
-
let rootPath = path;
|
|
155
|
-
while (rootPath.parentPath?.node !== undefined &&
|
|
156
|
-
!rootPath.parentPath?.isProgram()) {
|
|
157
|
-
rootPath = rootPath.parentPath;
|
|
158
|
-
}
|
|
159
|
-
return rootPath;
|
|
160
|
-
}
|
package/project.d.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Metafile } from "esbuild";
|
|
2
|
-
import type { App } from "./constructs/App.js";
|
|
3
|
-
export interface SSTConfig {
|
|
4
|
-
config: (globals: GlobalOptions) => Promise<ConfigOptions> | ConfigOptions;
|
|
5
|
-
stacks: (app: App) => Promise<void> | void;
|
|
6
|
-
}
|
|
7
|
-
export interface ConfigOptions {
|
|
8
|
-
name: string;
|
|
9
|
-
region?: string;
|
|
10
|
-
stage?: string;
|
|
11
|
-
profile?: string;
|
|
12
|
-
role?: string;
|
|
13
|
-
ssmPrefix?: string;
|
|
14
|
-
outputs?: string;
|
|
15
|
-
advanced?: {
|
|
16
|
-
disableParameterizedStackNameCheck?: boolean;
|
|
17
|
-
disableAppModeCheck?: boolean;
|
|
18
|
-
};
|
|
19
|
-
bootstrap?: {
|
|
20
|
-
useCdkBucket?: boolean;
|
|
21
|
-
stackName?: string;
|
|
22
|
-
tags?: Record<string, string>;
|
|
23
|
-
};
|
|
24
|
-
cdk?: {
|
|
25
|
-
toolkitStackName?: string;
|
|
26
|
-
qualifier?: string;
|
|
27
|
-
bootstrapStackVersionSsmParameter?: string;
|
|
28
|
-
fileAssetsBucketName?: string;
|
|
29
|
-
customPermissionsBoundary?: string;
|
|
30
|
-
publicAccessBlockConfiguration?: boolean;
|
|
31
|
-
deployRoleArn?: string;
|
|
32
|
-
fileAssetPublishingRoleArn?: string;
|
|
33
|
-
imageAssetPublishingRoleArn?: string;
|
|
34
|
-
imageAssetsRepositoryName?: string;
|
|
35
|
-
cloudFormationExecutionRole?: string;
|
|
36
|
-
lookupRoleArn?: string;
|
|
37
|
-
pathMetadata?: boolean;
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
declare const DEFAULTS: {
|
|
41
|
-
readonly stage: undefined;
|
|
42
|
-
readonly ssmPrefix: undefined;
|
|
43
|
-
};
|
|
44
|
-
interface Project {
|
|
45
|
-
config: ConfigOptions & Required<{
|
|
46
|
-
[key in keyof typeof DEFAULTS]: Exclude<ConfigOptions[key], undefined>;
|
|
47
|
-
}>;
|
|
48
|
-
version: string;
|
|
49
|
-
cdkVersion: string;
|
|
50
|
-
constructsVersion: string;
|
|
51
|
-
paths: {
|
|
52
|
-
root: string;
|
|
53
|
-
config: string;
|
|
54
|
-
out: string;
|
|
55
|
-
artifacts: string;
|
|
56
|
-
};
|
|
57
|
-
metafile: Metafile;
|
|
58
|
-
stacks: SSTConfig["stacks"];
|
|
59
|
-
}
|
|
60
|
-
export declare function useProject(): Project;
|
|
61
|
-
interface GlobalOptions {
|
|
62
|
-
profile?: string;
|
|
63
|
-
role?: string;
|
|
64
|
-
stage?: string;
|
|
65
|
-
root?: string;
|
|
66
|
-
region?: string;
|
|
67
|
-
}
|
|
68
|
-
export declare function initProject(globals: GlobalOptions): Promise<void>;
|
|
69
|
-
declare function sanitizeStageName(stage: string): string;
|
|
70
|
-
declare function isValidStageName(stage: string): boolean;
|
|
71
|
-
export declare const exportedForTesting: {
|
|
72
|
-
sanitizeStageName: typeof sanitizeStageName;
|
|
73
|
-
isValidStageName: typeof isValidStageName;
|
|
74
|
-
};
|
|
75
|
-
export {};
|