@aws/nx-plugin 1.0.0-rc.0 → 1.0.0-rc.10
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/LICENSE-THIRD-PARTY +3399 -4104
- package/README.md +8 -8
- package/executors.json +9 -0
- package/generators.json +44 -5
- package/package.json +16 -12
- package/sdk/license.d.ts +8 -0
- package/sdk/license.js +13 -0
- package/sdk/license.js.map +1 -0
- package/src/connection/agent-runtime-config.d.ts +1 -1
- package/src/connection/agent-runtime-config.js.map +1 -1
- package/src/connection/agent-serve-local.d.ts +2 -2
- package/src/connection/agent-serve-local.js +1 -1
- package/src/connection/agent-serve-local.js.map +1 -1
- package/src/connection/generator.d.ts +5 -5
- package/src/connection/generator.js +58 -39
- package/src/connection/generator.js.map +1 -1
- package/src/connection/serve-local.d.ts +1 -1
- package/src/connection/serve-local.js +1 -1
- package/src/connection/serve-local.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +49 -60
- package/src/infra/app/files/app/src/main.ts.template +2 -2
- package/src/infra/app/generator.d.ts +3 -3
- package/src/infra/app/generator.js +25 -23
- package/src/infra/app/generator.js.map +1 -1
- package/src/infra/app/schema.d.ts +1 -1
- package/src/infra/app/schema.json +1 -1
- package/src/license/__snapshots__/config.spec.ts.snap +23 -0
- package/src/license/config-types.d.ts +18 -1
- package/src/license/config-types.js +4 -0
- package/src/license/config-types.js.map +1 -1
- package/src/license/config.d.ts +65 -7
- package/src/license/config.js +315 -7
- package/src/license/config.js.map +1 -1
- package/src/license/dependency-check/check.d.ts +16 -0
- package/src/license/dependency-check/check.js +111 -0
- package/src/license/dependency-check/check.js.map +1 -0
- package/src/license/dependency-check/collectors/collector.d.ts +21 -0
- package/src/license/dependency-check/collectors/collector.js +76 -0
- package/src/license/dependency-check/collectors/collector.js.map +1 -0
- package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
- package/src/license/dependency-check/collectors/npm-collector.js +75 -0
- package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
- package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
- package/src/license/dependency-check/collectors/python-collector.js +121 -0
- package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
- package/src/license/dependency-check/evaluator.d.ts +9 -0
- package/src/license/dependency-check/evaluator.js +122 -0
- package/src/license/dependency-check/evaluator.js.map +1 -0
- package/src/license/dependency-check/executor-schema.json +6 -0
- package/src/license/dependency-check/executor.d.ts +9 -0
- package/src/license/dependency-check/executor.js +43 -0
- package/src/license/dependency-check/executor.js.map +1 -0
- package/src/license/dependency-check/pre-approved.d.ts +6 -0
- package/src/license/dependency-check/pre-approved.js +1280 -0
- package/src/license/dependency-check/pre-approved.js.map +1 -0
- package/src/license/dependency-check/types.d.ts +45 -0
- package/src/license/dependency-check/types.js +7 -0
- package/src/license/dependency-check/types.js.map +1 -0
- package/src/license/generator.d.ts +3 -3
- package/src/license/generator.js +113 -14
- package/src/license/generator.js.map +1 -1
- package/src/license/index.d.ts +8 -0
- package/src/license/index.js +13 -0
- package/src/license/index.js.map +1 -0
- package/src/license/known-exceptions.d.ts +7 -0
- package/src/license/known-exceptions.js +33 -0
- package/src/license/known-exceptions.js.map +1 -0
- package/src/license/schema.d.ts +5 -0
- package/src/license/schema.json +6 -0
- package/src/license/sync/generator.d.ts +2 -2
- package/src/license/sync/generator.js +15 -15
- package/src/license/sync/generator.js.map +1 -1
- package/src/license/sync/project-file-sync.d.ts +3 -3
- package/src/license/sync/project-file-sync.js.map +1 -1
- package/src/mcp-server/generator-info.d.ts +5 -1
- package/src/mcp-server/generator-info.js +7 -7
- package/src/mcp-server/generator-info.js.map +1 -1
- package/src/mcp-server/guide-pipeline.d.ts +1 -1
- package/src/mcp-server/guide-pipeline.js +10 -12
- package/src/mcp-server/guide-pipeline.js.map +1 -1
- package/src/mcp-server/mdx-ast.js +4 -0
- package/src/mcp-server/mdx-ast.js.map +1 -1
- package/src/mcp-server/server.js +3 -3
- package/src/mcp-server/server.js.map +1 -1
- package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +5 -5
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/general-guidance.d.ts +2 -2
- package/src/mcp-server/tools/general-guidance.js +2 -2
- package/src/mcp-server/tools/general-guidance.js.map +1 -1
- package/src/mcp-server/tools/generator-guide.d.ts +2 -2
- package/src/mcp-server/tools/generator-guide.js +2 -2
- package/src/mcp-server/tools/generator-guide.js.map +1 -1
- package/src/mcp-server/tools/list-generators.d.ts +2 -2
- package/src/mcp-server/tools/list-generators.js +1 -1
- package/src/mcp-server/tools/list-generators.js.map +1 -1
- package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +1 -1
- package/src/open-api/ts-client/generator.d.ts +3 -3
- package/src/open-api/ts-client/generator.js +2 -2
- package/src/open-api/ts-client/generator.js.map +1 -1
- package/src/open-api/ts-hooks/generator.d.ts +3 -3
- package/src/open-api/ts-hooks/generator.js +2 -2
- package/src/open-api/ts-hooks/generator.js.map +1 -1
- package/src/open-api/ts-hooks/generator.spec.tsx +14 -14
- package/src/open-api/ts-metadata/generator.d.ts +3 -3
- package/src/open-api/ts-metadata/generator.js +1 -1
- package/src/open-api/ts-metadata/generator.js.map +1 -1
- package/src/open-api/utils/codegen-data/languages.d.ts +5 -1
- package/src/open-api/utils/codegen-data/languages.js +4 -4
- package/src/open-api/utils/codegen-data/languages.js.map +1 -1
- package/src/open-api/utils/codegen-data.d.ts +6 -2
- package/src/open-api/utils/codegen-data.js +6 -6
- package/src/open-api/utils/codegen-data.js.map +1 -1
- package/src/open-api/utils/normalise.d.ts +5 -1
- package/src/open-api/utils/normalise.js +5 -5
- package/src/open-api/utils/normalise.js.map +1 -1
- package/src/open-api/utils/parse.d.ts +2 -2
- package/src/open-api/utils/parse.js +4 -0
- package/src/open-api/utils/parse.js.map +1 -1
- package/src/open-api/utils/refs.d.ts +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +128 -14
- package/src/preset/generator.d.ts +4 -4
- package/src/preset/generator.js +24 -19
- package/src/preset/generator.js.map +1 -1
- package/src/preset/schema.d.ts +7 -5
- package/src/preset/schema.json +9 -4
- package/src/py/agent/__snapshots__/generator.spec.ts.snap +10 -9
- package/src/py/agent/a2a-connection/generator.d.ts +3 -3
- package/src/py/agent/a2a-connection/generator.js +8 -7
- package/src/py/agent/a2a-connection/generator.js.map +1 -1
- package/src/py/agent/files/common/agent.py.template +2 -0
- package/src/py/agent/files/deploy/Dockerfile.template +3 -3
- package/src/py/agent/files/http/init.py.template +2 -2
- package/src/py/agent/files/http/main.py.template +0 -1
- package/src/py/agent/generator.d.ts +3 -3
- package/src/py/agent/generator.js +45 -39
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +4 -0
- package/src/py/agent/mcp-connection/generator.d.ts +3 -3
- package/src/py/agent/mcp-connection/generator.js +5 -5
- package/src/py/agent/mcp-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/py/agent/react-connection/generator.d.ts +3 -3
- package/src/py/agent/react-connection/generator.js +8 -8
- package/src/py/agent/react-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/serve-local.d.ts +2 -2
- package/src/py/agent/react-connection/serve-local.js.map +1 -1
- package/src/py/agent/schema.d.ts +8 -8
- package/src/py/agent/schema.json +18 -18
- package/src/py/api/generator.d.ts +3 -3
- package/src/py/api/generator.js +2 -2
- package/src/py/api/generator.js.map +1 -1
- package/src/py/api/schema.d.ts +4 -6
- package/src/py/api/schema.json +15 -15
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/py/fast-api/generator.d.ts +3 -3
- package/src/py/fast-api/generator.js +73 -55
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/generator.d.ts +3 -3
- package/src/py/fast-api/react/generator.js +3 -3
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/py/fast-api/react/open-api.d.ts +1 -1
- package/src/py/fast-api/react/open-api.js +5 -2
- package/src/py/fast-api/react/open-api.js.map +1 -1
- package/src/py/fast-api/schema.d.ts +4 -6
- package/src/py/fast-api/schema.json +15 -15
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/py/lambda-function/files/handler/__lambdaFunctionSnakeCase__.py.template +6 -6
- package/src/py/lambda-function/generator.d.ts +3 -3
- package/src/py/lambda-function/generator.js +34 -31
- package/src/py/lambda-function/generator.js.map +1 -1
- package/src/py/lambda-function/schema.d.ts +7 -4
- package/src/py/lambda-function/schema.json +15 -7
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/py/mcp-server/generator.d.ts +3 -3
- package/src/py/mcp-server/generator.js +44 -37
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/mcp-server/schema.d.ts +5 -9
- package/src/py/mcp-server/schema.json +15 -15
- package/src/py/project/generator.d.ts +3 -3
- package/src/py/project/generator.js +88 -69
- package/src/py/project/generator.js.map +1 -1
- package/src/py/project/schema.d.ts +1 -1
- package/src/py/project/schema.json +2 -2
- package/src/smithy/project/__snapshots__/generator.spec.ts.snap +18 -16
- package/src/smithy/project/files/build.Dockerfile.template +1 -0
- package/src/smithy/project/generator.d.ts +3 -3
- package/src/smithy/project/generator.js +31 -29
- package/src/smithy/project/generator.js.map +1 -1
- package/src/smithy/react-connection/generator.d.ts +3 -3
- package/src/smithy/react-connection/generator.js +4 -4
- package/src/smithy/react-connection/generator.js.map +1 -1
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +12 -38
- package/src/smithy/ts/api/generator.d.ts +3 -3
- package/src/smithy/ts/api/generator.js +89 -66
- package/src/smithy/ts/api/generator.js.map +1 -1
- package/src/smithy/ts/api/schema.d.ts +4 -6
- package/src/smithy/ts/api/schema.json +15 -15
- package/src/terraform/project/generator.d.ts +3 -3
- package/src/terraform/project/generator.js +14 -9
- package/src/terraform/project/generator.js.map +1 -1
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/trpc/backend/files/src/client/index.ts.template +5 -5
- package/src/trpc/backend/files/src/handler.ts.template +2 -2
- package/src/trpc/backend/generator.d.ts +3 -3
- package/src/trpc/backend/generator.js +80 -61
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.d.ts +5 -5
- package/src/trpc/backend/schema.json +15 -15
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +14 -14
- package/src/trpc/react/generator.d.ts +3 -3
- package/src/trpc/react/generator.js +11 -10
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +11 -5
- package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
- package/src/ts/agent/a2a-connection/generator.js +9 -8
- package/src/ts/agent/a2a-connection/generator.js.map +1 -1
- package/src/ts/agent/files/common/agent.ts.template +6 -2
- package/src/ts/agent/files/deploy/Dockerfile.template +1 -1
- package/src/ts/agent/generator.d.ts +3 -3
- package/src/ts/agent/generator.js +40 -35
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -2
- package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
- package/src/ts/agent/mcp-connection/generator.js +6 -6
- package/src/ts/agent/mcp-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +8 -8
- package/src/ts/agent/react-connection/generator.d.ts +3 -3
- package/src/ts/agent/react-connection/generator.js +15 -15
- package/src/ts/agent/react-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/serve-local.d.ts +2 -2
- package/src/ts/agent/react-connection/serve-local.js +2 -2
- package/src/ts/agent/schema.d.ts +8 -8
- package/src/ts/agent/schema.json +18 -18
- package/src/ts/api/generator.d.ts +3 -3
- package/src/ts/api/generator.js +10 -8
- package/src/ts/api/generator.js.map +1 -1
- package/src/ts/api/schema.d.ts +5 -4
- package/src/ts/api/schema.json +15 -15
- package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +7 -8
- package/src/ts/astro-docs/generator.d.ts +3 -3
- package/src/ts/astro-docs/generator.js +14 -11
- package/src/ts/astro-docs/generator.js.map +1 -1
- package/src/ts/docs/generator.d.ts +3 -3
- package/src/ts/docs/generator.js.map +1 -1
- package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1502 -0
- package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/agent-connection/generator.js +32 -0
- package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/agent-connection/schema.d.ts +14 -0
- package/src/ts/dynamodb/agent-connection/schema.json +22 -0
- package/src/ts/dynamodb/files/scripts/create-local-table.ts.template +161 -0
- package/src/ts/dynamodb/files/scripts/start-container.ts.template +81 -0
- package/src/ts/dynamodb/files/src/client.ts.template +45 -0
- package/src/ts/dynamodb/files/src/constants.ts.template +9 -0
- package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
- package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
- package/src/ts/dynamodb/files/src/gsi.ts.template +14 -0
- package/src/ts/dynamodb/files/src/index.ts.template +11 -0
- package/src/ts/dynamodb/generator.d.ts +10 -0
- package/src/ts/dynamodb/generator.js +106 -0
- package/src/ts/dynamodb/generator.js.map +1 -0
- package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.js +32 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +14 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.json +22 -0
- package/src/ts/dynamodb/schema.d.ts +14 -0
- package/src/ts/dynamodb/schema.json +52 -0
- package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/smithy-connection/generator.js +30 -0
- package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/smithy-connection/schema.d.ts +12 -0
- package/src/ts/dynamodb/smithy-connection/schema.json +18 -0
- package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/trpc-connection/generator.js +30 -0
- package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/trpc-connection/schema.d.ts +12 -0
- package/src/ts/dynamodb/trpc-connection/schema.json +18 -0
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +10 -10
- package/src/ts/lambda-function/generator.d.ts +3 -3
- package/src/ts/lambda-function/generator.js +41 -36
- package/src/ts/lambda-function/generator.js.map +1 -1
- package/src/ts/lambda-function/schema.d.ts +7 -4
- package/src/ts/lambda-function/schema.json +15 -7
- package/src/ts/lib/__snapshots__/generator.spec.ts.snap +32 -65
- package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
- package/src/ts/lib/biome.d.ts +7 -0
- package/src/ts/lib/biome.js +58 -0
- package/src/ts/lib/biome.js.map +1 -0
- package/src/ts/lib/generator.d.ts +3 -3
- package/src/ts/lib/generator.js +27 -29
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -1
- package/src/ts/lib/ts-project-utils.d.ts +12 -2
- package/src/ts/lib/ts-project-utils.js +30 -10
- package/src/ts/lib/ts-project-utils.js.map +1 -1
- package/src/ts/lib/vitest.d.ts +2 -2
- package/src/ts/lib/vitest.js +1 -1
- package/src/ts/lib/vitest.js.map +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/ts/mcp-server/generator.d.ts +3 -3
- package/src/ts/mcp-server/generator.js +46 -24
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/mcp-server/schema.d.ts +5 -9
- package/src/ts/mcp-server/schema.json +15 -15
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +20 -15
- package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.spec.ts.template +1 -1
- package/src/ts/nx-generator/generator.d.ts +2 -2
- package/src/ts/nx-generator/generator.js +23 -19
- package/src/ts/nx-generator/generator.js.map +1 -1
- package/src/ts/nx-plugin/generator.d.ts +3 -3
- package/src/ts/nx-plugin/generator.js +12 -11
- package/src/ts/nx-plugin/generator.js.map +1 -1
- package/src/ts/nx-plugin/utils.d.ts +1 -1
- package/src/ts/nx-plugin/utils.js +10 -4
- package/src/ts/nx-plugin/utils.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +120 -60
- package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
- package/src/ts/rdb/agent-connection/generator.js +4 -4
- package/src/ts/rdb/agent-connection/generator.js.map +1 -1
- package/src/ts/rdb/files/prisma.config.ts.template +1 -1
- package/src/ts/rdb/files/scripts/pull-image.ts.template +15 -0
- package/src/ts/rdb/files/scripts/{docker-start.ts.template → start-container.ts.template} +24 -24
- package/src/ts/rdb/files/scripts/wait-for-db.ts.template +3 -3
- package/src/ts/rdb/files/src/create-db-user-handler.ts.template +2 -2
- package/src/ts/rdb/files/src/migration-handler.ts.template +2 -2
- package/src/ts/rdb/files/src/prisma.ts.template +2 -2
- package/src/ts/rdb/generator.d.ts +3 -3
- package/src/ts/rdb/generator.js +103 -82
- package/src/ts/rdb/generator.js.map +1 -1
- package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
- package/src/ts/rdb/mcp-server-connection/generator.js +4 -4
- package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
- package/src/ts/rdb/schema.d.ts +5 -5
- package/src/ts/rdb/schema.json +13 -13
- package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
- package/src/ts/rdb/smithy-connection/generator.js +4 -4
- package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
- package/src/ts/rdb/trpc-connection/files/src/middleware/__rdbNameKebab__.ts.template +1 -1
- package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
- package/src/ts/rdb/trpc-connection/generator.js +3 -3
- package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
- package/src/ts/rdb/utils.d.ts +1 -1
- package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +9 -9
- package/src/ts/react-website/agui/generator.d.ts +3 -3
- package/src/ts/react-website/agui/generator.js +13 -13
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +423 -386
- package/src/ts/react-website/app/files/app/cloudscape/src/components/AppLayout/index.tsx.template +5 -5
- package/src/ts/react-website/app/files/app/cloudscape/src/main.tsx.template +1 -1
- package/src/ts/react-website/app/files/app/cloudscape/src/styles.css.template +1 -1
- package/src/ts/react-website/app/files/app/none/src/components/AppLayout/index.tsx.template +5 -5
- package/src/ts/react-website/app/files/app/none/src/main.tsx.template +1 -1
- package/src/ts/react-website/app/files/app/none/src/styles.css.template +2 -2
- package/src/ts/react-website/app/files/app/shadcn/src/components/AppLayout/index.tsx.template +6 -6
- package/src/ts/react-website/app/files/app/shadcn/src/main.tsx.template +1 -1
- package/src/ts/react-website/app/generator.d.ts +6 -6
- package/src/ts/react-website/app/generator.js +124 -114
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/app/schema.d.ts +9 -6
- package/src/ts/react-website/app/schema.json +13 -13
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +1 -7
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +3 -3
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +3 -23
- package/src/ts/react-website/cognito-auth/generator.d.ts +3 -3
- package/src/ts/react-website/cognito-auth/generator.js +19 -22
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
- package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
- package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
- package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
- package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
- package/src/ts/react-website/cognito-auth/schema.d.ts +2 -2
- package/src/ts/react-website/cognito-auth/schema.json +4 -4
- package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
- package/src/ts/react-website/cognito-auth/utils.js +1 -1
- package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
- package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
- package/src/ts/react-website/runtime-config/generator.js +4 -4
- package/src/ts/react-website/runtime-config/generator.js.map +1 -1
- package/src/ts/sync/generator.d.ts +3 -3
- package/src/ts/sync/generator.js +2 -2
- package/src/ts/sync/generator.js.map +1 -1
- package/src/ts/website/app/generator.d.ts +3 -3
- package/src/ts/website/app/generator.js +1 -1
- package/src/ts/website/app/generator.js.map +1 -1
- package/src/ts/website/app/schema.d.ts +8 -6
- package/src/ts/website/app/schema.json +21 -13
- package/src/ts/website/auth/generator.d.ts +3 -3
- package/src/ts/website/auth/generator.js +2 -2
- package/src/ts/website/auth/generator.js.map +1 -1
- package/src/ts/website/auth/schema.d.ts +2 -2
- package/src/ts/website/auth/schema.json +4 -4
- package/src/utils/agent-connection/agent-connection.d.ts +1 -1
- package/src/utils/agent-connection/agent-connection.js +17 -11
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-connection/files/core-runtime-config/model-errors.ts.template +36 -0
- package/src/utils/agent-connection/files/py-core-runtime-config/model_errors.py.template +40 -0
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +10 -10
- package/src/utils/agent-core-constructs/agent-core-constructs.js +14 -24
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +13 -13
- package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +5 -5
- package/src/utils/api-constructs/api-constructs.d.ts +4 -4
- package/src/utils/api-constructs/api-constructs.js +5 -7
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +12 -12
- package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +12 -12
- package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +7 -7
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +10 -10
- package/src/utils/api-constructs/open-api-metadata.d.ts +4 -4
- package/src/utils/api-constructs/open-api-metadata.js +2 -2
- package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
- package/src/utils/ast/website.d.ts +5 -1
- package/src/utils/ast/website.js +3 -3
- package/src/utils/ast/website.js.map +1 -1
- package/src/utils/ast.d.ts +33 -1
- package/src/utils/ast.js +89 -4
- package/src/utils/ast.js.map +1 -1
- package/src/utils/bundle/bundle.d.ts +1 -1
- package/src/utils/bundle/bundle.js +2 -2
- package/src/utils/bundle/bundle.js.map +1 -1
- package/src/utils/commands.d.ts +1 -1
- package/src/utils/commands.js +2 -2
- package/src/utils/commands.js.map +1 -1
- package/src/utils/config/__snapshots__/utils.spec.ts.snap +6 -6
- package/src/utils/config/index.d.ts +5 -5
- package/src/utils/config/utils.d.ts +13 -3
- package/src/utils/config/utils.js +37 -5
- package/src/utils/config/utils.js.map +1 -1
- package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +7 -7
- package/src/utils/connection/open-api/react.d.ts +2 -2
- package/src/utils/connection/open-api/react.js +7 -7
- package/src/utils/connection/open-api/react.js.map +1 -1
- package/src/utils/containers.d.ts +6 -6
- package/src/utils/containers.js +6 -6
- package/src/utils/containers.js.map +1 -1
- package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +18 -0
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js +49 -0
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
- package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +30 -0
- package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
- package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +65 -0
- package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
- package/src/utils/format.d.ts +45 -2
- package/src/utils/format.js +167 -46
- package/src/utils/format.js.map +1 -1
- package/src/utils/fs.d.ts +1 -1
- package/src/utils/fs.js.map +1 -1
- package/src/utils/function-constructs/files/cdk/app/lambda-functions/{__functionNameKebabCase__.ts.template → __nameKebabCase__.ts.template} +1 -1
- package/src/utils/function-constructs/files/terraform/app/lambda-functions/{__functionNameKebabCase__/__functionNameKebabCase__.tf.template → __nameKebabCase__/__nameKebabCase__.tf.template} +7 -7
- package/src/utils/function-constructs/function-constructs.d.ts +5 -5
- package/src/utils/function-constructs/function-constructs.js +6 -8
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/generators.d.ts +4 -0
- package/src/utils/generators.js +4 -4
- package/src/utils/generators.js.map +1 -1
- package/src/utils/git.d.ts +1 -1
- package/src/utils/git.js.map +1 -1
- package/src/utils/iac-providers.d.ts +3 -3
- package/src/utils/iac-providers.js +1 -1
- package/src/utils/iac.d.ts +3 -3
- package/src/utils/iac.js +6 -6
- package/src/utils/iac.js.map +1 -1
- package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +1 -5
- package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +2 -4
- package/src/utils/identity-constructs/identity-constructs.d.ts +3 -3
- package/src/utils/identity-constructs/identity-constructs.js +4 -4
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/js.d.ts +4 -0
- package/src/utils/js.js +4 -4
- package/src/utils/js.js.map +1 -1
- package/src/utils/mcp.d.ts +25 -0
- package/src/utils/mcp.js +81 -0
- package/src/utils/mcp.js.map +1 -0
- package/src/utils/metrics.d.ts +9 -3
- package/src/utils/metrics.js +58 -28
- package/src/utils/metrics.js.map +1 -1
- package/src/utils/npm-scope.d.ts +1 -1
- package/src/utils/npm-scope.js.map +1 -1
- package/src/utils/nx.d.ts +7 -2
- package/src/utils/nx.js +46 -14
- package/src/utils/nx.js.map +1 -1
- package/src/utils/nxlv-python.d.ts +1 -1
- package/src/utils/paths.d.ts +1 -1
- package/src/utils/pnpm-workspace.d.ts +1 -1
- package/src/utils/pnpm-workspace.js.map +1 -1
- package/src/utils/port.d.ts +30 -3
- package/src/utils/port.js +72 -4
- package/src/utils/port.js.map +1 -1
- package/src/utils/py.d.ts +2 -2
- package/src/utils/py.js +13 -6
- package/src/utils/py.js.map +1 -1
- package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +30 -1
- package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +18 -9
- package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -5
- package/src/utils/rdb-constructs/rdb-constructs.js +7 -17
- package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
- package/src/utils/shared-constructs.d.ts +3 -3
- package/src/utils/shared-constructs.js +10 -10
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/shared-infra-config.d.ts +1 -1
- package/src/utils/shared-infra-config.js +1 -1
- package/src/utils/shared-infra-config.js.map +1 -1
- package/src/utils/shared-scripts.d.ts +1 -1
- package/src/utils/shared-scripts.js +2 -2
- package/src/utils/shared-scripts.js.map +1 -1
- package/src/utils/shared-shadcn.d.ts +1 -1
- package/src/utils/shared-shadcn.js +1 -13
- package/src/utils/shared-shadcn.js.map +1 -1
- package/src/utils/test.d.ts +5 -1
- package/src/utils/test.js +9 -5
- package/src/utils/test.js.map +1 -1
- package/src/utils/toml.d.ts +1 -1
- package/src/utils/toml.js +4 -0
- package/src/utils/toml.js.map +1 -1
- package/src/utils/versions.d.ts +68 -72
- package/src/utils/versions.js +67 -71
- package/src/utils/versions.js.map +1 -1
- package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +52 -5
- package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +38 -11
- package/src/utils/website-constructs/website-constructs.d.ts +3 -3
- package/src/utils/website-constructs/website-constructs.js +5 -7
- package/src/utils/website-constructs/website-constructs.js.map +1 -1
- package/src/ts/lib/eslint.d.ts +0 -14
- package/src/ts/lib/eslint.js +0 -90
- package/src/ts/lib/eslint.js.map +0 -1
- package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
- /package/src/ts/{rdb/files/scripts/docker-pull.ts.template → dynamodb/files/scripts/pull-image.ts.template} +0 -0
|
@@ -33,7 +33,7 @@ variable "server_protocol" {
|
|
|
33
33
|
default = "HTTP"
|
|
34
34
|
validation {
|
|
35
35
|
condition = contains(["MCP", "HTTP", "A2A"], var.server_protocol)
|
|
36
|
-
error_message = "Protocol type must be either '
|
|
36
|
+
error_message = "Protocol type must be either 'mcp', 'http', or 'a2a'."
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -267,7 +267,7 @@ resource "aws_iam_role_policy_attachment" "agent_core_policy" {
|
|
|
267
267
|
|
|
268
268
|
# Data source to get container image digest
|
|
269
269
|
data "external" "docker_digest" {
|
|
270
|
-
program = ["sh", "-c", "echo '{\"digest\":\"'$(<%=
|
|
270
|
+
program = ["sh", "-c", "echo '{\"digest\":\"'$(<%= containers %> inspect ${var.docker_image_tag} --format '{{.Id}}')'\"}' "]
|
|
271
271
|
}
|
|
272
272
|
|
|
273
273
|
# Null resource for container image publish
|
|
@@ -281,13 +281,13 @@ resource "null_resource" "docker_publish" {
|
|
|
281
281
|
provisioner "local-exec" {
|
|
282
282
|
command = <<-EOT
|
|
283
283
|
# Get ECR login token
|
|
284
|
-
aws ecr get-login-password --region ${local.aws_region} | <%=
|
|
284
|
+
aws ecr get-login-password --region ${local.aws_region} | <%= containers %> login --username AWS --password-stdin ${self.triggers.repository_url}
|
|
285
285
|
|
|
286
286
|
# Tag the image
|
|
287
|
-
<%=
|
|
287
|
+
<%= containers %> tag ${self.triggers.docker_image_tag} ${self.triggers.repository_url}:latest
|
|
288
288
|
|
|
289
289
|
# Push the image
|
|
290
|
-
<%=
|
|
290
|
+
<%= containers %> push ${self.triggers.repository_url}:latest
|
|
291
291
|
EOT
|
|
292
292
|
}
|
|
293
293
|
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { Tree } from '@nx/devkit';
|
|
6
|
-
import {
|
|
5
|
+
import { type Tree } from '@nx/devkit';
|
|
6
|
+
import type { Iac } from '../iac';
|
|
7
7
|
interface BackendOptions {
|
|
8
8
|
type: 'trpc' | 'fastapi' | 'smithy';
|
|
9
9
|
integrationPattern: 'isolated' | 'shared';
|
|
@@ -30,9 +30,9 @@ export interface AddApiGatewayConstructOptions {
|
|
|
30
30
|
apiNameKebabCase: string;
|
|
31
31
|
constructType: 'http' | 'rest';
|
|
32
32
|
backend: TrpcBackendOptions | FastApiBackendOptions | SmithyBackendOptions;
|
|
33
|
-
auth: '
|
|
33
|
+
auth: 'iam' | 'cognito' | 'custom';
|
|
34
34
|
}
|
|
35
35
|
export declare const addApiGatewayInfra: (tree: Tree, options: AddApiGatewayConstructOptions & {
|
|
36
|
-
|
|
36
|
+
iac: Iac;
|
|
37
37
|
}) => Promise<void>;
|
|
38
38
|
export {};
|
|
@@ -6,22 +6,20 @@ exports.addApiGatewayInfra = void 0;
|
|
|
6
6
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
7
|
*/
|
|
8
8
|
const devkit_1 = require("@nx/devkit");
|
|
9
|
-
const shared_constructs_constants_1 = require("../shared-constructs-constants");
|
|
10
9
|
const ast_1 = require("../ast");
|
|
11
10
|
const nx_1 = require("../nx");
|
|
11
|
+
const shared_constructs_constants_1 = require("../shared-constructs-constants");
|
|
12
12
|
const addApiGatewayInfra = async (tree, options) => {
|
|
13
|
-
if (options.
|
|
13
|
+
if (options.iac === 'cdk') {
|
|
14
14
|
await addApiGatewayCdkConstructs(tree, options);
|
|
15
15
|
}
|
|
16
|
-
else if (options.
|
|
16
|
+
else if (options.iac === 'terraform') {
|
|
17
17
|
addApiGatewayTerraformModules(tree, options);
|
|
18
18
|
}
|
|
19
19
|
else {
|
|
20
|
-
throw new Error(`Unsupported
|
|
20
|
+
throw new Error(`Unsupported iac ${options.iac}`);
|
|
21
21
|
}
|
|
22
|
-
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.
|
|
23
|
-
? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR
|
|
24
|
-
: shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
|
|
22
|
+
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.iac === 'cdk' ? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR : shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
|
|
25
23
|
(0, nx_1.addDependencyToTargetIfNotPresent)(config, 'build', `${options.apiProjectName}:build`);
|
|
26
24
|
return config;
|
|
27
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/api-constructs/api-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,
|
|
1
|
+
{"version":3,"file":"api-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/api-constructs/api-constructs.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,23 +18,23 @@ import {
|
|
|
18
18
|
CorsHttpMethod,
|
|
19
19
|
CfnApi,
|
|
20
20
|
} from 'aws-cdk-lib/aws-apigatewayv2';
|
|
21
|
-
<%_ if (['
|
|
21
|
+
<%_ if (['iam', 'cognito', 'custom'].includes(auth)) { _%>
|
|
22
22
|
import {
|
|
23
|
-
<%_ if (auth === '
|
|
23
|
+
<%_ if (auth === 'iam') { _%>
|
|
24
24
|
HttpIamAuthorizer,
|
|
25
|
-
<%_ } else if (auth === '
|
|
25
|
+
<%_ } else if (auth === 'cognito') { _%>
|
|
26
26
|
HttpUserPoolAuthorizer,
|
|
27
|
-
<%_ } else if (auth === '
|
|
27
|
+
<%_ } else if (auth === 'custom') { _%>
|
|
28
28
|
HttpLambdaAuthorizer,
|
|
29
29
|
HttpLambdaResponseType,
|
|
30
30
|
<%_ } _%>
|
|
31
31
|
} from 'aws-cdk-lib/aws-apigatewayv2-authorizers';
|
|
32
32
|
<%_ } _%>
|
|
33
33
|
import { HttpLambdaIntegration } from 'aws-cdk-lib/aws-apigatewayv2-integrations';
|
|
34
|
-
<%_ if (auth === '
|
|
34
|
+
<%_ if (auth === 'cognito') { _%>
|
|
35
35
|
import { IUserPool, IUserPoolClient } from 'aws-cdk-lib/aws-cognito';
|
|
36
36
|
<%_ } _%>
|
|
37
|
-
<%_ if (auth === '
|
|
37
|
+
<%_ if (auth === 'iam') { _%>
|
|
38
38
|
import { Grant, IGrantable } from 'aws-cdk-lib/aws-iam';
|
|
39
39
|
<%_ } _%>
|
|
40
40
|
import {
|
|
@@ -68,7 +68,7 @@ export interface <%= apiNameClassName %>Props<
|
|
|
68
68
|
* Map of operation names to their API Gateway integrations
|
|
69
69
|
*/
|
|
70
70
|
integrations: TIntegrations;
|
|
71
|
-
<%_ if (auth === '
|
|
71
|
+
<%_ if (auth === 'cognito') { _%>
|
|
72
72
|
/**
|
|
73
73
|
* Identity details for Cognito Authentication
|
|
74
74
|
*/
|
|
@@ -175,7 +175,7 @@ export class <%= apiNameClassName %><
|
|
|
175
175
|
id: string,
|
|
176
176
|
props: <%= apiNameClassName %>Props<TIntegrations>,
|
|
177
177
|
) {
|
|
178
|
-
<%_ if (auth === '
|
|
178
|
+
<%_ if (auth === 'custom') { _%>
|
|
179
179
|
const authorizerFunction = new Function(scope, '<%= apiNameClassName %>AuthorizerFunction', {
|
|
180
180
|
<%_ if (['trpc', 'smithy'].includes(backend.type)) { _%>
|
|
181
181
|
runtime: Runtime.NODEJS_LATEST,
|
|
@@ -218,13 +218,13 @@ export class <%= apiNameClassName %><
|
|
|
218
218
|
'x-amz-security-token',
|
|
219
219
|
],
|
|
220
220
|
},
|
|
221
|
-
<%_ if (auth === '
|
|
221
|
+
<%_ if (auth === 'iam') { _%>
|
|
222
222
|
defaultAuthorizer: new HttpIamAuthorizer(),
|
|
223
|
-
<%_ } else if (auth === '
|
|
223
|
+
<%_ } else if (auth === 'cognito') { _%>
|
|
224
224
|
defaultAuthorizer: new HttpUserPoolAuthorizer('<%= apiNameClassName %>Authorizer', props.identity.userPool, {
|
|
225
225
|
userPoolClients: [props.identity.userPoolClient]
|
|
226
226
|
}),
|
|
227
|
-
<%_ } else if (auth === '
|
|
227
|
+
<%_ } else if (auth === 'custom') { _%>
|
|
228
228
|
defaultAuthorizer: new HttpLambdaAuthorizer('<%= apiNameClassName %>LambdaAuthorizer', authorizerFunction, {
|
|
229
229
|
responseTypes: [HttpLambdaResponseType.SIMPLE],
|
|
230
230
|
}),
|
|
@@ -278,7 +278,7 @@ export class <%= apiNameClassName %><
|
|
|
278
278
|
],
|
|
279
279
|
};
|
|
280
280
|
}
|
|
281
|
-
<%_ if (auth === '
|
|
281
|
+
<%_ if (auth === 'iam') { _%>
|
|
282
282
|
|
|
283
283
|
/**
|
|
284
284
|
* Grants IAM permissions to invoke any method on this API.
|
|
@@ -19,10 +19,10 @@ import {
|
|
|
19
19
|
<%_ if (['trpc', 'fastapi'].includes(backend.type)) { _%>
|
|
20
20
|
ResponseTransferMode,
|
|
21
21
|
<%_ } _%>
|
|
22
|
-
<%_ if (auth === '
|
|
22
|
+
<%_ if (auth === 'cognito') { _%>
|
|
23
23
|
CognitoUserPoolsAuthorizer,
|
|
24
24
|
<%_ } _%>
|
|
25
|
-
<%_ if (auth === '
|
|
25
|
+
<%_ if (auth === 'custom') { _%>
|
|
26
26
|
TokenAuthorizer,
|
|
27
27
|
<%_ } _%>
|
|
28
28
|
} from 'aws-cdk-lib/aws-apigateway';
|
|
@@ -32,12 +32,12 @@ import {
|
|
|
32
32
|
PolicyStatement,
|
|
33
33
|
Effect,
|
|
34
34
|
AnyPrincipal,
|
|
35
|
-
<%_ if (auth === '
|
|
35
|
+
<%_ if (auth === 'iam') { _%>
|
|
36
36
|
IGrantable,
|
|
37
37
|
Grant,
|
|
38
38
|
<%_ } _%>
|
|
39
39
|
} from 'aws-cdk-lib/aws-iam';
|
|
40
|
-
<%_ if (auth === '
|
|
40
|
+
<%_ if (auth === 'cognito') { _%>
|
|
41
41
|
import { IUserPool } from 'aws-cdk-lib/aws-cognito';
|
|
42
42
|
<%_ } _%>
|
|
43
43
|
import {
|
|
@@ -71,7 +71,7 @@ export interface <%= apiNameClassName %>Props<
|
|
|
71
71
|
* Map of operation names to their API Gateway integrations
|
|
72
72
|
*/
|
|
73
73
|
integrations: TIntegrations;
|
|
74
|
-
<%_ if (auth === '
|
|
74
|
+
<%_ if (auth === 'cognito') { _%>
|
|
75
75
|
/**
|
|
76
76
|
* Identity details for Cognito Authentication
|
|
77
77
|
*/
|
|
@@ -195,7 +195,7 @@ export class <%= apiNameClassName %><
|
|
|
195
195
|
id: string,
|
|
196
196
|
props: <%= apiNameClassName %>Props<TIntegrations>,
|
|
197
197
|
) {
|
|
198
|
-
<%_ if (auth === '
|
|
198
|
+
<%_ if (auth === 'custom') { _%>
|
|
199
199
|
const authorizerFunction = new Function(scope, '<%= apiNameClassName %>AuthorizerFunction', {
|
|
200
200
|
<%_ if (['trpc', 'smithy'].includes(backend.type)) { _%>
|
|
201
201
|
runtime: Runtime.NODEJS_LATEST,
|
|
@@ -228,14 +228,14 @@ export class <%= apiNameClassName %><
|
|
|
228
228
|
super(scope, id, {
|
|
229
229
|
apiName: '<%= apiNameClassName %>',
|
|
230
230
|
defaultMethodOptions: {
|
|
231
|
-
<%_ if (auth === '
|
|
231
|
+
<%_ if (auth === 'iam') { _%>
|
|
232
232
|
authorizationType: AuthorizationType.IAM,
|
|
233
|
-
<%_ } else if (auth === '
|
|
233
|
+
<%_ } else if (auth === 'cognito') { _%>
|
|
234
234
|
authorizationType: AuthorizationType.COGNITO,
|
|
235
235
|
authorizer: new CognitoUserPoolsAuthorizer(scope, '<%= apiNameClassName %>Authorizer', {
|
|
236
236
|
cognitoUserPools: [props.identity.userPool],
|
|
237
237
|
}),
|
|
238
|
-
<%_ } else if (auth === '
|
|
238
|
+
<%_ } else if (auth === 'custom') { _%>
|
|
239
239
|
authorizationType: AuthorizationType.CUSTOM,
|
|
240
240
|
authorizer: new TokenAuthorizer(scope, '<%= apiNameClassName %>TokenAuthorizer', {
|
|
241
241
|
handler: authorizerFunction,
|
|
@@ -247,7 +247,7 @@ export class <%= apiNameClassName %><
|
|
|
247
247
|
},
|
|
248
248
|
policy: new PolicyDocument({
|
|
249
249
|
statements: [
|
|
250
|
-
<%_ if (auth === '
|
|
250
|
+
<%_ if (auth === 'iam') { _%>
|
|
251
251
|
// Open up OPTIONS to allow browsers to make unauthenticated preflight requests
|
|
252
252
|
new PolicyStatement({
|
|
253
253
|
effect: Effect.ALLOW,
|
|
@@ -256,7 +256,7 @@ export class <%= apiNameClassName %><
|
|
|
256
256
|
resources: ['execute-api:/*/OPTIONS/*'],
|
|
257
257
|
}),
|
|
258
258
|
<%_ } else { _%>
|
|
259
|
-
// Allow all callers to invoke the API in the resource policy<% if (auth === '
|
|
259
|
+
// Allow all callers to invoke the API in the resource policy<% if (auth === 'cognito') { %>, since auth is handled by Cognito<% } else if (auth === 'custom') { %>, since auth is handled by the Lambda Authorizer<% } %>
|
|
260
260
|
new PolicyStatement({
|
|
261
261
|
effect: Effect.ALLOW,
|
|
262
262
|
principals: [new AnyPrincipal()],
|
|
@@ -308,7 +308,7 @@ export class <%= apiNameClassName %><
|
|
|
308
308
|
}
|
|
309
309
|
});
|
|
310
310
|
}
|
|
311
|
-
<%_ if (auth === '
|
|
311
|
+
<%_ if (auth === 'iam') { _%>
|
|
312
312
|
|
|
313
313
|
/**
|
|
314
314
|
* Grants IAM permissions to invoke any method on this API.
|
|
@@ -9,7 +9,7 @@ terraform {
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
<%_ if (auth === '
|
|
12
|
+
<%_ if (auth === 'cognito') { _%>
|
|
13
13
|
# Authentication Configuration
|
|
14
14
|
variable "user_pool_id" {
|
|
15
15
|
description = "Cognito User Pool ID for authentication"
|
|
@@ -254,7 +254,7 @@ resource "aws_lambda_alias" "live" {
|
|
|
254
254
|
}
|
|
255
255
|
<%_ } _%>
|
|
256
256
|
|
|
257
|
-
<%_ if (auth === '
|
|
257
|
+
<%_ if (auth === 'cognito') { _%>
|
|
258
258
|
# Cognito User Pool Authorizer
|
|
259
259
|
resource "aws_apigatewayv2_authorizer" "cognito_authorizer" {
|
|
260
260
|
api_id = module.http_api.api_id
|
|
@@ -267,7 +267,7 @@ resource "aws_apigatewayv2_authorizer" "cognito_authorizer" {
|
|
|
267
267
|
issuer = "https://cognito-idp.${data.aws_region.current.region}.amazonaws.com/${var.user_pool_id}"
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
|
-
<%_ } else if (auth === '
|
|
270
|
+
<%_ } else if (auth === 'custom') { _%>
|
|
271
271
|
# Custom Lambda Authorizer
|
|
272
272
|
resource "aws_lambda_function" "authorizer_lambda" {
|
|
273
273
|
#checkov:skip=CKV_AWS_117:Lambda function does not need to be in VPC for this use case
|
|
@@ -407,17 +407,17 @@ resource "aws_apigatewayv2_route" "proxy_routes" {
|
|
|
407
407
|
route_key = "${each.key} /{proxy+}"
|
|
408
408
|
target = "integrations/${aws_apigatewayv2_integration.lambda_integration.id}"
|
|
409
409
|
|
|
410
|
-
<%_ if (auth === '
|
|
410
|
+
<%_ if (auth === 'iam') { _%>
|
|
411
411
|
authorization_type = "AWS_IAM"
|
|
412
|
-
<%_ } else if (auth === '
|
|
412
|
+
<%_ } else if (auth === 'cognito') { _%>
|
|
413
413
|
authorization_type = "JWT"
|
|
414
414
|
authorizer_id = aws_apigatewayv2_authorizer.cognito_authorizer.id
|
|
415
|
-
<%_ } else if (auth === '
|
|
415
|
+
<%_ } else if (auth === 'custom') { _%>
|
|
416
416
|
authorization_type = "CUSTOM"
|
|
417
417
|
authorizer_id = aws_apigatewayv2_authorizer.custom_authorizer.id
|
|
418
418
|
<%_ } _%>
|
|
419
419
|
|
|
420
|
-
depends_on = [aws_apigatewayv2_integration.lambda_integration<% if (auth === '
|
|
420
|
+
depends_on = [aws_apigatewayv2_integration.lambda_integration<% if (auth === 'cognito') { %>, aws_apigatewayv2_authorizer.cognito_authorizer<% } else if (auth === 'custom') { %>, aws_apigatewayv2_authorizer.custom_authorizer<% } %>]
|
|
421
421
|
}
|
|
422
422
|
|
|
423
423
|
# Add API url to runtime config
|
|
@@ -9,7 +9,7 @@ terraform {
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
<%_ if (auth === '
|
|
12
|
+
<%_ if (auth === 'cognito') { _%>
|
|
13
13
|
# Authentication Configuration
|
|
14
14
|
variable "user_pool_id" {
|
|
15
15
|
description = "Cognito User Pool ID for authentication"
|
|
@@ -251,7 +251,7 @@ resource "aws_lambda_alias" "live" {
|
|
|
251
251
|
}
|
|
252
252
|
<%_ } _%>
|
|
253
253
|
|
|
254
|
-
<%_ if (auth === '
|
|
254
|
+
<%_ if (auth === 'cognito') { _%>
|
|
255
255
|
# Cognito User Pool Authorizer
|
|
256
256
|
resource "aws_api_gateway_authorizer" "cognito_authorizer" {
|
|
257
257
|
name = "<%- apiNameClassName %>Authorizer-${random_string.suffix.result}"
|
|
@@ -260,7 +260,7 @@ resource "aws_api_gateway_authorizer" "cognito_authorizer" {
|
|
|
260
260
|
provider_arns = ["arn:aws:cognito-idp:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:userpool/${var.user_pool_id}"]
|
|
261
261
|
identity_source = "method.request.header.Authorization"
|
|
262
262
|
}
|
|
263
|
-
<%_ } else if (auth === '
|
|
263
|
+
<%_ } else if (auth === 'custom') { _%>
|
|
264
264
|
# Custom Lambda Authorizer
|
|
265
265
|
resource "aws_lambda_function" "authorizer_lambda" {
|
|
266
266
|
#checkov:skip=CKV_AWS_117:Lambda function does not need to be in VPC for this use case
|
|
@@ -408,12 +408,12 @@ resource "aws_api_gateway_method" "proxy_method" {
|
|
|
408
408
|
resource_id = aws_api_gateway_resource.proxy_resource.id
|
|
409
409
|
http_method = "ANY"
|
|
410
410
|
|
|
411
|
-
<%_ if (auth === '
|
|
411
|
+
<%_ if (auth === 'iam') { _%>
|
|
412
412
|
authorization = "AWS_IAM"
|
|
413
|
-
<%_ } else if (auth === '
|
|
413
|
+
<%_ } else if (auth === 'cognito') { _%>
|
|
414
414
|
authorization = "COGNITO_USER_POOLS"
|
|
415
415
|
authorizer_id = aws_api_gateway_authorizer.cognito_authorizer.id
|
|
416
|
-
<%_ } else if (auth === '
|
|
416
|
+
<%_ } else if (auth === 'custom') { _%>
|
|
417
417
|
authorization = "CUSTOM"
|
|
418
418
|
authorizer_id = aws_api_gateway_authorizer.custom_authorizer.id
|
|
419
419
|
<%_ } _%>
|
|
@@ -422,7 +422,7 @@ resource "aws_api_gateway_method" "proxy_method" {
|
|
|
422
422
|
"method.request.path.proxy" = true
|
|
423
423
|
}
|
|
424
424
|
|
|
425
|
-
depends_on = [<% if (auth === '
|
|
425
|
+
depends_on = [<% if (auth === 'cognito') { %>aws_api_gateway_authorizer.cognito_authorizer<% } else if (auth === 'custom') { %>aws_api_gateway_authorizer.custom_authorizer<% } %>]
|
|
426
426
|
}
|
|
427
427
|
|
|
428
428
|
# OPTIONS method for CORS preflight
|
|
@@ -500,7 +500,7 @@ resource "aws_api_gateway_deployment" "api_deployment" {
|
|
|
500
500
|
aws_api_gateway_integration.options_integration,
|
|
501
501
|
aws_api_gateway_method_response.options_response,
|
|
502
502
|
aws_api_gateway_integration_response.options_integration_response,
|
|
503
|
-
<%_ if (auth === '
|
|
503
|
+
<%_ if (auth === 'custom') { _%>
|
|
504
504
|
aws_api_gateway_authorizer.custom_authorizer,
|
|
505
505
|
<%_ } _%>
|
|
506
506
|
]
|
|
@@ -530,7 +530,7 @@ resource "aws_api_gateway_rest_api_policy" "api_policy" {
|
|
|
530
530
|
policy = jsonencode({
|
|
531
531
|
Version = "2012-10-17"
|
|
532
532
|
Statement = [
|
|
533
|
-
<%_ if (auth === '
|
|
533
|
+
<%_ if (auth === 'iam') { _%>
|
|
534
534
|
{
|
|
535
535
|
# Grant any AWS credentials from the account to call the API
|
|
536
536
|
# Machine to machine fine-grained access can be defined here using more specific principals
|
|
@@ -551,7 +551,7 @@ resource "aws_api_gateway_rest_api_policy" "api_policy" {
|
|
|
551
551
|
}
|
|
552
552
|
<%_ } else { _%>
|
|
553
553
|
{
|
|
554
|
-
# Allow all callers to invoke the API in the resource policy<% if (auth === '
|
|
554
|
+
# Allow all callers to invoke the API in the resource policy<% if (auth === 'cognito') { %>, since auth is handled by Cognito<% } else if (auth === 'custom') { %>, since auth is handled by the Lambda Authorizer<% } %>
|
|
555
555
|
Effect = "Allow"
|
|
556
556
|
Principal = "*"
|
|
557
557
|
Action = "execute-api:Invoke"
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { Tree } from '@nx/devkit';
|
|
6
|
-
import {
|
|
5
|
+
import { type Tree } from '@nx/devkit';
|
|
6
|
+
import type { Iac } from '../iac';
|
|
7
7
|
export interface AddOpenApiMetadataGenerateTargetOptions {
|
|
8
|
-
|
|
8
|
+
iac: Iac;
|
|
9
9
|
apiNameKebabCase: string;
|
|
10
10
|
specPath: string;
|
|
11
11
|
specBuildTargetName: string;
|
|
@@ -14,4 +14,4 @@ export interface AddOpenApiMetadataGenerateTargetOptions {
|
|
|
14
14
|
* Adds a generate:<api-name>-metadata target to shared constructs (CDK only)
|
|
15
15
|
* This allows for API CDK constructs to have type-safety for integrations based on an OpenAPI Specification
|
|
16
16
|
*/
|
|
17
|
-
export declare const addSharedConstructsOpenApiMetadataGenerateTarget: (tree: Tree, {
|
|
17
|
+
export declare const addSharedConstructsOpenApiMetadataGenerateTarget: (tree: Tree, { iac, apiNameKebabCase, specPath, specBuildTargetName, }: AddOpenApiMetadataGenerateTargetOptions) => void;
|
|
@@ -13,8 +13,8 @@ const shared_constructs_constants_1 = require("../shared-constructs-constants");
|
|
|
13
13
|
* Adds a generate:<api-name>-metadata target to shared constructs (CDK only)
|
|
14
14
|
* This allows for API CDK constructs to have type-safety for integrations based on an OpenAPI Specification
|
|
15
15
|
*/
|
|
16
|
-
const addSharedConstructsOpenApiMetadataGenerateTarget = (tree, {
|
|
17
|
-
if (
|
|
16
|
+
const addSharedConstructsOpenApiMetadataGenerateTarget = (tree, { iac, apiNameKebabCase, specPath, specBuildTargetName, }) => {
|
|
17
|
+
if (iac !== 'cdk') {
|
|
18
18
|
// For Terraform, we do not support type-safe integration builders, rather only the single lambda
|
|
19
19
|
// router pattern, and therefore do not need to add depenencies on metadata generation.
|
|
20
20
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-api-metadata.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/api-constructs/open-api-metadata.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAKoB;
|
|
1
|
+
{"version":3,"file":"open-api-metadata.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/api-constructs/open-api-metadata.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAKoB;AACpB,gCAAyC;AAEzC,8BAA0D;AAC1D,gFAGwC;AASxC;;;GAGG;AACI,MAAM,gDAAgD,GAAG,CAC9D,IAAU,EACV,EACE,GAAG,EACH,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,GACqB,EAC1C,EAAE;IACF,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,iGAAiG;QACjG,uFAAuF;QACvF,OAAO;IACT,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAA,0BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC9E,MAAM,4BAA4B,GAAG,IAAA,0BAAiB,EACpD,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,CAAC,EACtD,KAAK,EACL,oBAAoB,CACrB,CAAC;IAEF,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,EAAE,cAAc,CAAC,EACtE,CAAC,MAA4B,EAAE,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,wFAAwF;QACxF,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,YAAY,gBAAgB,WAAW,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG;gBACnC,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,iBAAiB;gBAC3B,MAAM,EAAE;oBACN;wBACE,yBAAyB,EAAE,WAAW;qBACvC;iBACF;gBACD,OAAO,EAAE;oBACP,IAAA,0BAAiB,EAAC,iBAAiB,EAAE,4BAA4B,CAAC;iBACnE;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE;wBACR,+DAA+D,QAAQ,mBAAmB,4BAA4B,oBAAoB;qBAC3I;iBACF;gBACD,SAAS,EAAE,CAAC,mBAAmB,CAAC;aACjC,CAAC;QACJ,CAAC;QACD,IAAA,sCAAiC,EAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;IAEF,2CAA2C;IAC3C,sFAAsF;IACtF,IAAA,qBAAe,EACb,IAAI,EACJ,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,CAAC,EACtD,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,IAAA,0BAAiB,EAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAC5E,CAAC;AACJ,CAAC,CAAC;AAnEW,QAAA,gDAAgD,oDAmE3D"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import type { Tree } from '@nx/devkit';
|
|
2
6
|
export interface AddHookResultToRouterProviderContextProps {
|
|
3
7
|
hook: string;
|
|
4
8
|
module: string;
|
package/src/utils/ast/website.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addHookResultToRouterProviderContext = void 0;
|
|
4
2
|
/**
|
|
5
3
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
5
|
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.addHookResultToRouterProviderContext = void 0;
|
|
8
8
|
const ast_1 = require("../ast");
|
|
9
9
|
const addHookResultToRouterProviderContext = async (tree, mainTsxPath, { hook, module, contextProp }) => {
|
|
10
10
|
// All 4 patterns must exist for this transform to apply
|
|
@@ -70,7 +70,7 @@ ${contextProp}?: ReturnType<typeof ${hook}>\`
|
|
|
70
70
|
$cprops <: not some \`${contextProp}\`
|
|
71
71
|
},
|
|
72
72
|
\`<RouterProvider $attrs />\` => \`<RouterProvider $attrs context={{ ${contextProp} }} />\` where {
|
|
73
|
-
$attrs <: not some \`context\`
|
|
73
|
+
$attrs <: not some \`context={$_}\`
|
|
74
74
|
}
|
|
75
75
|
}`);
|
|
76
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"website.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/ast/website.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"website.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/ast/website.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,gCAAyE;AAQlE,MAAM,oCAAoC,GAAG,KAAK,EACvD,IAAU,EACV,WAAmB,EACnB,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAA6C,EACxE,EAAE;IACF,wDAAwD;IACxD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,IAAA,iBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,yBAAyB,CAAC;QACzD,IAAA,iBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,CAAC;QACpD,IAAA,iBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,kBAAkB,CAAC;QAClD,IAAA,iBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,yBAAyB,CAAC;KAC1D,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,IAAA,2BAAqB,EAAC,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAE/D,gDAAgD;IAChD,4GAA4G;IAC5G,kFAAkF;IAClF,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX;;IAEA,WAAW,wBAAwB,IAAI;;;iCAGV,WAAW;;EAE1C,WAAW,wBAAwB,IAAI;;MAEnC,CACH,CAAC;IAEF,iDAAiD;IACjD,+EAA+E;IAC/E,gEAAgE;IAChE,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX;;+BAE2B,WAAW;MACpC,CACH,CAAC;IAEF,qDAAqD;IACrD,mFAAmF;IACnF,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX;2DACuD,WAAW;MAChE,CACH,CAAC;IACF,8EAA8E;IAC9E,iEAAiE;IACjE,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX,qDAAqD,WAAW;;8BAEtC,WAAW;MACnC,CACH,CAAC;IAEF,yCAAyC;IACzC,kDAAkD;IAClD,wEAAwE;IACxE,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX;;UAEM,WAAW,MAAM,IAAI;;wCAES,WAAW,MAAM,IAAI;;UAEnD,WAAW,MAAM,IAAI;;sCAEO,IAAI;MACpC,CACH,CAAC;IAEF,oDAAoD;IACpD,+CAA+C;IAC/C,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,WAAW,EACX;0FACsF,WAAW;4GACO,WAAW;gCACvF,WAAW;;6EAEkC,WAAW;;;MAGlF,CACH,CAAC;AACJ,CAAC,CAAC;AAtGW,QAAA,oCAAoC,wCAsG/C"}
|
package/src/utils/ast.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { Tree } from '@nx/devkit';
|
|
5
|
+
import type { Tree } from '@nx/devkit';
|
|
6
6
|
export declare const addDestructuredImport: (tree: Tree, filePath: string, variableNames: string[], from: string) => Promise<void>;
|
|
7
7
|
/**
|
|
8
8
|
* Ensure a Python `from <module> import <name1>, <name2>, ...` statement
|
|
@@ -46,3 +46,35 @@ export declare const applyGritQL: (tree: Tree, filePath: string, pattern: string
|
|
|
46
46
|
* straight through to QueryBuilder without any wrapping rewrite.
|
|
47
47
|
*/
|
|
48
48
|
export declare const matchGritQL: (tree: Tree, filePath: string, pattern: string) => Promise<boolean>;
|
|
49
|
+
/**
|
|
50
|
+
* Capture the source text of the first match of a GritQL pattern.
|
|
51
|
+
*
|
|
52
|
+
* For example `` `dependencyCheck: $_` `` returns the whole
|
|
53
|
+
* `dependencyCheck: { ... }` property text. Returns undefined if nothing
|
|
54
|
+
* matches. The file is not modified.
|
|
55
|
+
*/
|
|
56
|
+
export declare const captureGritQL: (tree: Tree, filePath: string, pattern: string) => Promise<string | undefined>;
|
|
57
|
+
/**
|
|
58
|
+
* Return the text of every node matching the GritQL pattern, in document order.
|
|
59
|
+
*/
|
|
60
|
+
export declare const captureAllGritQL: (tree: Tree, filePath: string, pattern: string) => Promise<string[]>;
|
|
61
|
+
/**
|
|
62
|
+
* A unique token that is a valid identifier, so it can stand in for an array
|
|
63
|
+
* element or object property inside a GritQL rewrite.
|
|
64
|
+
*/
|
|
65
|
+
export declare const GRIT_INSERT_PLACEHOLDER = "__GRIT_INSERT_PLACEHOLDER__";
|
|
66
|
+
/**
|
|
67
|
+
* Apply a GritQL rewrite that inserts {@link GRIT_INSERT_PLACEHOLDER}, then
|
|
68
|
+
* replace the placeholder with `text`. Routing user-provided text through a
|
|
69
|
+
* placeholder keeps it out of the GritQL pattern, where quotes, backticks or
|
|
70
|
+
* `${...}` would otherwise break parsing.
|
|
71
|
+
*
|
|
72
|
+
* Any separator (e.g. a leading `, ` when appending to an array) must be part
|
|
73
|
+
* of the GritQL pattern, not `text`. The one adjustment made here: if the
|
|
74
|
+
* placeholder lands after a trailing line comment (`// ...`) — which would
|
|
75
|
+
* comment out the text — the text is moved to its own line.
|
|
76
|
+
*
|
|
77
|
+
* The caller formats afterwards. Returns true if the pattern matched and the
|
|
78
|
+
* file changed.
|
|
79
|
+
*/
|
|
80
|
+
export declare const insertViaGritQL: (tree: Tree, filePath: string, pattern: string, text: string) => Promise<boolean>;
|