diff --git a/docs/constructs/assets/icons.js b/docs/constructs/assets/icons.js index 58882d7..3ae8f55 100644 --- a/docs/constructs/assets/icons.js +++ b/docs/constructs/assets/icons.js @@ -3,7 +3,7 @@ function addIcons() { if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); - svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; svg.style.display = "none"; if (location.protocol === "file:") updateUseElements(); } diff --git a/docs/constructs/assets/icons.svg b/docs/constructs/assets/icons.svg index 50ad579..10db10b 100644 --- a/docs/constructs/assets/icons.svg +++ b/docs/constructs/assets/icons.svg @@ -1 +1 @@ -MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/docs/constructs/index.html b/docs/constructs/index.html index afb0431..40ae622 100644 --- a/docs/constructs/index.html +++ b/docs/constructs/index.html @@ -1,7 +1,9 @@ -cdk-serverless
cdk-serverless
    Preparing search index...

    cdk-serverless

    CDK Serverless

    npm version

    +cdk-serverless
    cdk-serverless
      Preparing search index...

      cdk-serverless

      CDK Serverless

      +

      npm version

      CDK Serverless is a powerful toolkit designed to simplify serverless application development using the AWS Cloud Development Kit (CDK). It offers project management features, higher-level (L3) constructs, and utility libraries to streamline the creation and management of serverless architectures. Additionally, it leverages utility libraries to write Lambda functions and do live updates to Lambda function code during development.

      Video introduction: https://www.youtube.com/watch?v=xhNJ0cXG3O8

      -
        + + -

        To begin a new project with CDK Serverless:

        + +

        To begin a new project with CDK Serverless:

        Create a new CDK TypeScript app using projen:

        $ npx projen new awscdk-app-ts
         
        @@ -23,29 +26,39 @@ +

        First you need to add the desired construct to your projen configuration: (e.g. RestApi)

        import { RestApi } from 'cdk-serverless/projen';

        new RestApi(project, {
        apiName: 'TestApi', // logical name of your API
        definitionFile: 'testapi.yaml', // path to your OpenAPI spec
        });

        Then run projen to generate construct files and models for the API.

        -

        In your stack you can then reference the generated L3s to create the API:

        + +

        In your stack you can then reference the generated L3s to create the API:

        import { TestApiRestApi } from './generated/rest.testapi-api.generated';


        const api = new TestApiRestApi(this, 'Api', {
        stageName: props.stageName,
        domainName: props.domainName,
        apiHostname: 'api',
        singleTableDatastore,
        cors: true,
        additionalEnv: {
        DOMAIN_NAME: props.domainName,
        },
        });

        This will also create Lambda functions for all operations defined in your spec and wire them accordingly.

        -

        CDK Serverless provides two powerful test utilities to help you write comprehensive tests for your serverless applications.

        -

        The LambdaTestUtil provides classes for testing both REST and GraphQL Lambda functions in isolation. It's perfect for unit testing your Lambda handlers.

        -
        import { LambdaRestUnitTest } from 'cdk-serverless/tests/lambda-test-utils';

        const test = new LambdaRestUnitTest(handler, {
        // Optional default headers for all requests
        headers: {
        'Content-Type': 'application/json',
        },
        // Optional default Cognito user for all requests
        cognito: {
        username: 'test-user',
        email: 'test@example.com',
        groups: ['admin'],
        },
        });

        // Test a GET request
        const result = await test.call({
        path: '/items',
        method: 'GET',
        });

        // Test a POST request with body
        const result = await test.call({
        path: '/items',
        method: 'POST',
        body: JSON.stringify({ name: 'test' }),
        }); + +

        CDK Serverless provides two powerful test utilities to help you write comprehensive tests for your serverless applications.

        + +

        The LambdaTestUtil provides classes for testing both REST and GraphQL Lambda functions in isolation. It's perfect for unit testing your Lambda handlers.

        + +
        import { LambdaRestUnitTest } from 'cdk-serverless/tests/lambda-test-utils';

        const test = new LambdaRestUnitTest(handler, {
        // Optional default headers for all requests
        headers: {
        'Content-Type': 'application/json',
        },
        // Optional default Cognito user for all requests
        cognito: {
        username: 'test-user',
        email: 'test@example.com',
        groups: ['admin'],
        },
        });

        // Test a GET request
        const result = await test.call({
        path: '/items',
        method: 'GET',
        });

        // Test a POST request with body
        const result = await test.call({
        path: '/items',
        method: 'POST',
        body: JSON.stringify({ name: 'test' }),
        });
        -
        import { LambdaGraphQLTest } from 'cdk-serverless/tests/lambda-test-utils';

        const test = new LambdaGraphQLTest(handler, {
        // Optional default Cognito user for all requests
        cognito: {
        username: 'test-user',
        email: 'test@example.com',
        groups: ['admin'],
        },
        });

        // Test a GraphQL query
        const result = await test.call({
        fieldName: 'getItem',
        arguments: { id: '123' },
        }); + +
        import { LambdaGraphQLTest } from 'cdk-serverless/tests/lambda-test-utils';

        const test = new LambdaGraphQLTest(handler, {
        // Optional default Cognito user for all requests
        cognito: {
        username: 'test-user',
        email: 'test@example.com',
        groups: ['admin'],
        },
        });

        // Test a GraphQL query
        const result = await test.call({
        fieldName: 'getItem',
        arguments: { id: '123' },
        });
        -

        The IntegTestUtil provides a comprehensive set of tools for integration testing your deployed serverless applications. It handles authentication, data cleanup, and API testing.

        + +

        The IntegTestUtil provides a comprehensive set of tools for integration testing your deployed serverless applications. It handles authentication, data cleanup, and API testing.

        import { IntegTestUtil } from 'cdk-serverless/tests/integ-test-util';

        // Initialize with your stack outputs
        const test = new IntegTestUtil({
        region: 'us-east-1',
        apiOptions: {
        baseURL: 'https://api.example.com',
        },
        authOptions: {
        userPoolId: 'us-east-1_xxxxx',
        userPoolClientId: 'xxxxxxxx',
        identityPoolId: 'us-east-1:xxxxxxxx',
        },
        datastoreOptions: {
        tableName: 'MyTable',
        },
        });

        // Create and authenticate a test user
        await test.createUser('test@example.com', {
        'custom:attribute': 'value',
        }, ['admin']);

        // Get an authenticated API client
        const client = await test.getAuthenticatedClient('test@example.com');

        // Make API calls
        const response = await client.get('/items');

        // Clean up test data
        await test.cleanupItems();
        await test.removeUser('test@example.com');
        -
          + + + + -
            + +
            • Open a new GitHub pull request with the patch.

            • @@ -61,8 +75,10 @@
            -

            Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability will normally not be accepted.

            -
              + +

              Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability will normally not be accepted.

              + +
              • Suggest your change under Issues.

              • @@ -70,8 +86,10 @@
                  + +
                  • Just file a PR with your recommended changes
                  -

                  Brought to you by Taimos

                  + +

                  Brought to you by Taimos

      diff --git a/docs/lambda/assets/icons.js b/docs/lambda/assets/icons.js index 58882d7..3ae8f55 100644 --- a/docs/lambda/assets/icons.js +++ b/docs/lambda/assets/icons.js @@ -3,7 +3,7 @@ function addIcons() { if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); - svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; svg.style.display = "none"; if (location.protocol === "file:") updateUseElements(); } diff --git a/docs/lambda/assets/icons.svg b/docs/lambda/assets/icons.svg index 50ad579..10db10b 100644 --- a/docs/lambda/assets/icons.svg +++ b/docs/lambda/assets/icons.svg @@ -1 +1 @@ -MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/docs/lambda/index.html b/docs/lambda/index.html index afb0431..40ae622 100644 --- a/docs/lambda/index.html +++ b/docs/lambda/index.html @@ -1,7 +1,9 @@ -cdk-serverless
      cdk-serverless
        Preparing search index...

        cdk-serverless

        CDK Serverless

        npm version

        +cdk-serverless
        cdk-serverless
          Preparing search index...

          cdk-serverless

          CDK Serverless

          +

          npm version

          CDK Serverless is a powerful toolkit designed to simplify serverless application development using the AWS Cloud Development Kit (CDK). It offers project management features, higher-level (L3) constructs, and utility libraries to streamline the creation and management of serverless architectures. Additionally, it leverages utility libraries to write Lambda functions and do live updates to Lambda function code during development.

          Video introduction: https://www.youtube.com/watch?v=xhNJ0cXG3O8

          -
            + + -

            To begin a new project with CDK Serverless:

            + +

            To begin a new project with CDK Serverless:

            Create a new CDK TypeScript app using projen:

            $ npx projen new awscdk-app-ts
             
            @@ -23,29 +26,39 @@ +

            First you need to add the desired construct to your projen configuration: (e.g. RestApi)

            import { RestApi } from 'cdk-serverless/projen';

            new RestApi(project, {
            apiName: 'TestApi', // logical name of your API
            definitionFile: 'testapi.yaml', // path to your OpenAPI spec
            });

            Then run projen to generate construct files and models for the API.

            -

            In your stack you can then reference the generated L3s to create the API:

            + +

            In your stack you can then reference the generated L3s to create the API:

            import { TestApiRestApi } from './generated/rest.testapi-api.generated';


            const api = new TestApiRestApi(this, 'Api', {
            stageName: props.stageName,
            domainName: props.domainName,
            apiHostname: 'api',
            singleTableDatastore,
            cors: true,
            additionalEnv: {
            DOMAIN_NAME: props.domainName,
            },
            });

            This will also create Lambda functions for all operations defined in your spec and wire them accordingly.

            -

            CDK Serverless provides two powerful test utilities to help you write comprehensive tests for your serverless applications.

            -

            The LambdaTestUtil provides classes for testing both REST and GraphQL Lambda functions in isolation. It's perfect for unit testing your Lambda handlers.

            -
            import { LambdaRestUnitTest } from 'cdk-serverless/tests/lambda-test-utils';

            const test = new LambdaRestUnitTest(handler, {
            // Optional default headers for all requests
            headers: {
            'Content-Type': 'application/json',
            },
            // Optional default Cognito user for all requests
            cognito: {
            username: 'test-user',
            email: 'test@example.com',
            groups: ['admin'],
            },
            });

            // Test a GET request
            const result = await test.call({
            path: '/items',
            method: 'GET',
            });

            // Test a POST request with body
            const result = await test.call({
            path: '/items',
            method: 'POST',
            body: JSON.stringify({ name: 'test' }),
            }); + +

            CDK Serverless provides two powerful test utilities to help you write comprehensive tests for your serverless applications.

            + +

            The LambdaTestUtil provides classes for testing both REST and GraphQL Lambda functions in isolation. It's perfect for unit testing your Lambda handlers.

            + +
            import { LambdaRestUnitTest } from 'cdk-serverless/tests/lambda-test-utils';

            const test = new LambdaRestUnitTest(handler, {
            // Optional default headers for all requests
            headers: {
            'Content-Type': 'application/json',
            },
            // Optional default Cognito user for all requests
            cognito: {
            username: 'test-user',
            email: 'test@example.com',
            groups: ['admin'],
            },
            });

            // Test a GET request
            const result = await test.call({
            path: '/items',
            method: 'GET',
            });

            // Test a POST request with body
            const result = await test.call({
            path: '/items',
            method: 'POST',
            body: JSON.stringify({ name: 'test' }),
            });
            -
            import { LambdaGraphQLTest } from 'cdk-serverless/tests/lambda-test-utils';

            const test = new LambdaGraphQLTest(handler, {
            // Optional default Cognito user for all requests
            cognito: {
            username: 'test-user',
            email: 'test@example.com',
            groups: ['admin'],
            },
            });

            // Test a GraphQL query
            const result = await test.call({
            fieldName: 'getItem',
            arguments: { id: '123' },
            }); + +
            import { LambdaGraphQLTest } from 'cdk-serverless/tests/lambda-test-utils';

            const test = new LambdaGraphQLTest(handler, {
            // Optional default Cognito user for all requests
            cognito: {
            username: 'test-user',
            email: 'test@example.com',
            groups: ['admin'],
            },
            });

            // Test a GraphQL query
            const result = await test.call({
            fieldName: 'getItem',
            arguments: { id: '123' },
            });
            -

            The IntegTestUtil provides a comprehensive set of tools for integration testing your deployed serverless applications. It handles authentication, data cleanup, and API testing.

            + +

            The IntegTestUtil provides a comprehensive set of tools for integration testing your deployed serverless applications. It handles authentication, data cleanup, and API testing.

            import { IntegTestUtil } from 'cdk-serverless/tests/integ-test-util';

            // Initialize with your stack outputs
            const test = new IntegTestUtil({
            region: 'us-east-1',
            apiOptions: {
            baseURL: 'https://api.example.com',
            },
            authOptions: {
            userPoolId: 'us-east-1_xxxxx',
            userPoolClientId: 'xxxxxxxx',
            identityPoolId: 'us-east-1:xxxxxxxx',
            },
            datastoreOptions: {
            tableName: 'MyTable',
            },
            });

            // Create and authenticate a test user
            await test.createUser('test@example.com', {
            'custom:attribute': 'value',
            }, ['admin']);

            // Get an authenticated API client
            const client = await test.getAuthenticatedClient('test@example.com');

            // Make API calls
            const response = await client.get('/items');

            // Clean up test data
            await test.cleanupItems();
            await test.removeUser('test@example.com');
            -
              + + + + -
                + +
                • Open a new GitHub pull request with the patch.

                • @@ -61,8 +75,10 @@
                -

                Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability will normally not be accepted.

                -
                  + +

                  Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability will normally not be accepted.

                  + +
                  • Suggest your change under Issues.

                  • @@ -70,8 +86,10 @@
                      + +
                      • Just file a PR with your recommended changes
                      -

                      Brought to you by Taimos

                      + +

                      Brought to you by Taimos

          diff --git a/docs/projen/assets/icons.js b/docs/projen/assets/icons.js index 58882d7..3ae8f55 100644 --- a/docs/projen/assets/icons.js +++ b/docs/projen/assets/icons.js @@ -3,7 +3,7 @@ function addIcons() { if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); - svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; svg.style.display = "none"; if (location.protocol === "file:") updateUseElements(); } diff --git a/docs/projen/assets/icons.svg b/docs/projen/assets/icons.svg index 50ad579..10db10b 100644 --- a/docs/projen/assets/icons.svg +++ b/docs/projen/assets/icons.svg @@ -1 +1 @@ -MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/docs/projen/index.html b/docs/projen/index.html index 003063d..61fcf26 100644 --- a/docs/projen/index.html +++ b/docs/projen/index.html @@ -1,7 +1,9 @@ -cdk-serverless
          cdk-serverless
            Preparing search index...

            cdk-serverless

            CDK Serverless

            npm version

            +cdk-serverless
            cdk-serverless
              Preparing search index...

              cdk-serverless

              CDK Serverless

              +

              npm version

              CDK Serverless is a powerful toolkit designed to simplify serverless application development using the AWS Cloud Development Kit (CDK). It offers project management features, higher-level (L3) constructs, and utility libraries to streamline the creation and management of serverless architectures. Additionally, it leverages utility libraries to write Lambda functions and do live updates to Lambda function code during development.

              Video introduction: https://www.youtube.com/watch?v=xhNJ0cXG3O8

              -
                + + -

                To begin a new project with CDK Serverless:

                + +

                To begin a new project with CDK Serverless:

                Create a new CDK TypeScript app using projen:

                $ npx projen new awscdk-app-ts
                 
                @@ -23,29 +26,39 @@ +

                First you need to add the desired construct to your projen configuration: (e.g. RestApi)

                import { RestApi } from 'cdk-serverless/projen';

                new RestApi(project, {
                apiName: 'TestApi', // logical name of your API
                definitionFile: 'testapi.yaml', // path to your OpenAPI spec
                });

                Then run projen to generate construct files and models for the API.

                -

                In your stack you can then reference the generated L3s to create the API:

                + +

                In your stack you can then reference the generated L3s to create the API:

                import { TestApiRestApi } from './generated/rest.testapi-api.generated';


                const api = new TestApiRestApi(this, 'Api', {
                stageName: props.stageName,
                domainName: props.domainName,
                apiHostname: 'api',
                singleTableDatastore,
                cors: true,
                additionalEnv: {
                DOMAIN_NAME: props.domainName,
                },
                });

                This will also create Lambda functions for all operations defined in your spec and wire them accordingly.

                -

                CDK Serverless provides two powerful test utilities to help you write comprehensive tests for your serverless applications.

                -

                The LambdaTestUtil provides classes for testing both REST and GraphQL Lambda functions in isolation. It's perfect for unit testing your Lambda handlers.

                -
                import { LambdaRestUnitTest } from 'cdk-serverless/tests/lambda-test-utils';

                const test = new LambdaRestUnitTest(handler, {
                // Optional default headers for all requests
                headers: {
                'Content-Type': 'application/json',
                },
                // Optional default Cognito user for all requests
                cognito: {
                username: 'test-user',
                email: 'test@example.com',
                groups: ['admin'],
                },
                });

                // Test a GET request
                const result = await test.call({
                path: '/items',
                method: 'GET',
                });

                // Test a POST request with body
                const result = await test.call({
                path: '/items',
                method: 'POST',
                body: JSON.stringify({ name: 'test' }),
                }); + +

                CDK Serverless provides two powerful test utilities to help you write comprehensive tests for your serverless applications.

                + +

                The LambdaTestUtil provides classes for testing both REST and GraphQL Lambda functions in isolation. It's perfect for unit testing your Lambda handlers.

                + +
                import { LambdaRestUnitTest } from 'cdk-serverless/tests/lambda-test-utils';

                const test = new LambdaRestUnitTest(handler, {
                // Optional default headers for all requests
                headers: {
                'Content-Type': 'application/json',
                },
                // Optional default Cognito user for all requests
                cognito: {
                username: 'test-user',
                email: 'test@example.com',
                groups: ['admin'],
                },
                });

                // Test a GET request
                const result = await test.call({
                path: '/items',
                method: 'GET',
                });

                // Test a POST request with body
                const result = await test.call({
                path: '/items',
                method: 'POST',
                body: JSON.stringify({ name: 'test' }),
                });
                -
                import { LambdaGraphQLTest } from 'cdk-serverless/tests/lambda-test-utils';

                const test = new LambdaGraphQLTest(handler, {
                // Optional default Cognito user for all requests
                cognito: {
                username: 'test-user',
                email: 'test@example.com',
                groups: ['admin'],
                },
                });

                // Test a GraphQL query
                const result = await test.call({
                fieldName: 'getItem',
                arguments: { id: '123' },
                }); + +
                import { LambdaGraphQLTest } from 'cdk-serverless/tests/lambda-test-utils';

                const test = new LambdaGraphQLTest(handler, {
                // Optional default Cognito user for all requests
                cognito: {
                username: 'test-user',
                email: 'test@example.com',
                groups: ['admin'],
                },
                });

                // Test a GraphQL query
                const result = await test.call({
                fieldName: 'getItem',
                arguments: { id: '123' },
                });
                -

                The IntegTestUtil provides a comprehensive set of tools for integration testing your deployed serverless applications. It handles authentication, data cleanup, and API testing.

                + +

                The IntegTestUtil provides a comprehensive set of tools for integration testing your deployed serverless applications. It handles authentication, data cleanup, and API testing.

                import { IntegTestUtil } from 'cdk-serverless/tests/integ-test-util';

                // Initialize with your stack outputs
                const test = new IntegTestUtil({
                region: 'us-east-1',
                apiOptions: {
                baseURL: 'https://api.example.com',
                },
                authOptions: {
                userPoolId: 'us-east-1_xxxxx',
                userPoolClientId: 'xxxxxxxx',
                identityPoolId: 'us-east-1:xxxxxxxx',
                },
                datastoreOptions: {
                tableName: 'MyTable',
                },
                });

                // Create and authenticate a test user
                await test.createUser('test@example.com', {
                'custom:attribute': 'value',
                }, ['admin']);

                // Get an authenticated API client
                const client = await test.getAuthenticatedClient('test@example.com');

                // Make API calls
                const response = await client.get('/items');

                // Clean up test data
                await test.cleanupItems();
                await test.removeUser('test@example.com');
                -
                  + + + + -
                    + +
                    • Open a new GitHub pull request with the patch.

                    • @@ -61,8 +75,10 @@
                    -

                    Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability will normally not be accepted.

                    -
                      + +

                      Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability will normally not be accepted.

                      + +
                      • Suggest your change under Issues.

                      • @@ -70,8 +86,10 @@
                          + +
                          • Just file a PR with your recommended changes
                          -

                          Brought to you by Taimos

                          + +

                          Brought to you by Taimos

              diff --git a/package-lock.json b/package-lock.json index 2fb025f..578796c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,18 +44,18 @@ "eslint-plugin-import": "^2.32.0", "jest": "^29.7.0", "jest-junit": "^16", - "openapi-typescript": "7.6.1", + "openapi-typescript": "7.10.1", "projen": "0.98.33", "ts-jest": "^29.4.6", "ts-node": "^10.9.2", - "typedoc": "0.28.15", + "typedoc": "0.28.16", "typescript": "^5.9.3" }, "peerDependencies": { - "@aws-sdk/client-cognito-identity-provider": "^3.777.0", - "@aws-sdk/client-dynamodb": "^3.777.0", - "@aws-sdk/client-s3": "^3.779.0", - "@aws-sdk/lib-dynamodb": "^3.778.0", + "@aws-sdk/client-cognito-identity-provider": "^3.971.0", + "@aws-sdk/client-dynamodb": "^3.971.0", + "@aws-sdk/client-s3": "^3.971.0", + "@aws-sdk/lib-dynamodb": "^3.971.0", "aws-cdk-lib": ">=2.187.0 <3.0.0", "dynamodb-onetable": "2.7.5", "openapi-typescript": "^7.10.1", @@ -4222,17 +4222,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.52.0.tgz", - "integrity": "sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.0.tgz", + "integrity": "sha512-eEXsVvLPu8Z4PkFibtuFJLJOTAV/nPdgtSjkGoPpddpFk3/ym2oy97jynY6ic2m6+nc5M8SE1e9v/mHKsulcJg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.52.0", - "@typescript-eslint/type-utils": "8.52.0", - "@typescript-eslint/utils": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/type-utils": "8.53.0", + "@typescript-eslint/utils": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" @@ -4245,22 +4245,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.52.0", + "@typescript-eslint/parser": "^8.53.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.52.0.tgz", - "integrity": "sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.53.0.tgz", + "integrity": "sha512-npiaib8XzbjtzS2N4HlqPvlpxpmZ14FjSJrteZpPxGUaYPlvhzlzUZ4mZyABo0EFrOWnvyd0Xxroq//hKhtAWg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", "debug": "^4.4.3" }, "engines": { @@ -4276,14 +4276,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz", - "integrity": "sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.53.0.tgz", + "integrity": "sha512-Bl6Gdr7NqkqIP5yP9z1JU///Nmes4Eose6L1HwpuVHwScgDPPuEWbUVhvlZmb8hy0vX9syLk5EGNL700WcBlbg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.52.0", - "@typescript-eslint/types": "^8.52.0", + "@typescript-eslint/tsconfig-utils": "^8.53.0", + "@typescript-eslint/types": "^8.53.0", "debug": "^4.4.3" }, "engines": { @@ -4298,14 +4298,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz", - "integrity": "sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.0.tgz", + "integrity": "sha512-kWNj3l01eOGSdVBnfAF2K1BTh06WS0Yet6JUgb9Cmkqaz3Jlu0fdVUjj9UI8gPidBWSMqDIglmEXifSgDT/D0g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0" + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4316,9 +4316,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz", - "integrity": "sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.0.tgz", + "integrity": "sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA==", "dev": true, "license": "MIT", "engines": { @@ -4333,15 +4333,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.52.0.tgz", - "integrity": "sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.53.0.tgz", + "integrity": "sha512-BBAUhlx7g4SmcLhn8cnbxoxtmS7hcq39xKCgiutL3oNx1TaIp+cny51s8ewnKMpVUKQUGb41RAUWZ9kxYdovuw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0", - "@typescript-eslint/utils": "8.52.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, @@ -4358,9 +4358,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz", - "integrity": "sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.0.tgz", + "integrity": "sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ==", "dev": true, "license": "MIT", "engines": { @@ -4372,16 +4372,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz", - "integrity": "sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.0.tgz", + "integrity": "sha512-pw0c0Gdo7Z4xOG987u3nJ8akL9093yEEKv8QTJ+Bhkghj1xyj8cgPaavlr9rq8h7+s6plUJ4QJYw2gCZodqmGw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.52.0", - "@typescript-eslint/tsconfig-utils": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0", + "@typescript-eslint/project-service": "8.53.0", + "@typescript-eslint/tsconfig-utils": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", "debug": "^4.4.3", "minimatch": "^9.0.5", "semver": "^7.7.3", @@ -4400,16 +4400,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz", - "integrity": "sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.0.tgz", + "integrity": "sha512-XDY4mXTez3Z1iRDI5mbRhH4DFSt46oaIFsLg+Zn97+sYrXACziXSQcSelMybnVZ5pa1P6xYkPr5cMJyunM1ZDA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0" + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4424,13 +4424,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz", - "integrity": "sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.0.tgz", + "integrity": "sha512-LZ2NqIHFhvFwxG0qZeLL9DvdNAHPGCY5dIRwBhyYeU+LfLhcStE1ImjsuTG/WaVh3XysGaeLW8Rqq7cGkPCFvw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/types": "8.53.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -6076,9 +6076,9 @@ } }, "node_modules/constructs": { - "version": "10.4.4", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.4.4.tgz", - "integrity": "sha512-lP0qC1oViYf1cutHo9/KQ8QL637f/W29tDmv/6sy35F5zs+MD9f66nbAAIjicwc7fwyuF3rkg6PhZh4sfvWIpA==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.4.5.tgz", + "integrity": "sha512-fOoP70YLevMZr5avJHx2DU3LNYmC6wM8OwdrNewMZou1kZnPGOeVzBrRjZNgFDHUlulYUjkpFRSpTE3D+n+ZSg==", "dev": true, "license": "Apache-2.0" }, @@ -11910,17 +11910,17 @@ } }, "node_modules/openapi-typescript": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.6.1.tgz", - "integrity": "sha512-F7RXEeo/heF3O9lOXo2bNjCOtfp7u+D6W3a3VNEH2xE6v+fxLtn5nq0uvUcA1F5aT+CMhNeC5Uqtg5tlXFX/ag==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.10.1.tgz", + "integrity": "sha512-rBcU8bjKGGZQT4K2ekSTY2Q5veOQbVG/lTKZ49DeCyT9z62hM2Vj/LLHjDHC9W7LJG8YMHcdXpRZDqC1ojB/lw==", "dev": true, "license": "MIT", "dependencies": { - "@redocly/openapi-core": "^1.28.0", + "@redocly/openapi-core": "^1.34.5", "ansi-colors": "^4.1.3", "change-case": "^5.4.4", - "parse-json": "^8.1.0", - "supports-color": "^9.4.0", + "parse-json": "^8.3.0", + "supports-color": "^10.2.2", "yargs-parser": "^21.1.1" }, "bin": { @@ -11949,13 +11949,13 @@ } }, "node_modules/openapi-typescript/node_modules/supports-color": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz", - "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==", + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/supports-color?sponsor=1" @@ -14799,9 +14799,9 @@ "license": "MIT" }, "node_modules/typedoc": { - "version": "0.28.15", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.15.tgz", - "integrity": "sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg==", + "version": "0.28.16", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.16.tgz", + "integrity": "sha512-x4xW77QC3i5DUFMBp0qjukOTnr/sSg+oEs86nB3LjDslvAmwe/PUGDWbe3GrIqt59oTqoXK5GRK9tAa0sYMiog==", "dev": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index c03eb4a..4b9c1f7 100644 --- a/package.json +++ b/package.json @@ -56,18 +56,18 @@ "eslint-plugin-import": "^2.32.0", "jest": "^29.7.0", "jest-junit": "^16", - "openapi-typescript": "7.6.1", + "openapi-typescript": "7.10.1", "projen": "0.98.33", "ts-jest": "^29.4.6", "ts-node": "^10.9.2", - "typedoc": "0.28.15", + "typedoc": "0.28.16", "typescript": "^5.9.3" }, "peerDependencies": { - "@aws-sdk/client-cognito-identity-provider": "^3.777.0", - "@aws-sdk/client-dynamodb": "^3.777.0", - "@aws-sdk/client-s3": "^3.779.0", - "@aws-sdk/lib-dynamodb": "^3.778.0", + "@aws-sdk/client-cognito-identity-provider": "^3.971.0", + "@aws-sdk/client-dynamodb": "^3.971.0", + "@aws-sdk/client-s3": "^3.971.0", + "@aws-sdk/lib-dynamodb": "^3.971.0", "aws-cdk-lib": ">=2.187.0 <3.0.0", "dynamodb-onetable": "2.7.5", "openapi-typescript": "^7.10.1",