From 2901e4fd93aaf60d7e8d6f84253715f22975563e Mon Sep 17 00:00:00 2001 From: Thorsten Hoeger Date: Sat, 10 Jan 2026 14:51:29 +0100 Subject: [PATCH 1/2] feat(graphql): add support for nested stacks in GraphQlApi - Enhanced GraphQlApi to support creating resolvers and Lambda functions in nested stacks through a new `useNestedStacks` property. - Updated the GraphQlApiProps interface to include the new property. - Added tests to verify the functionality of nested stacks and ensure backward compatibility with existing configurations. This change improves the organization of resources in CloudFormation and helps manage complex GraphQL APIs more effectively. --- docs/constructs/assets/hierarchy.js | 2 +- docs/constructs/assets/navigation.js | 2 +- docs/constructs/assets/search.js | 2 +- docs/constructs/classes/GraphQlApi.html | 2 +- docs/constructs/classes/RestApi.html | 2 +- .../classes/SingleTableDatastore.html | 2 +- docs/constructs/classes/Workflow.html | 2 +- docs/constructs/hierarchy.html | 2 +- .../interfaces/GraphQlApiProps.html | 21 +- docs/constructs/interfaces/RestApiProps.html | 2 +- docs/lambda/assets/hierarchy.js | 2 +- docs/lambda/assets/navigation.js | 2 +- docs/lambda/assets/search.js | 2 +- docs/projen/assets/hierarchy.js | 2 +- docs/projen/assets/navigation.js | 2 +- docs/projen/assets/search.js | 2 +- package-lock.json | 15 +- src/constructs/graphql.ts | 77 +++- test/constructs/graphql.test.ts | 360 ++++++++++++++++++ 19 files changed, 476 insertions(+), 27 deletions(-) create mode 100644 test/constructs/graphql.test.ts diff --git a/docs/constructs/assets/hierarchy.js b/docs/constructs/assets/hierarchy.js index 48e4dc78..88c92656 100644 --- a/docs/constructs/assets/hierarchy.js +++ b/docs/constructs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyVk7tuwjAUht/lzKYIfEu8QStVbL1tiMENhlg1NrLNhPLulSlt3RLlsmRI/pPv/5LjM3jnYgCxLjBiHM1KRBneIPBqZ1QVtbMBxBlmZbpaeVAgYHXv9lZHtzjFWtmoK5lygOBD2y2IOWUITt6AAG2j8jtZqTBtH7qr48EAgsrIEEBADNtJesvkZzI9rLXZemVBrAnbNAgIy9p0l5nNi+8yF4YK03FFvm40CBjPoEsZ1OKon7w7hh7xPDpWF2OKCL84F/gW32V5jfR4/aUxgkhZJBrGNMM9enmsn81A4X/pAc4JyEgrsEvxN9X/9wjPd+ZFhTjQJo8OUyFlcYvq8rhG+iUoy5dg9art3qg3+W7Ug4wyROdV3ylsmxm7lZTztCOU5yeis0yL9Kgi1y/QNJ/jTozm" \ No newline at end of file +window.hierarchyData = "eJyVk8tuwyAQRf9l1qStY4Od7JJWqrrra1dlQR0SoxKwgKwi/3uH1G1pY/mxMZK5w71nYE5gjfEOlm9FSlhOkgWhebIhYMVOidJLo3HzBMkifDU/CFjCw63Za+nN6ugrob0sedABgQ+pt7CcU0bgaBUqpfbC7ngp3HV30VXlDworS8UdGoF321k4ZfZTGTYrqbZWaEyZsU1DIGNRmv4wybz4DnP2wCTTgnz9QFOWR6Zr7sSqlo/W1G4APJZOxU1TSrIiC8xFemnfR9lKBrj+ujFK6M25w2gc2d1bXldPaiTwP/UI5mDIug37EH9Vw7eHXYzOfxbOj6SJpeNQsIWXVn0crWQYAkczHsMXqfdKvPJ3Je64584bK4amsKtm6qukBQ1vBJcoTW+YDuhJQdoONM0ntRCMzg==" \ No newline at end of file diff --git a/docs/constructs/assets/navigation.js b/docs/constructs/assets/navigation.js index e34f79f2..fe054d05 100644 --- a/docs/constructs/assets/navigation.js +++ b/docs/constructs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNlF1PwjAUhv9Lr4kKCX5whxiNxERFoheGi7IdtobSLu1BNIb/bjQb2+zpGdfnOc/ete/2/i0QPlGMxNh7wElqRE8UEnMxEomW3oM/rSYnOW606Im1MqkY9QeX+95h+1p6GBcqXC4H3O7EZkahHW8xB4MqkagsEYPEOO+dk0X+rMlY9YwzPMjNMpW3W5PQkdpzzjQDj2SQcsDtviiTaZjLpYYbidKjdRCKKIqzvlm3Xmm7C03VhNuuOvHkbOFrhTIIbiWTRmv+iLZqMDwPqxM3NQFORBYkro3j3EPq4sTN/xhOd99R/oaVRln5dIfHiAOMlfJ1bHq7K9lWT/0MvNUf4B6L3xj06QYUp2x/ofErI7hu7dzJRJmMC0uBnLj8HcSDNgFORJ193Bqlj30EeJXR7QooTvmK+pgKhBgnrf5n8ddvEd33HkTDr+Jw13Sgs6uL/nCwX/wACnuUNw==" \ No newline at end of file +window.navigationData = "eJyNlF1PgzAUhv9Lrxd1JPNjdzijcTHxa9EL40UHHTTrWtKeOY3ZfxcNDLCnB245z3l4oS+8fTMQn8CmLHZOwCzVbMQKDnl5JVG8vOaO68lRDhtVjtdSp2w6js73o8P2JXciLqS/XA2o3ZnJtAQTbyEXGmTCQRokBopR3hvLi/xRobGaGWW445tlyq+3OsEjdeeU6Uk4QINUA2r3WepMiQVfKnHFgTswVvgijKKsr8auV8rsfFM9obbrTjxYU7hGITUIu+JJqzV/RFcVTU796oRNbYASoQUJa8M4dZOmOGHzP4bS3faUv2XFUVI+38EQsYeRUrqObW9/JbvquSu/BqM+hL0vfmPgb9ejKGX3Cw0fGcL1axeWJ+UjUmExkBJXv4Nw0DZAibB3H7YG6aG3EE5meLs8ilK+gBpSAR+jpPX/LPz4HaL/3L1o8FUczhoPdHJxNp5E+/cfCnuUNw==" \ No newline at end of file diff --git a/docs/constructs/assets/search.js b/docs/constructs/assets/search.js index a3d9fd69..ee4f85f1 100644 --- a/docs/constructs/assets/search.js +++ b/docs/constructs/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/constructs/classes/GraphQlApi.html b/docs/constructs/classes/GraphQlApi.html index 8f357e1d..bcd5d994 100644 --- a/docs/constructs/classes/GraphQlApi.html +++ b/docs/constructs/classes/GraphQlApi.html @@ -5,7 +5,7 @@

