@aws/nx-plugin 1.0.0-rc.23 → 1.0.0-rc.24
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 +2088 -971
- package/package.json +25 -10
- package/src/agentcore-gateway/attach-upstream.d.ts +7 -7
- package/src/agentcore-gateway/attach-upstream.js +19 -22
- package/src/agentcore-gateway/attach-upstream.js.map +1 -1
- package/src/agentcore-gateway/gateway-connection/generator.d.ts +3 -3
- package/src/agentcore-gateway/gateway-connection/generator.js +42 -45
- package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -1
- package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
- package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
- package/src/agentcore-gateway/generator.js +89 -72
- package/src/agentcore-gateway/generator.js.map +1 -1
- package/src/agentcore-gateway/mcp-connection/generator.d.ts +2 -2
- package/src/agentcore-gateway/mcp-connection/generator.js +24 -30
- package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -1
- package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
- package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
- package/src/agentcore-gateway/schema.d.js +6 -0
- package/src/agentcore-gateway/schema.d.js.map +1 -0
- package/src/bin/aws-nx-mcp.js +14 -0
- package/src/bin/aws-nx-mcp.js.map +1 -0
- package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +5 -5
- package/src/connection/agent-local-dev.js +42 -0
- package/src/connection/agent-local-dev.js.map +1 -0
- package/src/connection/agent-runtime-config.js +9 -14
- package/src/connection/agent-runtime-config.js.map +1 -1
- package/src/connection/generator.js +262 -207
- package/src/connection/generator.js.map +1 -1
- package/src/connection/{serve-local.d.ts → local-dev.d.ts} +3 -3
- package/src/connection/local-dev.js +37 -0
- package/src/connection/local-dev.js.map +1 -0
- package/src/connection/schema.d.js +6 -0
- package/src/connection/schema.d.js.map +1 -0
- package/src/index.js +2 -5
- package/src/index.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +4 -26
- package/src/infra/app/generator.js +133 -123
- package/src/infra/app/generator.js.map +1 -1
- package/src/infra/app/schema.d.js +6 -0
- package/src/infra/app/schema.d.js.map +1 -0
- package/src/license/config-types.js +5 -3
- package/src/license/config-types.js.map +1 -1
- package/src/license/config.d.ts +1 -1
- package/src/license/config.js +267 -242
- package/src/license/config.js.map +1 -1
- package/src/license/dependency-check/check.js +51 -46
- package/src/license/dependency-check/check.js.map +1 -1
- package/src/license/dependency-check/collectors/collector.js +41 -71
- package/src/license/dependency-check/collectors/collector.js.map +1 -1
- package/src/license/dependency-check/collectors/npm-collector.js +34 -41
- package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
- package/src/license/dependency-check/collectors/python-collector.js +55 -62
- package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
- package/src/license/dependency-check/evaluator.js +40 -68
- package/src/license/dependency-check/evaluator.js.map +1 -1
- package/src/license/dependency-check/executor.js +30 -22
- package/src/license/dependency-check/executor.js.map +1 -1
- package/src/license/dependency-check/pre-approved.js +949 -336
- package/src/license/dependency-check/pre-approved.js.map +1 -1
- package/src/license/dependency-check/types.js +2 -3
- package/src/license/dependency-check/types.js.map +1 -1
- package/src/license/generator.js +55 -60
- package/src/license/generator.js.map +1 -1
- package/src/license/index.js +3 -9
- package/src/license/index.js.map +1 -1
- package/src/license/known-exceptions.js +14 -13
- package/src/license/known-exceptions.js.map +1 -1
- package/src/license/schema.d.js +6 -0
- package/src/license/schema.d.js.map +1 -0
- package/src/license/sync/generator.js +94 -119
- package/src/license/sync/generator.js.map +1 -1
- package/src/license/sync/project-file-sync.js +28 -35
- package/src/license/sync/project-file-sync.js.map +1 -1
- package/src/mcp-server/generator-info.js +130 -160
- package/src/mcp-server/generator-info.js.map +1 -1
- package/src/mcp-server/guide-pipeline.js +184 -206
- package/src/mcp-server/guide-pipeline.js.map +1 -1
- package/src/mcp-server/guide-render.js +10 -25
- package/src/mcp-server/guide-render.js.map +1 -1
- package/src/mcp-server/index.js +6 -10
- package/src/mcp-server/index.js.map +1 -1
- package/src/mcp-server/mdx-ast.js +39 -57
- package/src/mcp-server/mdx-ast.js.map +1 -1
- package/src/mcp-server/option-filter.js +33 -47
- package/src/mcp-server/option-filter.js.map +1 -1
- package/src/mcp-server/schema-registry.js +27 -40
- package/src/mcp-server/schema-registry.js.map +1 -1
- package/src/mcp-server/schema.js +9 -7
- package/src/mcp-server/schema.js.map +1 -1
- package/src/mcp-server/server.js +20 -24
- package/src/mcp-server/server.js.map +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +23 -24
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/general-guidance.js +28 -25
- package/src/mcp-server/tools/general-guidance.js.map +1 -1
- package/src/mcp-server/tools/generator-guide.js +29 -37
- package/src/mcp-server/tools/generator-guide.js.map +1 -1
- package/src/mcp-server/tools/list-generators.js +19 -25
- package/src/mcp-server/tools/list-generators.js.map +1 -1
- package/src/open-api/ts-client/generator.js +16 -26
- package/src/open-api/ts-client/generator.js.map +1 -1
- package/src/open-api/ts-client/schema.d.js +6 -0
- package/src/open-api/ts-client/schema.d.js.map +1 -0
- package/src/open-api/ts-hooks/generator.js +13 -21
- package/src/open-api/ts-hooks/generator.js.map +1 -1
- package/src/open-api/ts-hooks/schema.d.js +6 -0
- package/src/open-api/ts-hooks/schema.d.js.map +1 -0
- package/src/open-api/ts-metadata/generator.js +12 -20
- package/src/open-api/ts-metadata/generator.js.map +1 -1
- package/src/open-api/ts-metadata/schema.d.js +6 -0
- package/src/open-api/ts-metadata/schema.d.js.map +1 -0
- package/src/open-api/utils/codegen-data/languages.js +42 -60
- package/src/open-api/utils/codegen-data/languages.js.map +1 -1
- package/src/open-api/utils/codegen-data/types.js +31 -30
- package/src/open-api/utils/codegen-data/types.js.map +1 -1
- package/src/open-api/utils/codegen-data.js +253 -269
- package/src/open-api/utils/codegen-data.js.map +1 -1
- package/src/open-api/utils/normalise.js +242 -241
- package/src/open-api/utils/normalise.js.map +1 -1
- package/src/open-api/utils/parse.js +8 -14
- package/src/open-api/utils/parse.js.map +1 -1
- package/src/open-api/utils/refs.js +12 -22
- package/src/open-api/utils/refs.js.map +1 -1
- package/src/open-api/utils/types.js +5 -2
- package/src/open-api/utils/types.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +31 -6
- package/src/preset/generator.d.ts +1 -1
- package/src/preset/generator.js +130 -112
- package/src/preset/generator.js.map +1 -1
- package/src/preset/schema.d.js +6 -0
- package/src/preset/schema.d.js.map +1 -0
- package/src/preset/schema.d.ts +0 -1
- package/src/preset/schema.json +0 -5
- package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
- package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.frameworks.spec.ts.snap} +6 -843
- package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +535 -0
- package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -2
- package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +1 -1
- package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +1 -1
- package/src/py/agent/a2a-connection/generator.js +70 -74
- package/src/py/agent/a2a-connection/generator.js.map +1 -1
- package/src/py/agent/a2a-connection/schema.d.js +8 -0
- package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
- package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +6 -8
- package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +3 -3
- package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +3 -3
- package/src/py/agent/gateway-connection/generator.js +61 -57
- package/src/py/agent/gateway-connection/generator.js.map +1 -1
- package/src/py/agent/gateway-connection/schema.d.js +6 -0
- package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
- package/src/py/agent/generator.js +227 -193
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -12
- package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +1 -1
- package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +1 -1
- package/src/py/agent/mcp-connection/generator.js +53 -51
- package/src/py/agent/mcp-connection/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/schema.d.js +8 -0
- package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
- package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -2
- package/src/py/agent/react-connection/generator.js +51 -58
- package/src/py/agent/react-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +4 -4
- package/src/py/agent/react-connection/local-dev.js +36 -0
- package/src/py/agent/react-connection/local-dev.js.map +1 -0
- package/src/py/agent/react-connection/schema.d.js +8 -0
- package/src/py/agent/react-connection/schema.d.js.map +1 -0
- package/src/py/agent/schema.d.js +6 -0
- package/src/py/agent/schema.d.js.map +1 -0
- package/src/py/api/generator.js +12 -12
- package/src/py/api/generator.js.map +1 -1
- package/src/py/api/schema.d.js +6 -0
- package/src/py/api/schema.d.js.map +1 -0
- package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +68 -28
- package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/py/dynamodb/agent-connection/generator.js +27 -29
- package/src/py/dynamodb/agent-connection/generator.js.map +1 -1
- package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
- package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
- package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/py/dynamodb/fast-api-connection/generator.js +26 -28
- package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -1
- package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
- package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
- package/src/py/dynamodb/files/__name__/client.py.template +5 -5
- package/src/py/dynamodb/files/__name__/entities/base.py.template +2 -2
- package/src/py/dynamodb/files/config.json.template +1 -1
- package/src/py/dynamodb/generator.js +63 -62
- package/src/py/dynamodb/generator.js.map +1 -1
- package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/py/dynamodb/mcp-server-connection/generator.js +27 -29
- package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -1
- package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
- package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
- package/src/py/dynamodb/schema.d.js +6 -0
- package/src/py/dynamodb/schema.d.js.map +1 -0
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +45 -4632
- package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
- package/src/py/fast-api/generator.js +79 -85
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +3 -2
- package/src/py/fast-api/react/generator.js +22 -24
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/py/fast-api/react/open-api.js +28 -29
- package/src/py/fast-api/react/open-api.js.map +1 -1
- package/src/py/fast-api/react/schema.d.js +6 -0
- package/src/py/fast-api/react/schema.d.js.map +1 -0
- package/src/py/fast-api/schema.d.js +6 -0
- package/src/py/fast-api/schema.d.js.map +1 -0
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/py/lambda-function/generator.js +57 -58
- package/src/py/lambda-function/generator.js.map +1 -1
- package/src/py/lambda-function/schema.d.js +6 -0
- package/src/py/lambda-function/schema.d.js.map +1 -0
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/py/mcp-server/generator.js +149 -131
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/mcp-server/schema.d.js +6 -0
- package/src/py/mcp-server/schema.d.js.map +1 -0
- package/src/py/project/generator.js +128 -89
- package/src/py/project/generator.js.map +1 -1
- package/src/py/project/schema.d.js +6 -0
- package/src/py/project/schema.d.js.map +1 -0
- package/src/sdk/agentcore-gateway.d.ts +6 -0
- package/src/sdk/agentcore-gateway.js +7 -0
- package/src/sdk/agentcore-gateway.js.map +1 -0
- package/src/sdk/connection.d.ts +6 -0
- package/src/sdk/connection.js +6 -0
- package/src/sdk/connection.js.map +1 -0
- package/{sdk → src/sdk}/license.d.ts +4 -4
- package/src/sdk/license.js +7 -0
- package/src/sdk/license.js.map +1 -0
- package/src/sdk/open-api.d.ts +10 -0
- package/src/sdk/open-api.js +8 -0
- package/src/sdk/open-api.js.map +1 -0
- package/src/sdk/py.d.ts +14 -0
- package/src/sdk/py.js +10 -0
- package/src/sdk/py.js.map +1 -0
- package/src/sdk/terraform.d.ts +6 -0
- package/src/sdk/terraform.js +7 -0
- package/src/sdk/terraform.js.map +1 -0
- package/src/sdk/ts.d.ts +33 -0
- package/src/sdk/ts.js +35 -0
- package/src/sdk/ts.js.map +1 -0
- package/{sdk → src/sdk}/utils/ast.d.ts +2 -2
- package/src/sdk/utils/ast.js +7 -0
- package/src/sdk/utils/ast.js.map +1 -0
- package/{sdk → src/sdk}/utils/format.d.ts +1 -1
- package/src/sdk/utils/format.js +6 -0
- package/src/sdk/utils/format.js.map +1 -0
- package/{sdk → src/sdk}/utils/test.d.ts +1 -1
- package/src/sdk/utils/test.js +6 -0
- package/src/sdk/utils/test.js.map +1 -0
- package/src/smithy/project/__snapshots__/generator.spec.ts.snap +2 -8
- package/src/smithy/project/files/build.Dockerfile.template +1 -4
- package/src/smithy/project/generator.js +44 -42
- package/src/smithy/project/generator.js.map +1 -1
- package/src/smithy/project/schema.d.js +6 -0
- package/src/smithy/project/schema.d.js.map +1 -0
- package/src/smithy/react-connection/generator.js +35 -46
- package/src/smithy/react-connection/generator.js.map +1 -1
- package/src/smithy/react-connection/schema.d.js +6 -0
- package/src/smithy/react-connection/schema.d.js.map +1 -0
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +395 -72
- package/src/smithy/ts/api/generator.js +121 -111
- package/src/smithy/ts/api/generator.js.map +1 -1
- package/src/smithy/ts/api/schema.d.js +6 -0
- package/src/smithy/ts/api/schema.d.js.map +1 -0
- package/src/terraform/project/files/application/src/providers.tf.template +1 -1
- package/src/terraform/project/generator.js +141 -103
- package/src/terraform/project/generator.js.map +1 -1
- package/src/terraform/project/schema.d.js +9 -0
- package/src/terraform/project/schema.d.js.map +1 -0
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +336 -92
- package/src/trpc/backend/generator.js +93 -86
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.d.js +6 -0
- package/src/trpc/backend/schema.d.js.map +1 -0
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/trpc/react/generator.js +59 -58
- package/src/trpc/react/generator.js.map +1 -1
- package/src/trpc/react/schema.d.js +6 -0
- package/src/trpc/react/schema.d.js.map +1 -0
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +10 -10
- package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +1 -1
- package/src/ts/agent/a2a-connection/generator.js +58 -54
- package/src/ts/agent/a2a-connection/generator.js.map +1 -1
- package/src/ts/agent/a2a-connection/schema.d.js +8 -0
- package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
- package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +3 -3
- package/src/ts/agent/gateway-connection/generator.js +57 -52
- package/src/ts/agent/gateway-connection/generator.js.map +1 -1
- package/src/ts/agent/gateway-connection/schema.d.js +6 -0
- package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
- package/src/ts/agent/generator.js +165 -136
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +1 -1
- package/src/ts/agent/mcp-connection/generator.js +48 -46
- package/src/ts/agent/mcp-connection/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/schema.d.js +8 -0
- package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
- package/src/ts/agent/react-connection/generator.js +79 -79
- package/src/ts/agent/react-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +2 -2
- package/src/ts/agent/react-connection/local-dev.js +17 -0
- package/src/ts/agent/react-connection/local-dev.js.map +1 -0
- package/src/ts/agent/react-connection/schema.d.js +8 -0
- package/src/ts/agent/react-connection/schema.d.js.map +1 -0
- package/src/ts/agent/schema.d.js +6 -0
- package/src/ts/agent/schema.d.js.map +1 -0
- package/src/ts/api/generator.js +16 -18
- package/src/ts/api/generator.js.map +1 -1
- package/src/ts/api/schema.d.js +6 -0
- package/src/ts/api/schema.d.js.map +1 -0
- package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +8 -8
- package/src/ts/astro-docs/generator.js +59 -48
- package/src/ts/astro-docs/generator.js.map +1 -1
- package/src/ts/astro-docs/schema.d.js +6 -0
- package/src/ts/astro-docs/schema.d.js.map +1 -0
- package/src/ts/docs/generator.js +10 -10
- package/src/ts/docs/generator.js.map +1 -1
- package/src/ts/docs/schema.d.js +6 -0
- package/src/ts/docs/schema.d.js.map +1 -0
- package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +68 -30
- package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/ts/dynamodb/agent-connection/generator.js +21 -23
- package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
- package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/files/config.json.template +1 -1
- package/src/ts/dynamodb/files/src/client.ts.template +7 -7
- package/src/ts/dynamodb/generator.js +64 -63
- package/src/ts/dynamodb/generator.js.map +1 -1
- package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
- package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
- package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/schema.d.js +6 -0
- package/src/ts/dynamodb/schema.d.js.map +1 -0
- package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
- package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
- package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
- package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
- package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/ts/lambda-function/generator.js +55 -55
- package/src/ts/lambda-function/generator.js.map +1 -1
- package/src/ts/lambda-function/io.js +83 -52
- package/src/ts/lambda-function/io.js.map +1 -1
- package/src/ts/lambda-function/schema.d.js +6 -0
- package/src/ts/lambda-function/schema.d.js.map +1 -0
- package/src/ts/lib/__snapshots__/generator.spec.ts.snap +23 -36
- package/src/ts/lib/biome.js +37 -37
- package/src/ts/lib/biome.js.map +1 -1
- package/src/ts/lib/generator.js +75 -77
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/schema.d.js +6 -0
- package/src/ts/lib/schema.d.js.map +1 -0
- package/src/ts/lib/ts-project-utils.js +65 -70
- package/src/ts/lib/ts-project-utils.js.map +1 -1
- package/src/ts/lib/types.js +5 -2
- package/src/ts/lib/types.js.map +1 -1
- package/src/ts/lib/vitest.js +29 -26
- 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.js +157 -138
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/mcp-server/schema.d.js +6 -0
- package/src/ts/mcp-server/schema.d.js.map +1 -0
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +14 -9
- package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
- package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +4 -4
- package/src/ts/nx-generator/generator.js +84 -83
- package/src/ts/nx-generator/generator.js.map +1 -1
- package/src/ts/nx-generator/schema.d.js +6 -0
- package/src/ts/nx-generator/schema.d.js.map +1 -0
- package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
- package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
- package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
- package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
- package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
- package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
- package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
- package/src/ts/nx-plugin/generator.js +49 -48
- package/src/ts/nx-plugin/generator.js.map +1 -1
- package/src/ts/nx-plugin/schema.d.js +9 -0
- package/src/ts/nx-plugin/schema.d.js.map +1 -0
- package/src/ts/nx-plugin/utils.js +32 -44
- package/src/ts/nx-plugin/utils.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +30 -30
- package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/ts/rdb/agent-connection/generator.js +38 -39
- package/src/ts/rdb/agent-connection/generator.js.map +1 -1
- package/src/ts/rdb/agent-connection/schema.d.js +8 -0
- package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/files/config.json.template +1 -1
- package/src/ts/rdb/files/prisma.config.ts.template +2 -2
- package/src/ts/rdb/files/src/prisma.ts.template +7 -7
- package/src/ts/rdb/files/src/utils.ts.template +1 -0
- package/src/ts/rdb/generator.js +130 -117
- package/src/ts/rdb/generator.js.map +1 -1
- package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
- package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
- package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
- package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/schema.d.js +6 -0
- package/src/ts/rdb/schema.d.js.map +1 -0
- package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/rdb/smithy-connection/generator.js +46 -43
- package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
- package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
- package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/rdb/trpc-connection/generator.js +36 -31
- package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
- package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
- package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/utils.js +9 -11
- package/src/ts/rdb/utils.js.map +1 -1
- package/src/ts/react-website/agui/generator.js +69 -61
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +154 -260
- package/src/ts/react-website/app/generator.js +197 -188
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/app/schema.d.js +6 -0
- package/src/ts/react-website/app/schema.d.js.map +1 -0
- package/src/ts/react-website/app/schema.json +6 -6
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +118 -4
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +10 -3
- package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
- package/src/ts/react-website/cognito-auth/generator.js +60 -60
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
- package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
- package/src/ts/react-website/cognito-auth/utils.js +34 -32
- package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
- package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
- package/src/ts/react-website/runtime-config/generator.js +29 -31
- package/src/ts/react-website/runtime-config/generator.js.map +1 -1
- package/src/ts/react-website/runtime-config/schema.d.js +6 -0
- package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
- package/src/ts/sync/generator.js +60 -59
- package/src/ts/sync/generator.js.map +1 -1
- package/src/ts/website/app/generator.js +10 -10
- package/src/ts/website/app/generator.js.map +1 -1
- package/src/ts/website/app/schema.d.js +6 -0
- package/src/ts/website/app/schema.d.js.map +1 -0
- package/src/ts/website/app/schema.json +6 -6
- package/src/ts/website/auth/generator.js +11 -11
- package/src/ts/website/auth/generator.js.map +1 -1
- package/src/ts/website/auth/schema.d.js +6 -0
- package/src/ts/website/auth/schema.d.js.map +1 -0
- package/src/utils/agent-chat/agent-chat.d.ts +1 -1
- package/src/utils/agent-chat/agent-chat.js +11 -12
- package/src/utils/agent-chat/agent-chat.js.map +1 -1
- package/src/utils/agent-chat/files/a2a/chat.ts.template +1 -1
- package/src/utils/agent-chat/files/ag-ui/chat.ts.template +1 -1
- package/src/utils/agent-chat/files/http-py/chat.ts.template +1 -1
- package/src/utils/agent-chat/files/http-ts/chat.ts.template +1 -1
- package/src/utils/agent-connection/agent-connection.js +129 -146
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +1 -1
- package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +1 -1
- package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +1 -1
- package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +1 -1
- package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +1 -1
- package/src/utils/agent-core-constructs/agent-core-constructs.js +53 -50
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +4 -4
- package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +2 -2
- package/src/utils/api-constructs/api-constructs.js +30 -31
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +14 -6
- package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
- package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
- package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +28 -14
- package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +91 -4
- package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
- package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
- package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
- package/src/utils/api-constructs/open-api-metadata.js +22 -22
- package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
- package/src/utils/ast/website.js +17 -19
- package/src/utils/ast/website.js.map +1 -1
- package/src/utils/ast.js +72 -97
- package/src/utils/ast.js.map +1 -1
- package/src/utils/bundle/bundle.js +50 -47
- package/src/utils/bundle/bundle.js.map +1 -1
- package/src/utils/commands.js +47 -26
- package/src/utils/commands.js.map +1 -1
- package/src/utils/config/index.d.ts +2 -2
- package/src/utils/config/index.js +5 -4
- package/src/utils/config/index.js.map +1 -1
- package/src/utils/config/utils.js +48 -58
- package/src/utils/config/utils.js.map +1 -1
- package/src/utils/connection/open-api/react.d.ts +5 -5
- package/src/utils/connection/open-api/react.js +81 -77
- package/src/utils/connection/open-api/react.js.map +1 -1
- package/src/utils/containers.js +22 -23
- package/src/utils/containers.js.map +1 -1
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js +32 -33
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
- package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +12 -2
- package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
- package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +2 -2
- package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +1 -1
- package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +17 -2
- package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
- package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
- package/src/utils/files/common/scripts/src/rdb/{pull-image.ts.template → shared/pull-image.ts.template} +1 -1
- package/src/utils/files/common/scripts/src/rdb/{start-container.ts.template → shared/start-container.ts.template} +16 -1
- package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
- package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
- package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +3 -3
- package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
- package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +2 -2
- package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
- package/src/utils/format.js +153 -99
- package/src/utils/format.js.map +1 -1
- package/src/utils/fs.js +14 -13
- package/src/utils/fs.js.map +1 -1
- package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
- package/src/utils/function-constructs/function-constructs.js +21 -26
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/generators.js +18 -20
- package/src/utils/generators.js.map +1 -1
- package/src/utils/git.js +19 -34
- package/src/utils/git.js.map +1 -1
- package/src/utils/iac-providers.js +5 -5
- package/src/utils/iac-providers.js.map +1 -1
- package/src/utils/iac.js +12 -14
- package/src/utils/iac.js.map +1 -1
- package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +112 -2
- package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +2 -2
- package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +104 -2
- package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
- package/src/utils/identity-constructs/identity-constructs.js +24 -28
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/js.js +27 -20
- package/src/utils/js.js.map +1 -1
- package/src/utils/mcp.js +34 -41
- package/src/utils/mcp.js.map +1 -1
- package/src/utils/metrics.js +30 -45
- package/src/utils/metrics.js.map +1 -1
- package/src/utils/mock-project-graph.js +8 -12
- package/src/utils/mock-project-graph.js.map +1 -1
- package/src/utils/names.js +25 -51
- package/src/utils/names.js.map +1 -1
- package/src/utils/npm-scope.js +9 -17
- package/src/utils/npm-scope.js.map +1 -1
- package/src/utils/nx.d.ts +18 -2
- package/src/utils/nx.js +111 -74
- package/src/utils/nx.js.map +1 -1
- package/src/utils/nxlv-python.js +27 -15
- package/src/utils/nxlv-python.js.map +1 -1
- package/src/utils/object.js +5 -11
- package/src/utils/object.js.map +1 -1
- package/src/utils/paths.js +11 -15
- package/src/utils/paths.js.map +1 -1
- package/src/utils/pkg-manager.js +4 -9
- package/src/utils/pkg-manager.js.map +1 -1
- package/src/utils/pnpm-workspace.js +22 -22
- package/src/utils/pnpm-workspace.js.map +1 -1
- package/src/utils/port.js +26 -36
- package/src/utils/port.js.map +1 -1
- package/src/utils/py.js +43 -52
- package/src/utils/py.js.map +1 -1
- package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +3 -3
- package/src/utils/rdb-constructs/rdb-constructs.js +31 -33
- package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
- package/src/utils/shared-constructs-constants.js +16 -16
- package/src/utils/shared-constructs-constants.js.map +1 -1
- package/src/utils/shared-constructs.js +57 -54
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/shared-dynamodb-scripts.js +16 -14
- package/src/utils/shared-dynamodb-scripts.js.map +1 -1
- package/src/utils/shared-infra-config.js +30 -31
- package/src/utils/shared-infra-config.js.map +1 -1
- package/src/utils/shared-infra-scripts.js +30 -25
- package/src/utils/shared-infra-scripts.js.map +1 -1
- package/src/utils/shared-rdb-scripts.d.ts +8 -3
- package/src/utils/shared-rdb-scripts.js +21 -13
- package/src/utils/shared-rdb-scripts.js.map +1 -1
- package/src/utils/shared-scripts.js +12 -17
- package/src/utils/shared-scripts.js.map +1 -1
- package/src/utils/shared-shadcn.js +64 -60
- package/src/utils/shared-shadcn.js.map +1 -1
- package/src/utils/test.d.ts +8 -0
- package/src/utils/test.js +33 -25
- package/src/utils/test.js.map +1 -1
- package/src/utils/toml.js +7 -15
- package/src/utils/toml.js.map +1 -1
- package/src/utils/versions.d.ts +31 -4
- package/src/utils/versions.js +40 -23
- package/src/utils/versions.js.map +1 -1
- package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
- package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +4 -4
- package/src/utils/website-constructs/website-constructs.js +31 -30
- package/src/utils/website-constructs/website-constructs.js.map +1 -1
- package/bin/aws-nx-mcp.js +0 -17
- package/bin/aws-nx-mcp.js.map +0 -1
- package/sdk/agentcore-gateway.d.ts +0 -6
- package/sdk/agentcore-gateway.js +0 -11
- package/sdk/agentcore-gateway.js.map +0 -1
- package/sdk/connection.d.ts +0 -6
- package/sdk/connection.js +0 -10
- package/sdk/connection.js.map +0 -1
- package/sdk/license.js +0 -14
- package/sdk/license.js.map +0 -1
- package/sdk/open-api.d.ts +0 -10
- package/sdk/open-api.js +0 -15
- package/sdk/open-api.js.map +0 -1
- package/sdk/py.d.ts +0 -14
- package/sdk/py.js +0 -18
- package/sdk/py.js.map +0 -1
- package/sdk/terraform.d.ts +0 -6
- package/sdk/terraform.js +0 -11
- package/sdk/terraform.js.map +0 -1
- package/sdk/ts.d.ts +0 -33
- package/sdk/ts.js +0 -53
- package/sdk/ts.js.map +0 -1
- package/sdk/utils/ast.js +0 -12
- package/sdk/utils/ast.js.map +0 -1
- package/sdk/utils/format.js +0 -10
- package/sdk/utils/format.js.map +0 -1
- package/sdk/utils/test.js +0 -10
- package/sdk/utils/test.js.map +0 -1
- package/src/connection/agent-serve-local.js +0 -48
- package/src/connection/agent-serve-local.js.map +0 -1
- package/src/connection/serve-local.js +0 -41
- package/src/connection/serve-local.js.map +0 -1
- package/src/py/agent/react-connection/serve-local.js +0 -38
- package/src/py/agent/react-connection/serve-local.js.map +0 -1
- package/src/ts/agent/react-connection/serve-local.js +0 -19
- package/src/ts/agent/react-connection/serve-local.js.map +0 -1
- package/src/utils/files/common/scripts/src/rdb/wait-for-db.ts.template +0 -59
- /package/src/agentcore-gateway/files/project/{serve-local.ts.template → local-dev.ts.template} +0 -0
- /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
|
@@ -1,58 +1,60 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tsAstroDocsGenerator = exports.TS_ASTRO_DOCS_GENERATOR_INFO = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
const tsAstroDocsGenerator = async (tree, schema) => {
|
|
4
|
+
*/ import { addDependenciesToPackageJson, addProjectConfiguration, generateFiles, installPackagesTask, joinPathFragments, OverwriteStrategy } from "@nx/devkit";
|
|
5
|
+
import { formatFilesInSubtree } from "../../utils/format.js";
|
|
6
|
+
import { addGeneratorMetricsIfApplicable } from "../../utils/metrics.js";
|
|
7
|
+
import { toKebabCase } from "../../utils/names.js";
|
|
8
|
+
import { getNpmScopePrefix } from "../../utils/npm-scope.js";
|
|
9
|
+
import { addGeneratorMetadata, getGeneratorInfo, projectExists } from "../../utils/nx.js";
|
|
10
|
+
import { getPackageManagerDisplayCommands } from "../../utils/pkg-manager.js";
|
|
11
|
+
import { withVersions } from "../../utils/versions.js";
|
|
12
|
+
export const TS_ASTRO_DOCS_GENERATOR_INFO = getGeneratorInfo(import.meta.filename);
|
|
13
|
+
export const tsAstroDocsGenerator = async (tree, schema)=>{
|
|
18
14
|
const includeTranslation = !(schema.noTranslation ?? false);
|
|
19
15
|
const includeBlog = !(schema.noBlog ?? false);
|
|
20
|
-
const npmScopePrefix =
|
|
21
|
-
const docsNameKebabCase =
|
|
16
|
+
const npmScopePrefix = getNpmScopePrefix(tree);
|
|
17
|
+
const docsNameKebabCase = toKebabCase(schema.name);
|
|
22
18
|
const fullyQualifiedName = `${npmScopePrefix}${docsNameKebabCase}`;
|
|
23
19
|
// NB: interactive nx generator cli can pass empty string
|
|
24
|
-
const dir =
|
|
25
|
-
const alreadyExists =
|
|
20
|
+
const dir = joinPathFragments(schema.directory || '.', schema.subDirectory || docsNameKebabCase);
|
|
21
|
+
const alreadyExists = projectExists(tree, fullyQualifiedName);
|
|
26
22
|
const targets = {
|
|
27
23
|
build: {
|
|
28
24
|
executor: 'nx:run-commands',
|
|
29
25
|
options: {
|
|
30
26
|
command: 'astro build',
|
|
31
|
-
cwd: dir
|
|
27
|
+
cwd: dir
|
|
32
28
|
},
|
|
33
|
-
outputs: [
|
|
34
|
-
|
|
29
|
+
outputs: [
|
|
30
|
+
`{workspaceRoot}/${dir}/dist`
|
|
31
|
+
],
|
|
32
|
+
cache: true
|
|
35
33
|
},
|
|
36
34
|
start: {
|
|
37
35
|
executor: 'nx:run-commands',
|
|
38
36
|
options: {
|
|
39
37
|
command: 'astro dev',
|
|
40
|
-
cwd: dir
|
|
38
|
+
cwd: dir
|
|
41
39
|
},
|
|
42
|
-
continuous: true
|
|
40
|
+
continuous: true
|
|
43
41
|
},
|
|
44
42
|
serve: {
|
|
45
|
-
dependsOn: [
|
|
43
|
+
dependsOn: [
|
|
44
|
+
'start'
|
|
45
|
+
]
|
|
46
46
|
},
|
|
47
47
|
preview: {
|
|
48
48
|
executor: 'nx:run-commands',
|
|
49
49
|
options: {
|
|
50
50
|
command: 'astro preview',
|
|
51
|
-
cwd: dir
|
|
51
|
+
cwd: dir
|
|
52
52
|
},
|
|
53
|
-
dependsOn: [
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
dependsOn: [
|
|
54
|
+
'build'
|
|
55
|
+
],
|
|
56
|
+
continuous: true
|
|
57
|
+
}
|
|
56
58
|
};
|
|
57
59
|
if (includeTranslation) {
|
|
58
60
|
targets['translate'] = {
|
|
@@ -60,17 +62,17 @@ const tsAstroDocsGenerator = async (tree, schema) => {
|
|
|
60
62
|
options: {
|
|
61
63
|
command: 'tsx ./scripts/translate.ts',
|
|
62
64
|
cwd: dir,
|
|
63
|
-
forwardAllArgs: true
|
|
64
|
-
}
|
|
65
|
+
forwardAllArgs: true
|
|
66
|
+
}
|
|
65
67
|
};
|
|
66
68
|
}
|
|
67
69
|
if (!alreadyExists) {
|
|
68
|
-
|
|
70
|
+
addProjectConfiguration(tree, fullyQualifiedName, {
|
|
69
71
|
name: fullyQualifiedName,
|
|
70
72
|
root: dir,
|
|
71
|
-
sourceRoot:
|
|
73
|
+
sourceRoot: joinPathFragments(dir, 'src'),
|
|
72
74
|
projectType: 'application',
|
|
73
|
-
targets
|
|
75
|
+
targets
|
|
74
76
|
});
|
|
75
77
|
}
|
|
76
78
|
const templateOptions = {
|
|
@@ -78,23 +80,30 @@ const tsAstroDocsGenerator = async (tree, schema) => {
|
|
|
78
80
|
title: schema.name,
|
|
79
81
|
includeTranslation,
|
|
80
82
|
includeBlog,
|
|
81
|
-
pkgMgrCmd:
|
|
82
|
-
today: new Date().toISOString().slice(0, 10)
|
|
83
|
+
pkgMgrCmd: getPackageManagerDisplayCommands().exec,
|
|
84
|
+
today: new Date().toISOString().slice(0, 10)
|
|
83
85
|
};
|
|
84
|
-
|
|
86
|
+
generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'base'), dir, templateOptions, {
|
|
87
|
+
overwriteStrategy: OverwriteStrategy.KeepExisting
|
|
88
|
+
});
|
|
85
89
|
// The sample blog post is always emitted above — drop it if the user opted out.
|
|
86
90
|
if (!includeBlog) {
|
|
87
|
-
tree.delete(
|
|
91
|
+
tree.delete(joinPathFragments(dir, 'src', 'content', 'docs', 'en', 'blog', 'welcome.mdx'));
|
|
88
92
|
}
|
|
89
93
|
if (includeTranslation) {
|
|
90
|
-
|
|
94
|
+
generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'translation'), dir, templateOptions, {
|
|
95
|
+
overwriteStrategy: OverwriteStrategy.KeepExisting
|
|
96
|
+
});
|
|
91
97
|
}
|
|
92
|
-
|
|
98
|
+
addGeneratorMetadata(tree, fullyQualifiedName, TS_ASTRO_DOCS_GENERATOR_INFO, {
|
|
93
99
|
framework: 'astro',
|
|
94
100
|
includeTranslation,
|
|
95
|
-
includeBlog
|
|
101
|
+
includeBlog
|
|
96
102
|
});
|
|
97
|
-
const dependencies = [
|
|
103
|
+
const dependencies = [
|
|
104
|
+
'astro',
|
|
105
|
+
'@astrojs/starlight'
|
|
106
|
+
];
|
|
98
107
|
const devDependencies = [];
|
|
99
108
|
if (includeBlog) {
|
|
100
109
|
dependencies.push('starlight-blog');
|
|
@@ -103,15 +112,17 @@ const tsAstroDocsGenerator = async (tree, schema) => {
|
|
|
103
112
|
dependencies.push('@strands-agents/sdk', 'commander', 'fast-glob', 'fs-extra', 'simple-git');
|
|
104
113
|
devDependencies.push('tsx', '@types/fs-extra');
|
|
105
114
|
}
|
|
106
|
-
|
|
107
|
-
await
|
|
108
|
-
|
|
109
|
-
|
|
115
|
+
addDependenciesToPackageJson(tree, withVersions(dependencies), withVersions(devDependencies));
|
|
116
|
+
await addGeneratorMetricsIfApplicable(tree, [
|
|
117
|
+
TS_ASTRO_DOCS_GENERATOR_INFO
|
|
118
|
+
]);
|
|
119
|
+
await formatFilesInSubtree(tree);
|
|
120
|
+
return ()=>{
|
|
110
121
|
if (!schema.skipInstall) {
|
|
111
|
-
|
|
122
|
+
installPackagesTask(tree);
|
|
112
123
|
}
|
|
113
124
|
};
|
|
114
125
|
};
|
|
115
|
-
|
|
116
|
-
|
|
126
|
+
export default tsAstroDocsGenerator;
|
|
127
|
+
|
|
117
128
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/astro-docs/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n addDependenciesToPackageJson,\n addProjectConfiguration,\n type GeneratorCallback,\n generateFiles,\n installPackagesTask,\n joinPathFragments,\n OverwriteStrategy,\n type ProjectConfiguration,\n type Tree,\n} from '@nx/devkit';\nimport { formatFilesInSubtree } from '../../utils/format';\nimport { addGeneratorMetricsIfApplicable } from '../../utils/metrics';\nimport { toKebabCase } from '../../utils/names';\nimport { getNpmScopePrefix } from '../../utils/npm-scope';\nimport {\n addGeneratorMetadata,\n getGeneratorInfo,\n type NxGeneratorInfo,\n projectExists,\n} from '../../utils/nx';\nimport { getPackageManagerDisplayCommands } from '../../utils/pkg-manager';\nimport { type ITsDepVersion, withVersions } from '../../utils/versions';\nimport type { TsAstroDocsGeneratorSchema } from './schema';\n\nexport const TS_ASTRO_DOCS_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport const tsAstroDocsGenerator = async (\n tree: Tree,\n schema: TsAstroDocsGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const includeTranslation = !(schema.noTranslation ?? false);\n const includeBlog = !(schema.noBlog ?? false);\n const npmScopePrefix = getNpmScopePrefix(tree);\n const docsNameKebabCase = toKebabCase(schema.name);\n const fullyQualifiedName = `${npmScopePrefix}${docsNameKebabCase}`;\n // NB: interactive nx generator cli can pass empty string\n const dir = joinPathFragments(\n schema.directory || '.',\n schema.subDirectory || docsNameKebabCase,\n );\n\n const alreadyExists = projectExists(tree, fullyQualifiedName);\n\n const targets: ProjectConfiguration['targets'] = {\n build: {\n executor: 'nx:run-commands',\n options: {\n command: 'astro build',\n cwd: dir,\n },\n outputs: [`{workspaceRoot}/${dir}/dist`],\n cache: true,\n },\n start: {\n executor: 'nx:run-commands',\n options: {\n command: 'astro dev',\n cwd: dir,\n },\n continuous: true,\n },\n serve: {\n dependsOn: ['start'],\n },\n preview: {\n executor: 'nx:run-commands',\n options: {\n command: 'astro preview',\n cwd: dir,\n },\n dependsOn: ['build'],\n continuous: true,\n },\n };\n\n if (includeTranslation) {\n targets['translate'] = {\n executor: 'nx:run-commands',\n options: {\n command: 'tsx ./scripts/translate.ts',\n cwd: dir,\n forwardAllArgs: true,\n },\n };\n }\n\n if (!alreadyExists) {\n addProjectConfiguration(tree, fullyQualifiedName, {\n name: fullyQualifiedName,\n root: dir,\n sourceRoot: joinPathFragments(dir, 'src'),\n projectType: 'application',\n targets,\n });\n }\n\n const templateOptions = {\n fullyQualifiedName,\n title: schema.name,\n includeTranslation,\n includeBlog,\n pkgMgrCmd: getPackageManagerDisplayCommands().exec,\n today: new Date().toISOString().slice(0, 10),\n };\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'base'),\n dir,\n templateOptions,\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // The sample blog post is always emitted above — drop it if the user opted out.\n if (!includeBlog) {\n tree.delete(\n joinPathFragments(\n dir,\n 'src',\n 'content',\n 'docs',\n 'en',\n 'blog',\n 'welcome.mdx',\n ),\n );\n }\n\n if (includeTranslation) {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'translation'),\n dir,\n templateOptions,\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n }\n\n addGeneratorMetadata(tree, fullyQualifiedName, TS_ASTRO_DOCS_GENERATOR_INFO, {\n framework: 'astro',\n includeTranslation,\n includeBlog,\n });\n\n const dependencies: ITsDepVersion[] = ['astro', '@astrojs/starlight'];\n const devDependencies: ITsDepVersion[] = [];\n\n if (includeBlog) {\n dependencies.push('starlight-blog');\n }\n\n if (includeTranslation) {\n dependencies.push(\n '@strands-agents/sdk',\n 'commander',\n 'fast-glob',\n 'fs-extra',\n 'simple-git',\n );\n devDependencies.push('tsx', '@types/fs-extra');\n }\n\n addDependenciesToPackageJson(\n tree,\n withVersions(dependencies),\n withVersions(devDependencies),\n );\n\n await addGeneratorMetricsIfApplicable(tree, [TS_ASTRO_DOCS_GENERATOR_INFO]);\n\n await formatFilesInSubtree(tree);\n return () => {\n if (!schema.skipInstall) {\n installPackagesTask(tree);\n }\n };\n};\n\nexport default tsAstroDocsGenerator;\n"],"names":["addDependenciesToPackageJson","addProjectConfiguration","generateFiles","installPackagesTask","joinPathFragments","OverwriteStrategy","formatFilesInSubtree","addGeneratorMetricsIfApplicable","toKebabCase","getNpmScopePrefix","addGeneratorMetadata","getGeneratorInfo","projectExists","getPackageManagerDisplayCommands","withVersions","TS_ASTRO_DOCS_GENERATOR_INFO","filename","tsAstroDocsGenerator","tree","schema","includeTranslation","noTranslation","includeBlog","noBlog","npmScopePrefix","docsNameKebabCase","name","fullyQualifiedName","dir","directory","subDirectory","alreadyExists","targets","build","executor","options","command","cwd","outputs","cache","start","continuous","serve","dependsOn","preview","forwardAllArgs","root","sourceRoot","projectType","templateOptions","title","pkgMgrCmd","exec","today","Date","toISOString","slice","dirname","overwriteStrategy","KeepExisting","delete","framework","dependencies","devDependencies","push","skipInstall"],"mappings":"AAAA;;;CAGC,GACD,SACEA,4BAA4B,EAC5BC,uBAAuB,EAEvBC,aAAa,EACbC,mBAAmB,EACnBC,iBAAiB,EACjBC,iBAAiB,QAGZ,aAAa;AACpB,SAASC,oBAAoB,QAAQ,wBAAqB;AAC1D,SAASC,+BAA+B,QAAQ,yBAAsB;AACtE,SAASC,WAAW,QAAQ,uBAAoB;AAChD,SAASC,iBAAiB,QAAQ,2BAAwB;AAC1D,SACEC,oBAAoB,EACpBC,gBAAgB,EAEhBC,aAAa,QACR,oBAAiB;AACxB,SAASC,gCAAgC,QAAQ,6BAA0B;AAC3E,SAA6BC,YAAY,QAAQ,0BAAuB;AAGxE,OAAO,MAAMC,+BAAgDJ,iBAC3D,YAAYK,QAAQ,EACpB;AAEF,OAAO,MAAMC,uBAAuB,OAClCC,MACAC;IAEA,MAAMC,qBAAqB,CAAED,CAAAA,OAAOE,aAAa,IAAI,KAAI;IACzD,MAAMC,cAAc,CAAEH,CAAAA,OAAOI,MAAM,IAAI,KAAI;IAC3C,MAAMC,iBAAiBf,kBAAkBS;IACzC,MAAMO,oBAAoBjB,YAAYW,OAAOO,IAAI;IACjD,MAAMC,qBAAqB,GAAGH,iBAAiBC,mBAAmB;IAClE,yDAAyD;IACzD,MAAMG,MAAMxB,kBACVe,OAAOU,SAAS,IAAI,KACpBV,OAAOW,YAAY,IAAIL;IAGzB,MAAMM,gBAAgBnB,cAAcM,MAAMS;IAE1C,MAAMK,UAA2C;QAC/CC,OAAO;YACLC,UAAU;YACVC,SAAS;gBACPC,SAAS;gBACTC,KAAKT;YACP;YACAU,SAAS;gBAAC,CAAC,gBAAgB,EAAEV,IAAI,KAAK,CAAC;aAAC;YACxCW,OAAO;QACT;QACAC,OAAO;YACLN,UAAU;YACVC,SAAS;gBACPC,SAAS;gBACTC,KAAKT;YACP;YACAa,YAAY;QACd;QACAC,OAAO;YACLC,WAAW;gBAAC;aAAQ;QACtB;QACAC,SAAS;YACPV,UAAU;YACVC,SAAS;gBACPC,SAAS;gBACTC,KAAKT;YACP;YACAe,WAAW;gBAAC;aAAQ;YACpBF,YAAY;QACd;IACF;IAEA,IAAIrB,oBAAoB;QACtBY,OAAO,CAAC,YAAY,GAAG;YACrBE,UAAU;YACVC,SAAS;gBACPC,SAAS;gBACTC,KAAKT;gBACLiB,gBAAgB;YAClB;QACF;IACF;IAEA,IAAI,CAACd,eAAe;QAClB9B,wBAAwBiB,MAAMS,oBAAoB;YAChDD,MAAMC;YACNmB,MAAMlB;YACNmB,YAAY3C,kBAAkBwB,KAAK;YACnCoB,aAAa;YACbhB;QACF;IACF;IAEA,MAAMiB,kBAAkB;QACtBtB;QACAuB,OAAO/B,OAAOO,IAAI;QAClBN;QACAE;QACA6B,WAAWtC,mCAAmCuC,IAAI;QAClDC,OAAO,IAAIC,OAAOC,WAAW,GAAGC,KAAK,CAAC,GAAG;IAC3C;IAEAtD,cACEgB,MACAd,kBAAkB,YAAYqD,OAAO,EAAE,SAAS,SAChD7B,KACAqB,iBACA;QAAES,mBAAmBrD,kBAAkBsD,YAAY;IAAC;IAGtD,gFAAgF;IAChF,IAAI,CAACrC,aAAa;QAChBJ,KAAK0C,MAAM,CACTxD,kBACEwB,KACA,OACA,WACA,QACA,MACA,QACA;IAGN;IAEA,IAAIR,oBAAoB;QACtBlB,cACEgB,MACAd,kBAAkB,YAAYqD,OAAO,EAAE,SAAS,gBAChD7B,KACAqB,iBACA;YAAES,mBAAmBrD,kBAAkBsD,YAAY;QAAC;IAExD;IAEAjD,qBAAqBQ,MAAMS,oBAAoBZ,8BAA8B;QAC3E8C,WAAW;QACXzC;QACAE;IACF;IAEA,MAAMwC,eAAgC;QAAC;QAAS;KAAqB;IACrE,MAAMC,kBAAmC,EAAE;IAE3C,IAAIzC,aAAa;QACfwC,aAAaE,IAAI,CAAC;IACpB;IAEA,IAAI5C,oBAAoB;QACtB0C,aAAaE,IAAI,CACf,uBACA,aACA,aACA,YACA;QAEFD,gBAAgBC,IAAI,CAAC,OAAO;IAC9B;IAEAhE,6BACEkB,MACAJ,aAAagD,eACbhD,aAAaiD;IAGf,MAAMxD,gCAAgCW,MAAM;QAACH;KAA6B;IAE1E,MAAMT,qBAAqBY;IAC3B,OAAO;QACL,IAAI,CAACC,OAAO8C,WAAW,EAAE;YACvB9D,oBAAoBe;QACtB;IACF;AACF,EAAE;AAEF,eAAeD,qBAAqB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/astro-docs/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nexport interface TsAstroDocsGeneratorSchema {\n /**\n * The name of the docs project. Defaults to 'docs'.\n */\n name: string;\n /**\n * The parent directory the docs project is placed in. Defaults to '.' (workspace root).\n */\n directory?: string;\n /**\n * The sub directory the docs project is placed in. Defaults to the kebab-case project name.\n */\n subDirectory?: string;\n /**\n * Opt out of the automated documentation translation pipeline.\n */\n noTranslation?: boolean;\n /**\n * Opt out of the starlight-blog plugin and sample blog post.\n */\n noBlog?: boolean;\n /**\n * Skip installing dependencies after the generator runs.\n */\n skipInstall?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GACD,WAyBC"}
|
package/src/ts/docs/generator.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const tsDocsGenerator = async (tree, schema)
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/ import { getGeneratorInfo } from "../../utils/nx.js";
|
|
5
|
+
import { tsAstroDocsGenerator } from "../astro-docs/generator.js";
|
|
6
|
+
export const TS_DOCS_GENERATOR_INFO = getGeneratorInfo(import.meta.filename);
|
|
7
|
+
export const tsDocsGenerator = async (tree, schema)=>{
|
|
8
8
|
const { framework: _framework, ...rest } = schema;
|
|
9
|
-
return
|
|
9
|
+
return tsAstroDocsGenerator(tree, rest);
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
export default tsDocsGenerator;
|
|
12
|
+
|
|
13
13
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/docs/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { GeneratorCallback, Tree } from '@nx/devkit';\nimport { getGeneratorInfo, type NxGeneratorInfo } from '../../utils/nx';\nimport { tsAstroDocsGenerator } from '../astro-docs/generator';\nimport type { TsDocsGeneratorSchema } from './schema';\n\nexport const TS_DOCS_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport const tsDocsGenerator = async (\n tree: Tree,\n schema: TsDocsGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const { framework: _framework, ...rest } = schema;\n return tsAstroDocsGenerator(tree, rest);\n};\n\nexport default tsDocsGenerator;\n"],"names":["getGeneratorInfo","tsAstroDocsGenerator","TS_DOCS_GENERATOR_INFO","filename","tsDocsGenerator","tree","schema","framework","_framework","rest"],"mappings":"AAAA;;;CAGC,GAED,SAASA,gBAAgB,QAA8B,oBAAiB;AACxE,SAASC,oBAAoB,QAAQ,6BAA0B;AAG/D,OAAO,MAAMC,yBAA0CF,iBACrD,YAAYG,QAAQ,EACpB;AAEF,OAAO,MAAMC,kBAAkB,OAC7BC,MACAC;IAEA,MAAM,EAAEC,WAAWC,UAAU,EAAE,GAAGC,MAAM,GAAGH;IAC3C,OAAOL,qBAAqBI,MAAMI;AACpC,EAAE;AAEF,eAAeL,gBAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/docs/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nexport interface TsDocsGeneratorSchema {\n /**\n * The name of the docs project. Defaults to 'docs'.\n */\n name: string;\n /**\n * The parent directory the docs project is placed in. Defaults to '.' (workspace root).\n */\n directory?: string;\n /**\n * The sub directory the docs project is placed in. Defaults to the kebab-case project name.\n */\n subDirectory?: string;\n /**\n * The documentation framework to use. Defaults to 'astro'.\n */\n framework?: 'astro';\n /**\n * Opt out of the automated documentation translation pipeline.\n */\n noTranslation?: boolean;\n /**\n * Opt out of the starlight-blog plugin and sample blog post.\n */\n noBlog?: boolean;\n /**\n * Skip installing dependencies after the generator runs.\n */\n skipInstall?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GACD,WA6BC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
exports[`ts#dynamodb generator > should generate scripts for finch engine 1`] = `
|
|
4
4
|
"{
|
|
5
5
|
"runtimeConfigKey": "MyTable",
|
|
6
|
-
"
|
|
6
|
+
"localDev": {
|
|
7
7
|
"port": 8000,
|
|
8
8
|
"tableName": "proj-my-table",
|
|
9
9
|
"image": "public.ecr.aws/aws-dynamodb-local/aws-dynamodb-local:latest",
|
|
@@ -35,7 +35,7 @@ exports[`ts#dynamodb generator > should generate terraform modules when iac is t
|
|
|
35
35
|
required_providers {
|
|
36
36
|
aws = {
|
|
37
37
|
source = "hashicorp/aws"
|
|
38
|
-
version = "
|
|
38
|
+
version = "6.52.0"
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -192,7 +192,11 @@ exports[`ts#dynamodb generator > should generate terraform modules when iac is t
|
|
|
192
192
|
required_providers {
|
|
193
193
|
aws = {
|
|
194
194
|
source = "hashicorp/aws"
|
|
195
|
-
version = "
|
|
195
|
+
version = "6.52.0"
|
|
196
|
+
}
|
|
197
|
+
random = {
|
|
198
|
+
source = "hashicorp/random"
|
|
199
|
+
version = "3.9.0"
|
|
196
200
|
}
|
|
197
201
|
}
|
|
198
202
|
}
|
|
@@ -221,6 +225,12 @@ variable "enable_key_rotation" {
|
|
|
221
225
|
default = true
|
|
222
226
|
}
|
|
223
227
|
|
|
228
|
+
resource "random_string" "suffix" {
|
|
229
|
+
length = 8
|
|
230
|
+
special = false
|
|
231
|
+
upper = false
|
|
232
|
+
}
|
|
233
|
+
|
|
224
234
|
locals {
|
|
225
235
|
dynamodb_config = jsondecode(file("\${path.module}/../../../../../../../packages/my-table/config.json"))
|
|
226
236
|
global_secondary_indexes = [for gsi in local.dynamodb_config.tableConfig.globalSecondaryIndexes : {
|
|
@@ -233,7 +243,7 @@ locals {
|
|
|
233
243
|
|
|
234
244
|
module "dynamodb_table" {
|
|
235
245
|
source = "../../../core/dynamodb"
|
|
236
|
-
name = "proj-my-table"
|
|
246
|
+
name = "proj-my-table-\${random_string.suffix.result}"
|
|
237
247
|
billing_mode = var.billing_mode
|
|
238
248
|
point_in_time_recovery_enabled = var.point_in_time_recovery_enabled
|
|
239
249
|
deletion_protection_enabled = var.deletion_protection_enabled
|
|
@@ -271,10 +281,10 @@ exports[`ts#dynamodb generator > should generate the dynamodb project > packages
|
|
|
271
281
|
import { readFileSync } from 'fs';
|
|
272
282
|
|
|
273
283
|
const {
|
|
274
|
-
|
|
284
|
+
localDev: { port, tableName },
|
|
275
285
|
tableConfig: { globalSecondaryIndexes },
|
|
276
286
|
} = JSON.parse(readFileSync('config.json', 'utf-8')) as {
|
|
277
|
-
|
|
287
|
+
localDev: { port: number; tableName: string };
|
|
278
288
|
tableConfig: {
|
|
279
289
|
globalSecondaryIndexes: {
|
|
280
290
|
indexName: string;
|
|
@@ -462,7 +472,7 @@ import { readFileSync } from 'fs';
|
|
|
462
472
|
|
|
463
473
|
const { containerEngine, image } = JSON.parse(
|
|
464
474
|
readFileSync('config.json', 'utf-8'),
|
|
465
|
-
).
|
|
475
|
+
).localDev;
|
|
466
476
|
|
|
467
477
|
const inspect = spawnSync(containerEngine, ['image', 'inspect', image], {
|
|
468
478
|
stdio: 'ignore',
|
|
@@ -484,7 +494,7 @@ import { readFileSync } from 'fs';
|
|
|
484
494
|
|
|
485
495
|
const { containerEngine, containerName, image, port } = JSON.parse(
|
|
486
496
|
readFileSync('config.json', 'utf-8'),
|
|
487
|
-
).
|
|
497
|
+
).localDev;
|
|
488
498
|
|
|
489
499
|
const containerExists = (): boolean =>
|
|
490
500
|
spawnSync(containerEngine, ['container', 'inspect', containerName], {
|
|
@@ -500,12 +510,27 @@ const isRunning = (): boolean => {
|
|
|
500
510
|
return result.status === 0 && result.stdout.trim() === 'true';
|
|
501
511
|
};
|
|
502
512
|
|
|
503
|
-
//
|
|
513
|
+
// Ensure the image is available locally before starting the container.
|
|
514
|
+
const ensureImage = (): void => {
|
|
515
|
+
const inspect = spawnSync(containerEngine, ['image', 'inspect', image], {
|
|
516
|
+
stdio: 'ignore',
|
|
517
|
+
});
|
|
518
|
+
if (inspect.status !== 0) {
|
|
519
|
+
const pull = spawnSync(containerEngine, ['pull', image], {
|
|
520
|
+
stdio: 'inherit',
|
|
521
|
+
});
|
|
522
|
+
if (pull.status !== 0) process.exit(pull.status ?? 1);
|
|
523
|
+
}
|
|
524
|
+
};
|
|
525
|
+
|
|
526
|
+
// Multiple dynamo table packages run dev in parallel sharing the same
|
|
504
527
|
// container. All processes stream logs, but only the one that created the
|
|
505
528
|
// container stops it on exit — others just detach.
|
|
506
529
|
let created = false;
|
|
507
530
|
let runRetries = 0;
|
|
508
531
|
|
|
532
|
+
ensureImage();
|
|
533
|
+
|
|
509
534
|
for (;;) {
|
|
510
535
|
if (containerExists()) {
|
|
511
536
|
if (!isRunning()) {
|
|
@@ -596,17 +621,16 @@ import { fileURLToPath } from 'url';
|
|
|
596
621
|
const runtimeConfigKey = 'MyTable';
|
|
597
622
|
|
|
598
623
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
599
|
-
// config.json is only present in local dev (not included in the deployed bundle); guard with
|
|
600
|
-
const
|
|
601
|
-
JSON.parse(readFileSync(join(__dirname, '../config.json'), 'utf-8'))
|
|
602
|
-
.serveLocal;
|
|
624
|
+
// config.json is only present in local dev (not included in the deployed bundle); guard with LOCAL_DEV check
|
|
625
|
+
const localDev = () =>
|
|
626
|
+
JSON.parse(readFileSync(join(__dirname, '../config.json'), 'utf-8')).localDev;
|
|
603
627
|
|
|
604
628
|
let _client: DynamoDBClient | undefined;
|
|
605
629
|
|
|
606
630
|
export const getDynamoDBClient = (): DynamoDBClient => {
|
|
607
631
|
if (!_client) {
|
|
608
|
-
if (process.env.
|
|
609
|
-
const { port } =
|
|
632
|
+
if (process.env.LOCAL_DEV === 'true') {
|
|
633
|
+
const { port } = localDev();
|
|
610
634
|
_client = new DynamoDBClient({
|
|
611
635
|
endpoint: \`http://localhost:\${port}\`,
|
|
612
636
|
region: 'us-east-1',
|
|
@@ -626,8 +650,8 @@ type DynamoDBConfig = {
|
|
|
626
650
|
let _tableName: string | undefined;
|
|
627
651
|
|
|
628
652
|
export const resolveTableName = async (): Promise<string> => {
|
|
629
|
-
if (process.env.
|
|
630
|
-
const { tableName } =
|
|
653
|
+
if (process.env.LOCAL_DEV === 'true') {
|
|
654
|
+
const { tableName } = localDev();
|
|
631
655
|
return tableName;
|
|
632
656
|
}
|
|
633
657
|
if (_tableName === undefined) {
|
|
@@ -907,10 +931,10 @@ exports[`ts#dynamodb generator > should generate with infra=none then upgrade to
|
|
|
907
931
|
import { readFileSync } from 'fs';
|
|
908
932
|
|
|
909
933
|
const {
|
|
910
|
-
|
|
934
|
+
localDev: { port, tableName },
|
|
911
935
|
tableConfig: { globalSecondaryIndexes },
|
|
912
936
|
} = JSON.parse(readFileSync('config.json', 'utf-8')) as {
|
|
913
|
-
|
|
937
|
+
localDev: { port: number; tableName: string };
|
|
914
938
|
tableConfig: {
|
|
915
939
|
globalSecondaryIndexes: {
|
|
916
940
|
indexName: string;
|
|
@@ -1098,7 +1122,7 @@ import { readFileSync } from 'fs';
|
|
|
1098
1122
|
|
|
1099
1123
|
const { containerEngine, image } = JSON.parse(
|
|
1100
1124
|
readFileSync('config.json', 'utf-8'),
|
|
1101
|
-
).
|
|
1125
|
+
).localDev;
|
|
1102
1126
|
|
|
1103
1127
|
const inspect = spawnSync(containerEngine, ['image', 'inspect', image], {
|
|
1104
1128
|
stdio: 'ignore',
|
|
@@ -1120,7 +1144,7 @@ import { readFileSync } from 'fs';
|
|
|
1120
1144
|
|
|
1121
1145
|
const { containerEngine, containerName, image, port } = JSON.parse(
|
|
1122
1146
|
readFileSync('config.json', 'utf-8'),
|
|
1123
|
-
).
|
|
1147
|
+
).localDev;
|
|
1124
1148
|
|
|
1125
1149
|
const containerExists = (): boolean =>
|
|
1126
1150
|
spawnSync(containerEngine, ['container', 'inspect', containerName], {
|
|
@@ -1136,12 +1160,27 @@ const isRunning = (): boolean => {
|
|
|
1136
1160
|
return result.status === 0 && result.stdout.trim() === 'true';
|
|
1137
1161
|
};
|
|
1138
1162
|
|
|
1139
|
-
//
|
|
1163
|
+
// Ensure the image is available locally before starting the container.
|
|
1164
|
+
const ensureImage = (): void => {
|
|
1165
|
+
const inspect = spawnSync(containerEngine, ['image', 'inspect', image], {
|
|
1166
|
+
stdio: 'ignore',
|
|
1167
|
+
});
|
|
1168
|
+
if (inspect.status !== 0) {
|
|
1169
|
+
const pull = spawnSync(containerEngine, ['pull', image], {
|
|
1170
|
+
stdio: 'inherit',
|
|
1171
|
+
});
|
|
1172
|
+
if (pull.status !== 0) process.exit(pull.status ?? 1);
|
|
1173
|
+
}
|
|
1174
|
+
};
|
|
1175
|
+
|
|
1176
|
+
// Multiple dynamo table packages run dev in parallel sharing the same
|
|
1140
1177
|
// container. All processes stream logs, but only the one that created the
|
|
1141
1178
|
// container stops it on exit — others just detach.
|
|
1142
1179
|
let created = false;
|
|
1143
1180
|
let runRetries = 0;
|
|
1144
1181
|
|
|
1182
|
+
ensureImage();
|
|
1183
|
+
|
|
1145
1184
|
for (;;) {
|
|
1146
1185
|
if (containerExists()) {
|
|
1147
1186
|
if (!isRunning()) {
|
|
@@ -1232,17 +1271,16 @@ import { fileURLToPath } from 'url';
|
|
|
1232
1271
|
const runtimeConfigKey = 'MyTable';
|
|
1233
1272
|
|
|
1234
1273
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
1235
|
-
// config.json is only present in local dev (not included in the deployed bundle); guard with
|
|
1236
|
-
const
|
|
1237
|
-
JSON.parse(readFileSync(join(__dirname, '../config.json'), 'utf-8'))
|
|
1238
|
-
.serveLocal;
|
|
1274
|
+
// config.json is only present in local dev (not included in the deployed bundle); guard with LOCAL_DEV check
|
|
1275
|
+
const localDev = () =>
|
|
1276
|
+
JSON.parse(readFileSync(join(__dirname, '../config.json'), 'utf-8')).localDev;
|
|
1239
1277
|
|
|
1240
1278
|
let _client: DynamoDBClient | undefined;
|
|
1241
1279
|
|
|
1242
1280
|
export const getDynamoDBClient = (): DynamoDBClient => {
|
|
1243
1281
|
if (!_client) {
|
|
1244
|
-
if (process.env.
|
|
1245
|
-
const { port } =
|
|
1282
|
+
if (process.env.LOCAL_DEV === 'true') {
|
|
1283
|
+
const { port } = localDev();
|
|
1246
1284
|
_client = new DynamoDBClient({
|
|
1247
1285
|
endpoint: \`http://localhost:\${port}\`,
|
|
1248
1286
|
region: 'us-east-1',
|
|
@@ -1262,8 +1300,8 @@ type DynamoDBConfig = {
|
|
|
1262
1300
|
let _tableName: string | undefined;
|
|
1263
1301
|
|
|
1264
1302
|
export const resolveTableName = async (): Promise<string> => {
|
|
1265
|
-
if (process.env.
|
|
1266
|
-
const { tableName } =
|
|
1303
|
+
if (process.env.LOCAL_DEV === 'true') {
|
|
1304
|
+
const { tableName } = localDev();
|
|
1267
1305
|
return tableName;
|
|
1268
1306
|
}
|
|
1269
1307
|
if (_tableName === undefined) {
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
-
exports[`ts#dynamodb agent-connection generator > should add dynamodb
|
|
3
|
+
exports[`ts#dynamodb agent-connection generator > should add dynamodb dev dependency to agent dev 1`] = `
|
|
4
4
|
{
|
|
5
5
|
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
6
6
|
"name": "my-agent",
|
|
7
7
|
"root": "packages/my-agent",
|
|
8
8
|
"targets": {
|
|
9
|
-
"agent-
|
|
9
|
+
"agent-dev": {
|
|
10
10
|
"continuous": true,
|
|
11
11
|
"dependsOn": [
|
|
12
12
|
{
|
|
13
13
|
"projects": [
|
|
14
14
|
"db",
|
|
15
15
|
],
|
|
16
|
-
"target": "
|
|
16
|
+
"target": "dev",
|
|
17
17
|
},
|
|
18
18
|
],
|
|
19
19
|
"executor": "nx:run-commands",
|
|
@@ -28,14 +28,14 @@ exports[`ts#dynamodb agent-connection generator > should use sourceComponent nam
|
|
|
28
28
|
"name": "my-agent",
|
|
29
29
|
"root": "packages/my-agent",
|
|
30
30
|
"targets": {
|
|
31
|
-
"custom-agent-
|
|
31
|
+
"custom-agent-dev": {
|
|
32
32
|
"continuous": true,
|
|
33
33
|
"dependsOn": [
|
|
34
34
|
{
|
|
35
35
|
"projects": [
|
|
36
36
|
"db",
|
|
37
37
|
],
|
|
38
|
-
"target": "
|
|
38
|
+
"target": "dev",
|
|
39
39
|
},
|
|
40
40
|
],
|
|
41
41
|
"executor": "nx:run-commands",
|
|
@@ -1,32 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tsDynamoDBAgentConnectionGenerator = exports.TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const targetProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.targetProject);
|
|
4
|
+
*/ import { updateProjectConfiguration } from "@nx/devkit";
|
|
5
|
+
import { formatFilesInSubtree } from "../../../utils/format.js";
|
|
6
|
+
import { addGeneratorMetricsIfApplicable } from "../../../utils/metrics.js";
|
|
7
|
+
import { addDependencyToTargetIfNotPresent, getGeneratorInfo, readProjectConfigurationUnqualified } from "../../../utils/nx.js";
|
|
8
|
+
export const TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO = getGeneratorInfo(import.meta.filename);
|
|
9
|
+
export const tsDynamoDBAgentConnectionGenerator = async (tree, options)=>{
|
|
10
|
+
const sourceProject = readProjectConfigurationUnqualified(tree, options.sourceProject);
|
|
11
|
+
const targetProject = readProjectConfigurationUnqualified(tree, options.targetProject);
|
|
16
12
|
const agentName = options.sourceComponent?.name ?? 'agent';
|
|
17
|
-
const
|
|
18
|
-
if (sourceProject.targets?.[
|
|
19
|
-
|
|
20
|
-
projects: [
|
|
21
|
-
|
|
13
|
+
const devTarget = `${agentName}-dev`;
|
|
14
|
+
if (sourceProject.targets?.[devTarget]) {
|
|
15
|
+
addDependencyToTargetIfNotPresent(sourceProject, devTarget, {
|
|
16
|
+
projects: [
|
|
17
|
+
targetProject.name
|
|
18
|
+
],
|
|
19
|
+
target: 'dev'
|
|
22
20
|
});
|
|
23
|
-
|
|
21
|
+
updateProjectConfiguration(tree, sourceProject.name, sourceProject);
|
|
24
22
|
}
|
|
25
|
-
await
|
|
26
|
-
|
|
23
|
+
await addGeneratorMetricsIfApplicable(tree, [
|
|
24
|
+
TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO
|
|
27
25
|
]);
|
|
28
|
-
await
|
|
26
|
+
await formatFilesInSubtree(tree);
|
|
29
27
|
};
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
export default tsDynamoDBAgentConnectionGenerator;
|
|
29
|
+
|
|
32
30
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/dynamodb/agent-connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { type Tree, updateProjectConfiguration } from '@nx/devkit';\nimport { formatFilesInSubtree } from '../../../utils/format';\nimport { addGeneratorMetricsIfApplicable } from '../../../utils/metrics';\nimport {\n addDependencyToTargetIfNotPresent,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../../utils/nx';\nimport type { TsDynamoDBAgentConnectionGeneratorSchema } from './schema';\n\nexport const TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const tsDynamoDBAgentConnectionGenerator = async (\n tree: Tree,\n options: TsDynamoDBAgentConnectionGeneratorSchema,\n): Promise<void> => {\n const sourceProject = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const targetProject = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n const agentName = options.sourceComponent?.name ?? 'agent';\n const devTarget = `${agentName}-dev`;\n\n if (sourceProject.targets?.[devTarget]) {\n addDependencyToTargetIfNotPresent(sourceProject, devTarget, {\n projects: [targetProject.name],\n target: 'dev',\n });\n updateProjectConfiguration(tree, sourceProject.name, sourceProject);\n }\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO,\n ]);\n await formatFilesInSubtree(tree);\n};\n\nexport default tsDynamoDBAgentConnectionGenerator;\n"],"names":["updateProjectConfiguration","formatFilesInSubtree","addGeneratorMetricsIfApplicable","addDependencyToTargetIfNotPresent","getGeneratorInfo","readProjectConfigurationUnqualified","TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO","filename","tsDynamoDBAgentConnectionGenerator","tree","options","sourceProject","targetProject","agentName","sourceComponent","name","devTarget","targets","projects","target"],"mappings":"AAAA;;;CAGC,GACD,SAAoBA,0BAA0B,QAAQ,aAAa;AACnE,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,+BAA+B,QAAQ,4BAAyB;AACzE,SACEC,iCAAiC,EACjCC,gBAAgB,EAEhBC,mCAAmC,QAC9B,uBAAoB;AAG3B,OAAO,MAAMC,8CACXF,iBAAiB,YAAYG,QAAQ,EAAE;AAEzC,OAAO,MAAMC,qCAAqC,OAChDC,MACAC;IAEA,MAAMC,gBAAgBN,oCACpBI,MACAC,QAAQC,aAAa;IAEvB,MAAMC,gBAAgBP,oCACpBI,MACAC,QAAQE,aAAa;IAGvB,MAAMC,YAAYH,QAAQI,eAAe,EAAEC,QAAQ;IACnD,MAAMC,YAAY,GAAGH,UAAU,IAAI,CAAC;IAEpC,IAAIF,cAAcM,OAAO,EAAE,CAACD,UAAU,EAAE;QACtCb,kCAAkCQ,eAAeK,WAAW;YAC1DE,UAAU;gBAACN,cAAcG,IAAI;aAAC;YAC9BI,QAAQ;QACV;QACAnB,2BAA2BS,MAAME,cAAcI,IAAI,EAAEJ;IACvD;IAEA,MAAMT,gCAAgCO,MAAM;QAC1CH;KACD;IACD,MAAML,qBAAqBQ;AAC7B,EAAE;AAEF,eAAeD,mCAAmC"}
|