Type Parameters

Hierarchy (View Summary)

Index

Constructors

Hierarchy (View Summary)

Index

Constructors

Properties

api apiDomainName? apiFQDN? diff --git a/docs/constructs/classes/RestApi.html b/docs/constructs/classes/RestApi.html index ab143c7f..04752fc6 100644 --- a/docs/constructs/classes/RestApi.html +++ b/docs/constructs/classes/RestApi.html @@ -6,7 +6,7 @@

Type Parameters

  • PATHS

    The type definition for the API paths.

  • OPS

    The type definition for the API operations.

    -

Hierarchy (View Summary)

Index

Constructors

Hierarchy (View Summary)

Index

Constructors

Properties

api apiDomainName? apiFQDN? diff --git a/docs/constructs/classes/SingleTableDatastore.html b/docs/constructs/classes/SingleTableDatastore.html index d40974f0..f40026a7 100644 --- a/docs/constructs/classes/SingleTableDatastore.html +++ b/docs/constructs/classes/SingleTableDatastore.html @@ -4,7 +4,7 @@
const datastore = new SingleTableDatastore(this, 'MyDatastore', {
design: {
primaryKey: {
partitionKey: 'PK',
sortKey: 'SK',
},
globalIndexes: [
{
indexName: 'GSI1',
partitionKey: { name: 'GSI1PK', type: dynamodb.AttributeType.STRING },
sortKey: { name: 'GSI1SK', type: dynamodb.AttributeType.STRING },
},
],
localIndexes: [
{
indexName: 'LSI1',
sortKey: { name: 'LSI1SK', type: dynamodb.AttributeType.STRING },
},
],
timeToLiveAttribute: 'TTL',
},
encryption: dynamodb.TableEncryption.AWS_MANAGED,
});
-

Hierarchy

  • Construct
    • SingleTableDatastore

Implements

Index

Constructors

Hierarchy

  • Construct
    • SingleTableDatastore

Implements

Index

Constructors

Properties

Methods

toString diff --git a/docs/constructs/classes/Workflow.html b/docs/constructs/classes/Workflow.html index 892f2075..08d4e2e2 100644 --- a/docs/constructs/classes/Workflow.html +++ b/docs/constructs/classes/Workflow.html @@ -4,7 +4,7 @@
const workflow = new Workflow(this, 'MyWorkflow', {
definitionFileName: 'path/to/definition.asl.json',
stateMachineType: sfn.StateMachineType.STANDARD,
loggingConfiguration: {
level: sfn.LogLevel.ALL,
includeExecutionData: true,
destinations: [new logs.LogGroup(this, 'LogGroup')],
},
tracingConfiguration: {
enabled: true,
},
definitionSubstitutions: {
'${MyVariable}': 'MyValue',
},
});

const lambdaFunction = new lambda.Function(this, 'MyFunction', {
runtime: lambda.Runtime.NODEJS_20_X,
handler: 'index.handler',
code: lambda.Code.fromAsset('lambda'),
});

workflow.grantPrincipal.grantInvoke(lambdaFunction);
-

Hierarchy

  • Construct
    • Workflow

Implements

  • IGrantable
Index

Constructors

Hierarchy

  • Construct
    • Workflow

Implements

  • IGrantable
Index

Constructors

Properties

grantPrincipal node role diff --git a/docs/constructs/hierarchy.html b/docs/constructs/hierarchy.html index 5fef70ef..729ab6d0 100644 --- a/docs/constructs/hierarchy.html +++ b/docs/constructs/hierarchy.html @@ -1 +1 @@ -cdk-serverless
cdk-serverless
    Preparing search index...
    +cdk-serverless
    cdk-serverless
      Preparing search index...
      diff --git a/docs/constructs/interfaces/GraphQlApiProps.html b/docs/constructs/interfaces/GraphQlApiProps.html index e3bb0bf3..e26e6769 100644 --- a/docs/constructs/interfaces/GraphQlApiProps.html +++ b/docs/constructs/interfaces/GraphQlApiProps.html @@ -1,4 +1,4 @@ -GraphQlApiProps | cdk-serverless
      cdk-serverless
        Preparing search index...

        Interface GraphQlApiProps

        interface GraphQlApiProps {
            additionalEnv?: { [key: string]: string };
            apiHostname?: string;
            apiName: string;
            assetCdn?: AssetCdn;
            authentication?: IJwtAuthentication | ICognitoAuthentication;
            definitionFileName: string;
            domainName?: string;
            hostedZone?: IHostedZone;
            lambdaOptions?: LambdaOptions;
            lambdaTracing?: LambdaTracingOptions;
            monitoring?: boolean;
            singleTableDatastore?: ISingleTableDatastore;
            stageName: string;
        }

        Hierarchy (View Summary)

        Index

        Properties

        additionalEnv? +GraphQlApiProps | cdk-serverless
        cdk-serverless
          Preparing search index...

          Interface GraphQlApiProps

          interface GraphQlApiProps {
              additionalEnv?: { [key: string]: string };
              apiHostname?: string;
              apiName: string;
              assetCdn?: AssetCdn;
              authentication?: IJwtAuthentication | ICognitoAuthentication;
              definitionFileName: string;
              domainName?: string;
              hostedZone?: IHostedZone;
              lambdaOptions?: LambdaOptions;
              lambdaTracing?: LambdaTracingOptions;
              monitoring?: boolean;
              singleTableDatastore?: ISingleTableDatastore;
              stageName: string;
              useNestedStacks?: boolean;
          }

          Hierarchy (View Summary)

          Index

          Properties

          additionalEnv?: { [key: string]: string }

          Additional environment variables of all Lambda functions

          apiHostname?: string

          Hostname of the API if a domain name is specified

          api
          @@ -47,4 +48,20 @@
           
          stageName: string

          Deployment stage (e.g. dev)

          -
          +
          useNestedStacks?: boolean

          If true, resolvers and Lambda functions will be created in nested stacks +grouped by type (Query, Mutation, Subscription, Field).

          +

          WARNING: Only enable this if you are approaching or hitting CloudFormation's +500 resource limit. Nested stacks have significant downsides:

          +
            +
          • Slower deployments due to additional stack operations
          • +
          • More complex debugging and error tracing
          • +
          • Harder to navigate in the CloudFormation console
          • +
          • Cross-stack references add complexity
          • +
          +

          WARNING: Changing this setting on an existing stack requires manual intervention. +CloudFormation cannot automatically move resources between stacks. You may need +to delete and recreate resolvers, or perform a two-step deployment.

          +
          false
          +
          + +
          diff --git a/docs/constructs/interfaces/RestApiProps.html b/docs/constructs/interfaces/RestApiProps.html index 864ca7e8..72313169 100644 --- a/docs/constructs/interfaces/RestApiProps.html +++ b/docs/constructs/interfaces/RestApiProps.html @@ -1,4 +1,4 @@ -RestApiProps | cdk-serverless
          cdk-serverless
            Preparing search index...

            Interface RestApiProps<OPS>

            interface RestApiProps<OPS> {
                additionalEnv?: { [key: string]: string };
                apiHostname?: string;
                apiName: string;
                assetCdn?: AssetCdn;
                authentication?: IJwtAuthentication | ICognitoAuthentication;
                autoGenerateRoutes?: boolean;
                cors: boolean;
                definitionFileName: string;
                domainName?: string;
                hostedZone?: IHostedZone;
                lambdaOptions?: LambdaOptions;
                lambdaOptionsByOperation?: {
                    [operationId in string | number | symbol]?: LambdaOptions
                };
                lambdaTracing?: LambdaTracingOptions;
                monitoring?: boolean;
                restApiProps?: RestApiBaseProps;
                singleTableDatastore?: ISingleTableDatastore;
                stageName: string;
            }

            Type Parameters

            • OPS

            Hierarchy (View Summary)

            Index

            Properties

            additionalEnv? +RestApiProps | cdk-serverless
            cdk-serverless
              Preparing search index...

              Interface RestApiProps<OPS>

              interface RestApiProps<OPS> {
                  additionalEnv?: { [key: string]: string };
                  apiHostname?: string;
                  apiName: string;
                  assetCdn?: AssetCdn;
                  authentication?: IJwtAuthentication | ICognitoAuthentication;
                  autoGenerateRoutes?: boolean;
                  cors: boolean;
                  definitionFileName: string;
                  domainName?: string;
                  hostedZone?: IHostedZone;
                  lambdaOptions?: LambdaOptions;
                  lambdaOptionsByOperation?: {
                      [operationId in string | number | symbol]?: LambdaOptions
                  };
                  lambdaTracing?: LambdaTracingOptions;
                  monitoring?: boolean;
                  restApiProps?: RestApiBaseProps;
                  singleTableDatastore?: ISingleTableDatastore;
                  stageName: string;
              }

              Type Parameters

              • OPS

              Hierarchy (View Summary)

              Index

              Properties

              additionalEnv? apiHostname? apiName assetCdn? diff --git a/docs/lambda/assets/hierarchy.js b/docs/lambda/assets/hierarchy.js index 5bae3a6c..f502a8d9 100644 --- a/docs/lambda/assets/hierarchy.js +++ b/docs/lambda/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJylk11PgzAUhv/Lue4mbQGBu834ES800RgvFi8qVGnEFstBM83+u+mmC8xtwLzhgrxvnqenp19gjcEKkhkPKGGExdEDASufCpmiMrqC5AuY+2jxKiGByw+c1Jgbqz6lBQIvSmeQUBYRqG0BCaSFqCpZHYka83ErPc7xtQCySkACWGUjVx+tfhBIc1VkVmpIZj4jxxGhNH5YEPCbAifmWSs0AyT+NIaIML5UOI4aCpNSnQuUH2L+TofNY2dziBINlkqUxtud2MFO7HCneOUU7HCiw69tb7vDzanEu8bzL5W/7W4Vxtsq5e1cp4dYbC/2EIib63tdSivc414TWRD+EpVGaZ9E6qClGq+zOyHrQnshuOe7heCev418rzC/kW+1rHBqsvkQkY1qDy+nEdCGxgVieWqt2Tty6QLVeJ0d8hp4GBMehcT3OPGZtxxE2NyBqch+ztDXY6PRfec8ChvAO+1WSGpUqUCZ9aVuq3WjfY830GfGPqosk7ovtF3ogWNeA3dl8MzUuvcRW/ku2GLxDenJbas=" \ No newline at end of file +window.hierarchyData = "eJylk89PgzAcxf+XnitC+THYbTNO40ETjfFgdkDaSSNrsRSXuex/t92UlA0GzAtN6Ht5n377ugGCc1mA8avrOxBBFIVzCARZZCSRlDO1swFIf1i8JGAM7lZyUsqUC/pNBIDggzIMxg4KIShFpgRJFhcFKS5jpbJqaiuVy0xZdgqllAW+0PaL/Q+1kdIMC8IUjYfgKISOE823EHgmwBV/Z1TyARBHjiEgyN0hjEIDYZLTm1iSVbz+cobNo9U5BMnxd0hqOM1M6GwmdD5TtGfyW5ic4dd20t3BplGitvH8C+XY3Y2iOlRDyZ/WLDmHotnYAyAy6/uQExHrx10lIj/4S6RMErGIEx2aU6vStoZUhnohXNvThVBLU/ILlekj+SxJIaccr4eAHFh7cGkM3zEwbqXMr4XgJ0dOtKCwKu2Q1+AGEXTDAHq2Cz1k7wYRmB2Yxvj3DH05Dhzdd67yjcBnpitEmKSJKjLum9pk645WxzaiZ1y8UYwJ6xtaN/SIQ7YRd8/ljJes9xFr+q6w7fYH6cltqw==" \ No newline at end of file diff --git a/docs/lambda/assets/navigation.js b/docs/lambda/assets/navigation.js index 06eb2e62..e8465561 100644 --- a/docs/lambda/assets/navigation.js +++ b/docs/lambda/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyllMtSwjAUht8la0alA6jsCiOiC3BwHBcMi9gcbMaSxPRURMd3d7iVhoY01W37n+8/10y/CcInki6hipMGURRj0iULybIE0nOq+FmMi4Q0yBsXjHRbDRLFPGEaBOlO8+BQqceViIZUsAR0X4rN9xzHBYKe02hHtKpNn6Dd+Wnk+CGi8mSXpVXgCaRKihR8yEdaF3qsQFPkUpwE5govzDPHeALvGaTYk2xVTT0KcJmED3e3FGFJVx/NXfMOfFyp/dzKsiPqxfVlsx0UycaorVBDUcUrjNcGK/yuIkUaKMKp/OaZiNZN3GJtWpPfaZXQ1lRt3JNJW6BjBSJU3ItramuiT65btZNz8eoaj+T+5v6RwgFSSmZWSIdmGFvewAxjz0eQ5+fRl6+CowwzjKXmX8VRRQlN0z3XGWO6NoMr47AOgfdLrGVk6D1Ngj9UVI7xNatZUVCjos0N+xdjl7ssfNm1oD4NqWhCcdNBa6nT8q5vv3tte4+y3YXdrIPKOe1YRzpXkQOpXzhjINxEU+YCrl9WNytXuDAjiQOZCeZGGSoX7kmsxwUCeUQRKqg2sW22s18AdXFg" \ No newline at end of file +window.navigationData = "eJyllMFSwjAQht+lZ0alA6jcCiOiB3RwHA8Oh9gEm7EkMU3F6vjuplBK06Rpqsem/37/bnY3z9+eQJ/CG3uAYa/nMSAi+bGhMI1RcioPTyKxieWfN0ygNx70vDDCMeSIeOPnMjhg7CEj4RwQGCM+pWR3XuKw/OZrEBZEo1r18Yejn16JnwvBHNm6tA28RAmjJEEu5JrWhr5jiAOBKWkElgonzBMW0RK9pygREwqzdmotwGYS3N9cA4G2IPvoF5d35IuMHfqmy2rUs8vz/tCvkpVWG6GKoo1Xaa8JVvndRgo5krU05bdOSZhf4h5r0qr80UBDG1M1cRuTNkBld0nAsBNX1XZEN45bu5N18LoaL+hh5/6RwhGiJbOqpANSidffQHnq+Ajicj2m9JVgQQMZSzn+qrYqjEGSHLjWGNW1718oi3UMvN2KTkaK3tHE/0NFeoyrWceK/A4V7XbYvRiz3Gbhyu4EdbmQlkuoTjrinPJEn/X9udO0TwAsNuwqD9JzKlg1na3IGeUvGEJE7ERVZgPmL6udVSpsmAUVM5oSaEcpKhvukeTtQkTgUM5vC9UkNvV29QsAdXFg" \ No newline at end of file diff --git a/docs/lambda/assets/search.js b/docs/lambda/assets/search.js index 309f27bc..3dfc841f 100644 --- a/docs/lambda/assets/search.js +++ b/docs/lambda/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/projen/assets/hierarchy.js b/docs/projen/assets/hierarchy.js index fb85f0ad..88636f05 100644 --- a/docs/projen/assets/hierarchy.js +++ b/docs/projen/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm" \ No newline at end of file diff --git a/docs/projen/assets/navigation.js b/docs/projen/assets/navigation.js index db225c6b..4af5b1e7 100644 --- a/docs/projen/assets/navigation.js +++ b/docs/projen/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJx90E8PwUAQBfDvMueGqBDprUEcxP+Dg4isGumyus3OBIn47i7VqmXO781vkrd5AOOdIYKBYkVsHUIAueIUIkiMIkJqllEj5YuBAM46O0DUCnvPoLwfOZWnCxPn2geqTBKWSPzzvAik2xW6KzqDRHNnT5iwr3gVyVtbdz4ae/OZdyJdl4PNctY2o0rRGaM7quRz1aJUB8NO9+e4kui1JLIYVfLqFQnztpXYf2XpwXt1yf3qSNw87o/j0XA3jSfDyroqp9XeIDU/87rTDp/bF6mPGZQ=" \ No newline at end of file +window.navigationData = "eJx90MEPwTAUBvD/pefFYkLErUEcBMPBQURqnqxWa9O+IBH/ux1mM+Vd933v1+XbPhjCHdmAjQQKh9oCC5gRmBafEiWcAxdWUSvFiyryTOZHNmhH/WdQ3U+sMOlScSN9oM4oYQUOf56XAXW7BnsFq8C52OozJOgrXoXyNtpmJ6VvPvNOqOtqsIVBqXNXKzJHsCeRfK5alppg1O39HJcSvRZFlqNSXrNCYd62FPuvTD3wXp1yvzoUF/PhlE/G+zmfjWvrKqwUh+LHws+86XSi5+4FqY8ZlA==" \ No newline at end of file diff --git a/docs/projen/assets/search.js b/docs/projen/assets/search.js index 49d5c3cf..5339cd6f 100644 --- a/docs/projen/assets/search.js +++ b/docs/projen/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 2fb025f9..f5c29acd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -390,6 +390,7 @@ "integrity": "sha512-QRVgLB6/CRum0wjjPwclHXO6KjagLqOjsdTvIw6J42+kYUoO62DT9o0NWPXXWyfxBSDpgBnW8K94iHtOM/+/jw==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -1289,6 +1290,7 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -4172,6 +4174,7 @@ "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~5.26.4" } @@ -4256,6 +4259,7 @@ "integrity": "sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.52.0", "@typescript-eslint/types": "8.52.0", @@ -4716,6 +4720,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5729,6 +5734,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -6080,7 +6086,8 @@ "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.4.4.tgz", "integrity": "sha512-lP0qC1oViYf1cutHo9/KQ8QL637f/W29tDmv/6sy35F5zs+MD9f66nbAAIjicwc7fwyuF3rkg6PhZh4sfvWIpA==", "dev": true, - "license": "Apache-2.0" + "license": "Apache-2.0", + "peer": true }, "node_modules/conventional-changelog": { "version": "4.0.0", @@ -7127,6 +7134,7 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -7297,6 +7305,7 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -9170,6 +9179,7 @@ "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -14596,6 +14606,7 @@ "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -14828,6 +14839,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -14890,6 +14902,7 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "napi-postinstall": "^0.3.0" }, diff --git a/src/constructs/graphql.ts b/src/constructs/graphql.ts index c1147c9c..592d4ab5 100644 --- a/src/constructs/graphql.ts +++ b/src/constructs/graphql.ts @@ -2,7 +2,7 @@ import { SpawnSyncOptions, spawnSync } from 'child_process'; import * as fs from 'fs'; import * as os from 'os'; -import { AssetHashType, BundlingOptions, BundlingOutput, CfnOutput, DockerImage, Tags, aws_appsync, aws_certificatemanager, aws_iam, aws_logs, aws_route53 } from 'aws-cdk-lib'; +import { AssetHashType, BundlingOptions, BundlingOutput, CfnOutput, DockerImage, NestedStack, Tags, aws_appsync, aws_certificatemanager, aws_iam, aws_logs, aws_route53 } from 'aws-cdk-lib'; import { Construct } from 'constructs'; import { CognitoAuthentication } from './authentication'; import { BaseApi, BaseApiProps } from './base-api'; @@ -11,6 +11,25 @@ import { CFN_OUTPUT_SUFFIX_GRAPHQL_DOMAINNAME } from '../shared/outputs'; export interface GraphQlApiProps extends BaseApiProps { definitionFileName: string; + + /** + * If true, resolvers and Lambda functions will be created in nested stacks + * grouped by type (Query, Mutation, Subscription, Field). + * + * WARNING: Only enable this if you are approaching or hitting CloudFormation's + * 500 resource limit. Nested stacks have significant downsides: + * - Slower deployments due to additional stack operations + * - More complex debugging and error tracing + * - Harder to navigate in the CloudFormation console + * - Cross-stack references add complexity + * + * WARNING: Changing this setting on an existing stack requires manual intervention. + * CloudFormation cannot automatically move resources between stacks. You may need + * to delete and recreate resolvers, or perform a two-step deployment. + * + * @default false + */ + useNestedStacks?: boolean; } export interface VtlResolverOptions { @@ -90,10 +109,16 @@ export class GraphQlApi extends BaseApi { */ private _functions: { [operationId: string]: LambdaFunction } = {}; + /** + * Nested stacks for resolvers, grouped by type name. + * Only used when useNestedStacks is true. + */ + private readonly nestedStacks: { [typeName: string]: NestedStack } = {}; + /** * The Cognito authentication configuration. */ - private cognitoAuth: CognitoAuthentication; + private readonly cognitoAuth: CognitoAuthentication; /** * Creates an instance of GraphQlApi. @@ -102,7 +127,7 @@ export class GraphQlApi extends BaseApi { * @param id - The scoped construct ID. * @param props - The properties of the GraphQlApi construct. */ - constructor(scope: Construct, id: string, private props: GraphQlApiProps) { + constructor(scope: Construct, id: string, private readonly props: GraphQlApiProps) { super(scope, id, props); this.cognitoAuth = props.authentication as CognitoAuthentication; @@ -274,7 +299,9 @@ export class GraphQlApi extends BaseApi { this.createEntryFile(entryFile, typeName as string, fieldName as string); } - const fn = new LambdaFunction(this, `Fn${operationId}`, { + const scope = this.getScopeForTypeName(typeName as string); + + const fn = new LambdaFunction(scope, `Fn${operationId}`, { stageName: this.props.stageName, additionalEnv: this.props.additionalEnv, entry: entryFile, @@ -303,13 +330,13 @@ export class GraphQlApi extends BaseApi { // this.monitoring.lambdaErrorsWidget.addLeftMetric(fn.metricThrottles()); // } - const dataSource = new aws_appsync.LambdaDataSource(this, `LambdaDS${operationId}`, { + const dataSource = new aws_appsync.LambdaDataSource(scope, `LambdaDS${operationId}`, { api: this.api, name: `Lambda_${typeName as string}_${fieldName as String}`, lambdaFunction: fn, }); - new aws_appsync.Resolver(this, `Resolver${operationId}`, { + new aws_appsync.Resolver(scope, `Resolver${operationId}`, { api: this.api, typeName: typeName as string, fieldName: fieldName as string, @@ -354,6 +381,8 @@ export class GraphQlApi extends BaseApi { const operationId = `${typeName as string}.${fieldName as String}`; const description = `Type ${typeName as string} Field ${fieldName as String} Resolver`; + const scope = this.getScopeForTypeName(typeName as string); + const resolverDir = './src/js-resolver/'; const functions: JsResolverConfig[] = []; @@ -383,7 +412,7 @@ export class GraphQlApi extends BaseApi { this.createJSResolverFile(fn, typeName as string, fieldName as string); } - const jsFunction = new aws_appsync.AppsyncFunction(this, fn.functionId, { + const jsFunction = new aws_appsync.AppsyncFunction(scope, fn.functionId, { api: this.api, name: operationId.replace(/\./g, ''), description, @@ -424,7 +453,7 @@ export class GraphQlApi extends BaseApi { pipelineConfig.push(jsFunction); } - new aws_appsync.Resolver(this, `Resolver${operationId}`, { + new aws_appsync.Resolver(scope, `Resolver${operationId}`, { api: this.api, typeName: typeName as string, fieldName: fieldName as string, @@ -463,7 +492,9 @@ ${Object.entries(options?.stashValues ?? []).map(val => ` ctx.stash.${val[0 fs.writeFileSync(mappingResFile, '$util.toJson($ctx.result)', { encoding: 'utf-8' }); } - new aws_appsync.Resolver(this, `Resolver${operationId}`, { + const scope = this.getScopeForTypeName(typeName as string); + + new aws_appsync.Resolver(scope, `Resolver${operationId}`, { api: this.api, typeName: typeName as string, fieldName: fieldName as string, @@ -473,6 +504,34 @@ ${Object.entries(options?.stashValues ?? []).map(val => ` ctx.stash.${val[0 }); } + /** + * Returns the appropriate scope for creating resources for the given type name. + * If useNestedStacks is enabled, returns a nested stack for the type name, + * creating it if it doesn't exist. Otherwise, returns this construct. + * + * Query, Mutation, and Subscription each get their own nested stack. + * All other types (field resolvers) share a single "Field" nested stack. + * + * @param typeName - The GraphQL type name (e.g., 'Query', 'Mutation', 'Subscription', or a custom type) + * @returns The construct to use as scope for creating resources + */ + private getScopeForTypeName(typeName: string): Construct { + if (!this.props.useNestedStacks) { + return this; + } + + const rootTypes = ['Query', 'Mutation', 'Subscription']; + const stackKey = rootTypes.includes(typeName) ? typeName : 'Field'; + + if (!this.nestedStacks[stackKey]) { + this.nestedStacks[stackKey] = new NestedStack(this, `${stackKey}Resolvers`, { + description: `Nested stack for ${stackKey} resolvers`, + }); + } + + return this.nestedStacks[stackKey]; + } + private substVariables(data: string, vars: { [name: string]: string } = {}): string { let res = data; for (const name in vars) { diff --git a/test/constructs/graphql.test.ts b/test/constructs/graphql.test.ts new file mode 100644 index 00000000..a294aa86 --- /dev/null +++ b/test/constructs/graphql.test.ts @@ -0,0 +1,360 @@ +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import { App, Stack } from 'aws-cdk-lib'; +import { Template } from 'aws-cdk-lib/assertions'; +import { CognitoAuthentication, GraphQlApi } from '../../src/constructs'; + +// Define a resolver type for testing +interface TestResolvers { + Query: { + getUser: unknown; + listUsers: unknown; + }; + Mutation: { + createUser: unknown; + updateUser: unknown; + }; + Subscription: { + onUserCreated: unknown; + }; + User: { + posts: unknown; + }; + Post: { + comments: unknown; + }; +} + +// Mock the LambdaFunction to avoid NodejsFunction bundling issues +jest.mock('../../src/constructs/func', () => { + const awsLambda = jest.requireActual('aws-cdk-lib/aws-lambda'); + const { Construct } = jest.requireActual('constructs'); + + class MockLambdaFunction extends awsLambda.Function { + constructor(scope: typeof Construct, id: string, props: any) { + super(scope, id, { + runtime: awsLambda.Runtime.NODEJS_18_X, + handler: 'index.handler', + code: awsLambda.Code.fromInline('exports.handler = async () => {}'), + description: props.description, + }); + } + } + + return { + LambdaFunction: MockLambdaFunction, + }; +}); + +// Define the lambda files that should be created for the test resolvers +const lambdaFiles = [ + 'Query.getUser.ts', + 'Query.listUsers.ts', + 'Mutation.createUser.ts', + 'Mutation.updateUser.ts', + 'Subscription.onUserCreated.ts', + 'User.posts.ts', + 'Post.comments.ts', +]; + +describe('GraphQlApi', () => { + let app: App; + let stack: Stack; + let authentication: CognitoAuthentication; + const schemaPath = path.join(__dirname, 'test-schema.graphql'); + const lambdaDir = path.join(__dirname, '../../src/lambda'); + + beforeAll(() => { + // Create a minimal test schema file for the tests + fs.writeFileSync(schemaPath, ` +type Query { + getUser(id: ID!): User + listUsers: [User] +} + +type Mutation { + createUser(name: String!): User + updateUser(id: ID!, name: String!): User +} + +type Subscription { + onUserCreated: User +} + +type User { + id: ID! + name: String + posts: [Post] +} + +type Post { + id: ID! + title: String + comments: [String] +} +`); + + // Ensure lambda directory exists and create dummy entry files + fs.mkdirSync(lambdaDir, { recursive: true }); + + const dummyLambdaContent = 'export const handler = async () => {};'; + + + for (const file of lambdaFiles) { + const filePath = path.join(lambdaDir, file); + if (!fs.existsSync(filePath)) { + fs.writeFileSync(filePath, dummyLambdaContent); + } + } + }); + + afterAll(() => { + // Clean up the test schema file + if (fs.existsSync(schemaPath)) { + fs.unlinkSync(schemaPath); + } + + for (const file of lambdaFiles) { + const filePath = path.join(lambdaDir, file); + if (fs.existsSync(filePath)) { + fs.unlinkSync(filePath); + } + } + }); + + beforeEach(() => { + app = new App(); + stack = new Stack(app, 'TestStack'); + authentication = new CognitoAuthentication(stack, 'Auth', { + userPoolName: 'TestUserPool', + identityPool: {}, + }); + }); + + describe('without useNestedStacks', () => { + test('creates GraphQL API in the main stack', () => { + new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + }); + + const template = Template.fromStack(stack); + + // Verify GraphQL API is created + template.hasResourceProperties('AWS::AppSync::GraphQLApi', { + Name: 'TestAPI [test]', + }); + + // Verify no nested stacks are created + template.resourceCountIs('AWS::CloudFormation::Stack', 0); + }); + + test('creates Lambda resolver in the main stack', () => { + const api = new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + }); + + api.addLambdaResolver('Query', 'getUser'); + + const template = Template.fromStack(stack); + + // Verify resolver is created in the main stack + template.hasResourceProperties('AWS::AppSync::Resolver', { + TypeName: 'Query', + FieldName: 'getUser', + }); + + // Verify Lambda function is created + template.hasResourceProperties('AWS::Lambda::Function', { + Description: '[test] Type Query Field getUser Resolver', + }); + + // Verify no nested stacks + template.resourceCountIs('AWS::CloudFormation::Stack', 0); + }); + + test('creates multiple resolvers in the main stack', () => { + const api = new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + }); + + api.addLambdaResolver('Query', 'getUser'); + api.addLambdaResolver('Query', 'listUsers'); + api.addLambdaResolver('Mutation', 'createUser'); + + const template = Template.fromStack(stack); + + // Count resolvers in main stack + template.resourceCountIs('AWS::AppSync::Resolver', 3); + + // Verify no nested stacks + template.resourceCountIs('AWS::CloudFormation::Stack', 0); + }); + }); + + describe('with useNestedStacks enabled', () => { + test('creates nested stacks for resolvers', () => { + const api = new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + useNestedStacks: true, + }); + + api.addLambdaResolver('Query', 'getUser'); + api.addLambdaResolver('Mutation', 'createUser'); + + const template = Template.fromStack(stack); + + // Verify nested stacks are created (one for Query, one for Mutation) + template.resourceCountIs('AWS::CloudFormation::Stack', 2); + }); + + test('groups Query resolvers in QueryResolvers nested stack', () => { + const api = new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + useNestedStacks: true, + }); + + api.addLambdaResolver('Query', 'getUser'); + api.addLambdaResolver('Query', 'listUsers'); + + const template = Template.fromStack(stack); + + // Only one nested stack for Query resolvers + template.resourceCountIs('AWS::CloudFormation::Stack', 1); + + // Main stack should not have resolvers directly + template.resourceCountIs('AWS::AppSync::Resolver', 0); + }); + + test('groups Mutation resolvers in MutationResolvers nested stack', () => { + const api = new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + useNestedStacks: true, + }); + + api.addLambdaResolver('Mutation', 'createUser'); + api.addLambdaResolver('Mutation', 'updateUser'); + + const template = Template.fromStack(stack); + + // Only one nested stack for Mutation resolvers + template.resourceCountIs('AWS::CloudFormation::Stack', 1); + }); + + test('groups field resolvers in FieldResolvers nested stack', () => { + const api = new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + useNestedStacks: true, + }); + + // Field resolvers on custom types should go to Field nested stack + api.addLambdaResolver('User', 'posts'); + + const template = Template.fromStack(stack); + + // One nested stack for Field resolvers + template.resourceCountIs('AWS::CloudFormation::Stack', 1); + }); + + test('creates separate nested stacks for Query, Mutation, Subscription, and Field', () => { + const api = new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + useNestedStacks: true, + }); + + api.addLambdaResolver('Query', 'getUser'); + api.addLambdaResolver('Mutation', 'createUser'); + api.addLambdaResolver('Subscription', 'onUserCreated'); + api.addLambdaResolver('User', 'posts'); + + const template = Template.fromStack(stack); + + // Four nested stacks: Query, Mutation, Subscription, Field + template.resourceCountIs('AWS::CloudFormation::Stack', 4); + }); + + test('multiple custom types share the same Field nested stack', () => { + const api = new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + useNestedStacks: true, + }); + + // Both should go to the same Field nested stack + api.addLambdaResolver('User', 'posts'); + api.addLambdaResolver('Post', 'comments'); + + const template = Template.fromStack(stack); + + // Only one Field nested stack for all custom type resolvers + template.resourceCountIs('AWS::CloudFormation::Stack', 1); + }); + + test('GraphQL API remains in the main stack', () => { + const api = new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + useNestedStacks: true, + }); + + api.addLambdaResolver('Query', 'getUser'); + + const template = Template.fromStack(stack); + + // GraphQL API should be in the main stack, not nested + template.hasResourceProperties('AWS::AppSync::GraphQLApi', { + Name: 'TestAPI [test]', + }); + }); + }); + + describe('useNestedStacks defaults to false', () => { + test('does not create nested stacks when useNestedStacks is not specified', () => { + const api = new GraphQlApi(stack, 'TestApi', { + apiName: 'TestAPI', + stageName: 'test', + definitionFileName: schemaPath, + authentication, + // useNestedStacks not specified - should default to false + }); + + api.addLambdaResolver('Query', 'getUser'); + api.addLambdaResolver('Mutation', 'createUser'); + + const template = Template.fromStack(stack); + + // No nested stacks + template.resourceCountIs('AWS::CloudFormation::Stack', 0); + + // Resolvers in main stack + template.resourceCountIs('AWS::AppSync::Resolver', 2); + }); + }); +}); From a4aa37f8a0ef3294993d51edfde96879c49f5512 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 10 Jan 2026 13:54:45 +0000 Subject: [PATCH 2/2] chore: self mutation Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- docs/constructs/assets/hierarchy.js | 2 +- docs/constructs/assets/navigation.js | 2 +- docs/constructs/assets/search.js | 2 +- docs/lambda/assets/hierarchy.js | 2 +- docs/lambda/assets/navigation.js | 2 +- docs/lambda/assets/search.js | 2 +- docs/projen/assets/hierarchy.js | 2 +- docs/projen/assets/navigation.js | 2 +- docs/projen/assets/search.js | 2 +- package-lock.json | 15 +-------------- 10 files changed, 10 insertions(+), 23 deletions(-) diff --git a/docs/constructs/assets/hierarchy.js b/docs/constructs/assets/hierarchy.js index 88c92656..3c465a21 100644 --- a/docs/constructs/assets/hierarchy.js +++ b/docs/constructs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyVk8tuwyAQRf9l1qStY4Od7JJWqrrra1dlQR0SoxKwgKwi/3uH1G1pY/mxMZK5w71nYE5gjfEOlm9FSlhOkgWhebIhYMVOidJLo3HzBMkifDU/CFjCw63Za+nN6ugrob0sedABgQ+pt7CcU0bgaBUqpfbC7ngp3HV30VXlDworS8UdGoF321k4ZfZTGTYrqbZWaEyZsU1DIGNRmv4wybz4DnP2wCTTgnz9QFOWR6Zr7sSqlo/W1G4APJZOxU1TSrIiC8xFemnfR9lKBrj+ujFK6M25w2gc2d1bXldPaiTwP/UI5mDIug37EH9Vw7eHXYzOfxbOj6SJpeNQsIWXVn0crWQYAkczHsMXqfdKvPJ3Je64584bK4amsKtm6qukBQ1vBJcoTW+YDuhJQdoONM0ntRCMzg==" \ No newline at end of file +window.hierarchyData = "eJyVk0tzwiAUhf/LXWM1JhBkZ9uZTnd97RwXNF4NUwQHcOXkv3ewtqU1k8eGBZx7z/mAewJnbfAgVjwnrCTZgtAyWxNwuNVYBWWNB3GCbBFXI/cIAh7v7M6oYJfHUKMJqpJRBwQ+lNmAmFNG4Og0CFAmoNvKCv20veimDnsNBCotvQcBwW8mscvkpzIe1kpvHBoQq4KtGwIFS9J0h8nm/DvM2QP9dFyQr42GACsT01vpcXlQT84efA94Kh2Lm+eUFLyIzDy/tu+ivEh6uP66MUro7HzDeU4TuwcnD/WzHgj8Tz2AORqydsMuxF9V/+sVvEj6v6APA2lS6TAUOmPXVl0cF0k/BC2zdAxfldlpfJPvGu9lkD5Yh31T2FYz9ldSTuMfoTx9ss4wLdCjglxuoGk+AbUQjM4=" \ No newline at end of file diff --git a/docs/constructs/assets/navigation.js b/docs/constructs/assets/navigation.js index fe054d05..e34f79f2 100644 --- a/docs/constructs/assets/navigation.js +++ b/docs/constructs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNlF1PgzAUhv9Lrxd1JPNjdzijcTHxa9EL40UHHTTrWtKeOY3ZfxcNDLCnB245z3l4oS+8fTMQn8CmLHZOwCzVbMQKDnl5JVG8vOaO68lRDhtVjtdSp2w6js73o8P2JXciLqS/XA2o3ZnJtAQTbyEXGmTCQRokBopR3hvLi/xRobGaGWW445tlyq+3OsEjdeeU6Uk4QINUA2r3WepMiQVfKnHFgTswVvgijKKsr8auV8rsfFM9obbrTjxYU7hGITUIu+JJqzV/RFcVTU796oRNbYASoQUJa8M4dZOmOGHzP4bS3faUv2XFUVI+38EQsYeRUrqObW9/JbvquSu/BqM+hL0vfmPgb9ejKGX3Cw0fGcL1axeWJ+UjUmExkBJXv4Nw0DZAibB3H7YG6aG3EE5meLs8ilK+gBpSAR+jpPX/LPz4HaL/3L1o8FUczhoPdHJxNp5E+/cfCnuUNw==" \ No newline at end of file +window.navigationData = "eJyNlF1PwjAUhv9Lr4kKCX5whxiNxERFoheGi7IdtobSLu1BNIb/bjQb2+zpGdfnOc/ete/2/i0QPlGMxNh7wElqRE8UEnMxEomW3oM/rSYnOW606Im1MqkY9QeX+95h+1p6GBcqXC4H3O7EZkahHW8xB4MqkagsEYPEOO+dk0X+rMlY9YwzPMjNMpW3W5PQkdpzzjQDj2SQcsDtviiTaZjLpYYbidKjdRCKKIqzvlm3Xmm7C03VhNuuOvHkbOFrhTIIbiWTRmv+iLZqMDwPqxM3NQFORBYkro3j3EPq4sTN/xhOd99R/oaVRln5dIfHiAOMlfJ1bHq7K9lWT/0MvNUf4B6L3xj06QYUp2x/ofErI7hu7dzJRJmMC0uBnLj8HcSDNgFORJ193Bqlj30EeJXR7QooTvmK+pgKhBgnrf5n8ddvEd33HkTDr+Jw13Sgs6uL/nCwX/wACnuUNw==" \ No newline at end of file diff --git a/docs/constructs/assets/search.js b/docs/constructs/assets/search.js index ee4f85f1..f19edfc2 100644 --- a/docs/constructs/assets/search.js +++ b/docs/constructs/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/lambda/assets/hierarchy.js b/docs/lambda/assets/hierarchy.js index f502a8d9..5bae3a6c 100644 --- a/docs/lambda/assets/hierarchy.js +++ b/docs/lambda/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJylk89PgzAcxf+XnitC+THYbTNO40ETjfFgdkDaSSNrsRSXuex/t92UlA0GzAtN6Ht5n377ugGCc1mA8avrOxBBFIVzCARZZCSRlDO1swFIf1i8JGAM7lZyUsqUC/pNBIDggzIMxg4KIShFpgRJFhcFKS5jpbJqaiuVy0xZdgqllAW+0PaL/Q+1kdIMC8IUjYfgKISOE823EHgmwBV/Z1TyARBHjiEgyN0hjEIDYZLTm1iSVbz+cobNo9U5BMnxd0hqOM1M6GwmdD5TtGfyW5ic4dd20t3BplGitvH8C+XY3Y2iOlRDyZ/WLDmHotnYAyAy6/uQExHrx10lIj/4S6RMErGIEx2aU6vStoZUhnohXNvThVBLU/ILlekj+SxJIaccr4eAHFh7cGkM3zEwbqXMr4XgJ0dOtKCwKu2Q1+AGEXTDAHq2Cz1k7wYRmB2Yxvj3DH05Dhzdd67yjcBnpitEmKSJKjLum9pk645WxzaiZ1y8UYwJ6xtaN/SIQ7YRd8/ljJes9xFr+q6w7fYH6cltqw==" \ No newline at end of file +window.hierarchyData = "eJylk11PgzAUhv/Lue4mbQGBu834ES800RgvFi8qVGnEFstBM83+u+mmC8xtwLzhgrxvnqenp19gjcEKkhkPKGGExdEDASufCpmiMrqC5AuY+2jxKiGByw+c1Jgbqz6lBQIvSmeQUBYRqG0BCaSFqCpZHYka83ErPc7xtQCySkACWGUjVx+tfhBIc1VkVmpIZj4jxxGhNH5YEPCbAifmWSs0AyT+NIaIML5UOI4aCpNSnQuUH2L+TofNY2dziBINlkqUxtud2MFO7HCneOUU7HCiw69tb7vDzanEu8bzL5W/7W4Vxtsq5e1cp4dYbC/2EIib63tdSivc414TWRD+EpVGaZ9E6qClGq+zOyHrQnshuOe7heCev418rzC/kW+1rHBqsvkQkY1qDy+nEdCGxgVieWqt2Tty6QLVeJ0d8hp4GBMehcT3OPGZtxxE2NyBqch+ztDXY6PRfec8ChvAO+1WSGpUqUCZ9aVuq3WjfY830GfGPqosk7ovtF3ogWNeA3dl8MzUuvcRW/ku2GLxDenJbas=" \ No newline at end of file diff --git a/docs/lambda/assets/navigation.js b/docs/lambda/assets/navigation.js index e8465561..06eb2e62 100644 --- a/docs/lambda/assets/navigation.js +++ b/docs/lambda/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyllMFSwjAQht+lZ0alA6jcCiOiB3RwHA8Oh9gEm7EkMU3F6vjuplBK06Rpqsem/37/bnY3z9+eQJ/CG3uAYa/nMSAi+bGhMI1RcioPTyKxieWfN0ygNx70vDDCMeSIeOPnMjhg7CEj4RwQGCM+pWR3XuKw/OZrEBZEo1r18Yejn16JnwvBHNm6tA28RAmjJEEu5JrWhr5jiAOBKWkElgonzBMW0RK9pygREwqzdmotwGYS3N9cA4G2IPvoF5d35IuMHfqmy2rUs8vz/tCvkpVWG6GKoo1Xaa8JVvndRgo5krU05bdOSZhf4h5r0qr80UBDG1M1cRuTNkBld0nAsBNX1XZEN45bu5N18LoaL+hh5/6RwhGiJbOqpANSidffQHnq+Ajicj2m9JVgQQMZSzn+qrYqjEGSHLjWGNW1718oi3UMvN2KTkaK3tHE/0NFeoyrWceK/A4V7XbYvRiz3Gbhyu4EdbmQlkuoTjrinPJEn/X9udO0TwAsNuwqD9JzKlg1na3IGeUvGEJE7ERVZgPmL6udVSpsmAUVM5oSaEcpKhvukeTtQkTgUM5vC9UkNvV29QsAdXFg" \ No newline at end of file +window.navigationData = "eJyllMtSwjAUht8la0alA6jsCiOiC3BwHBcMi9gcbMaSxPRURMd3d7iVhoY01W37n+8/10y/CcInki6hipMGURRj0iULybIE0nOq+FmMi4Q0yBsXjHRbDRLFPGEaBOlO8+BQqceViIZUsAR0X4rN9xzHBYKe02hHtKpNn6Dd+Wnk+CGi8mSXpVXgCaRKihR8yEdaF3qsQFPkUpwE5govzDPHeALvGaTYk2xVTT0KcJmED3e3FGFJVx/NXfMOfFyp/dzKsiPqxfVlsx0UycaorVBDUcUrjNcGK/yuIkUaKMKp/OaZiNZN3GJtWpPfaZXQ1lRt3JNJW6BjBSJU3ItramuiT65btZNz8eoaj+T+5v6RwgFSSmZWSIdmGFvewAxjz0eQ5+fRl6+CowwzjKXmX8VRRQlN0z3XGWO6NoMr47AOgfdLrGVk6D1Ngj9UVI7xNatZUVCjos0N+xdjl7ssfNm1oD4NqWhCcdNBa6nT8q5vv3tte4+y3YXdrIPKOe1YRzpXkQOpXzhjINxEU+YCrl9WNytXuDAjiQOZCeZGGSoX7kmsxwUCeUQRKqg2sW22s18AdXFg" \ No newline at end of file diff --git a/docs/lambda/assets/search.js b/docs/lambda/assets/search.js index 3dfc841f..309f27bc 100644 --- a/docs/lambda/assets/search.js +++ b/docs/lambda/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/projen/assets/hierarchy.js b/docs/projen/assets/hierarchy.js index 88636f05..fb85f0ad 100644 --- a/docs/projen/assets/hierarchy.js +++ b/docs/projen/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm" \ No newline at end of file +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file diff --git a/docs/projen/assets/navigation.js b/docs/projen/assets/navigation.js index 4af5b1e7..db225c6b 100644 --- a/docs/projen/assets/navigation.js +++ b/docs/projen/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJx90MEPwTAUBvD/pefFYkLErUEcBMPBQURqnqxWa9O+IBH/ux1mM+Vd933v1+XbPhjCHdmAjQQKh9oCC5gRmBafEiWcAxdWUSvFiyryTOZHNmhH/WdQ3U+sMOlScSN9oM4oYQUOf56XAXW7BnsFq8C52OozJOgrXoXyNtpmJ6VvPvNOqOtqsIVBqXNXKzJHsCeRfK5alppg1O39HJcSvRZFlqNSXrNCYd62FPuvTD3wXp1yvzoUF/PhlE/G+zmfjWvrKqwUh+LHws+86XSi5+4FqY8ZlA==" \ No newline at end of file +window.navigationData = "eJx90E8PwUAQBfDvMueGqBDprUEcxP+Dg4isGumyus3OBIn47i7VqmXO781vkrd5AOOdIYKBYkVsHUIAueIUIkiMIkJqllEj5YuBAM46O0DUCnvPoLwfOZWnCxPn2geqTBKWSPzzvAik2xW6KzqDRHNnT5iwr3gVyVtbdz4ae/OZdyJdl4PNctY2o0rRGaM7quRz1aJUB8NO9+e4kui1JLIYVfLqFQnztpXYf2XpwXt1yf3qSNw87o/j0XA3jSfDyroqp9XeIDU/87rTDp/bF6mPGZQ=" \ No newline at end of file diff --git a/docs/projen/assets/search.js b/docs/projen/assets/search.js index 5339cd6f..49d5c3cf 100644 --- a/docs/projen/assets/search.js +++ b/docs/projen/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f5c29acd..2fb025f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -390,7 +390,6 @@ "integrity": "sha512-QRVgLB6/CRum0wjjPwclHXO6KjagLqOjsdTvIw6J42+kYUoO62DT9o0NWPXXWyfxBSDpgBnW8K94iHtOM/+/jw==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -1290,7 +1289,6 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -4174,7 +4172,6 @@ "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~5.26.4" } @@ -4259,7 +4256,6 @@ "integrity": "sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.52.0", "@typescript-eslint/types": "8.52.0", @@ -4720,7 +4716,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5734,7 +5729,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -6086,8 +6080,7 @@ "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.4.4.tgz", "integrity": "sha512-lP0qC1oViYf1cutHo9/KQ8QL637f/W29tDmv/6sy35F5zs+MD9f66nbAAIjicwc7fwyuF3rkg6PhZh4sfvWIpA==", "dev": true, - "license": "Apache-2.0", - "peer": true + "license": "Apache-2.0" }, "node_modules/conventional-changelog": { "version": "4.0.0", @@ -7134,7 +7127,6 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -7305,7 +7297,6 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -9179,7 +9170,6 @@ "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -14606,7 +14596,6 @@ "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -14839,7 +14828,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -14902,7 +14890,6 @@ "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "napi-postinstall": "^0.3.0" },