@aws/nx-plugin 1.0.0-rc.3 → 1.0.0-rc.30
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 +7246 -5532
- package/README.md +8 -8
- package/executors.json +9 -0
- package/generators.json +100 -1
- package/package.json +35 -16
- package/src/agentcore-gateway/attach-upstream.d.ts +33 -0
- package/src/agentcore-gateway/attach-upstream.js +38 -0
- package/src/agentcore-gateway/attach-upstream.js.map +1 -0
- package/src/agentcore-gateway/files/cedar/policies/README.md +52 -0
- package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +11 -0
- package/src/agentcore-gateway/files/project/local-dev.ts.template +134 -0
- package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
- package/src/agentcore-gateway/gateway-connection/generator.js +101 -0
- package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
- 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/gateway-connection/schema.d.ts +13 -0
- package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
- package/src/agentcore-gateway/generator.d.ts +25 -0
- package/src/agentcore-gateway/generator.js +149 -0
- package/src/agentcore-gateway/generator.js.map +1 -0
- package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
- package/src/agentcore-gateway/mcp-connection/generator.js +59 -0
- package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
- 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/mcp-connection/schema.d.ts +13 -0
- package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
- package/src/agentcore-gateway/schema.d.js +6 -0
- package/src/agentcore-gateway/schema.d.js.map +1 -0
- package/src/agentcore-gateway/schema.d.ts +17 -0
- package/src/agentcore-gateway/schema.json +70 -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} +7 -7
- 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.d.ts +1 -1
- package/src/connection/agent-runtime-config.js +9 -14
- package/src/connection/agent-runtime-config.js.map +1 -1
- package/src/connection/generator.d.ts +7 -14
- package/src/connection/generator.js +158 -177
- package/src/connection/generator.js.map +1 -1
- package/src/connection/local-dev.d.ts +15 -0
- 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/connection/schema.d.ts +1 -0
- package/src/connection/schema.json +5 -0
- package/src/connection/supported-connections.d.ts +98 -0
- package/src/connection/supported-connections.js +138 -0
- package/src/connection/supported-connections.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 +51 -81
- package/src/infra/app/generator.d.ts +3 -3
- package/src/infra/app/generator.js +141 -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/infra/app/schema.d.ts +1 -1
- package/src/infra/app/schema.json +5 -0
- 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 +8 -2
- package/src/license/config-types.js.map +1 -1
- package/src/license/config.d.ts +65 -7
- package/src/license/config.js +442 -109
- 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 +116 -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 +46 -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 +68 -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 +114 -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 +94 -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 +51 -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 +1893 -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 +6 -0
- package/src/license/dependency-check/types.js.map +1 -0
- package/src/license/generator.d.ts +3 -3
- package/src/license/generator.js +127 -30
- package/src/license/generator.js.map +1 -1
- package/src/license/index.d.ts +8 -0
- package/src/license/index.js +7 -0
- package/src/license/index.js.map +1 -0
- package/src/license/known-exceptions.d.ts +7 -0
- package/src/license/known-exceptions.js +39 -0
- package/src/license/known-exceptions.js.map +1 -0
- package/src/license/schema.d.js +6 -0
- package/src/license/schema.d.js.map +1 -0
- package/src/license/schema.d.ts +7 -0
- package/src/license/schema.json +11 -0
- package/src/license/sync/generator.d.ts +2 -2
- package/src/license/sync/generator.js +100 -125
- 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 +28 -35
- 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 +130 -160
- 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 +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 +42 -56
- 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.d.ts +9 -3
- package/src/mcp-server/schema-registry.js +41 -38
- 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.d.ts +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.d.ts +2 -2
- package/src/mcp-server/tools/general-guidance.js +46 -25
- 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 +29 -37
- 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 +19 -25
- 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 +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.d.ts +3 -3
- 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/generator.spec.tsx +14 -14
- 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.d.ts +3 -3
- 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.d.ts +5 -1
- 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.d.ts +6 -2
- 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.d.ts +5 -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.d.ts +2 -2
- package/src/open-api/utils/parse.js +11 -13
- package/src/open-api/utils/parse.js.map +1 -1
- package/src/open-api/utils/refs.d.ts +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 +160 -17
- package/src/preset/generator.d.ts +4 -4
- package/src/preset/generator.js +140 -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 +4 -2
- package/src/preset/schema.json +10 -5
- package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
- package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
- package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +80 -314
- package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
- package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
- package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
- package/src/py/agent/a2a-connection/generator.d.ts +3 -3
- package/src/py/agent/a2a-connection/generator.js +113 -85
- 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/a2a-connection/schema.d.ts +1 -0
- package/src/py/agent/a2a-connection/schema.json +5 -0
- package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
- package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
- package/src/py/agent/files/common/agent.py.template +2 -0
- package/src/py/agent/files/common-langchain/agent.py.template +30 -0
- package/src/py/agent/files/http/init.py.template +7 -25
- package/src/py/agent/files/http/main.py.template +2 -3
- package/src/py/agent/files/http-langchain/main.py.template +84 -0
- package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
- package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
- package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
- package/src/py/agent/gateway-connection/generator.d.ts +10 -0
- package/src/py/agent/gateway-connection/generator.js +119 -0
- package/src/py/agent/gateway-connection/generator.js.map +1 -0
- 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/gateway-connection/schema.d.ts +13 -0
- package/src/py/agent/gateway-connection/schema.json +31 -0
- package/src/py/agent/generator.d.ts +3 -3
- package/src/py/agent/generator.js +280 -180
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
- package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
- package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
- package/src/py/agent/mcp-connection/generator.d.ts +3 -3
- package/src/py/agent/mcp-connection/generator.js +65 -126
- 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/mcp-connection/schema.d.ts +1 -0
- package/src/py/agent/mcp-connection/schema.json +5 -0
- package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
- package/src/py/agent/react-connection/generator.d.ts +4 -4
- package/src/py/agent/react-connection/generator.js +55 -59
- 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} +6 -6
- 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/react-connection/schema.d.ts +1 -0
- package/src/py/agent/react-connection/schema.json +5 -0
- package/src/py/agent/schema.d.js +6 -0
- package/src/py/agent/schema.d.js.map +1 -0
- package/src/py/agent/schema.d.ts +2 -1
- package/src/py/agent/schema.json +6 -1
- package/src/py/api/generator.d.ts +3 -3
- package/src/py/api/generator.js +12 -11
- 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/api/schema.d.ts +1 -0
- package/src/py/api/schema.json +5 -0
- package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1526 -0
- package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
- package/src/py/dynamodb/agent-connection/generator.js +39 -0
- package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
- 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/agent-connection/schema.d.ts +15 -0
- package/src/py/dynamodb/agent-connection/schema.json +27 -0
- package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
- package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
- package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
- 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/fast-api-connection/schema.d.ts +13 -0
- package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
- package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
- package/src/py/dynamodb/files/__name__/client.py.template +39 -0
- package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
- package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
- package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
- package/src/py/dynamodb/files/config.json.template +24 -0
- package/src/py/dynamodb/generator.d.ts +10 -0
- package/src/py/dynamodb/generator.js +110 -0
- package/src/py/dynamodb/generator.js.map +1 -0
- package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
- package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
- package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
- 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/mcp-server-connection/schema.d.ts +15 -0
- package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
- package/src/py/dynamodb/schema.d.js +6 -0
- package/src/py/dynamodb/schema.d.js.map +1 -0
- package/src/py/dynamodb/schema.d.ts +16 -0
- package/src/py/dynamodb/schema.json +75 -0
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +212 -4678
- package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
- package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
- package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
- package/src/py/fast-api/generator.d.ts +3 -3
- package/src/py/fast-api/generator.js +90 -87
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
- package/src/py/fast-api/react/generator.d.ts +4 -4
- package/src/py/fast-api/react/generator.js +25 -25
- 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 +31 -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/react/schema.d.ts +1 -0
- package/src/py/fast-api/react/schema.json +5 -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/fast-api/schema.d.ts +1 -0
- package/src/py/fast-api/schema.json +5 -0
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/py/lambda-function/generator.d.ts +3 -3
- package/src/py/lambda-function/generator.js +60 -59
- 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/lambda-function/schema.d.ts +1 -0
- package/src/py/lambda-function/schema.json +5 -0
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +87 -17
- package/src/py/mcp-server/generator.d.ts +3 -3
- package/src/py/mcp-server/generator.js +152 -125
- 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/mcp-server/schema.d.ts +1 -0
- package/src/py/mcp-server/schema.json +5 -0
- package/src/py/project/generator.d.ts +17 -4
- package/src/py/project/generator.js +205 -127
- 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/py/project/schema.d.ts +1 -0
- package/src/py/project/schema.json +5 -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/src/sdk/license.d.ts +8 -0
- 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 +1 -2
- package/src/sdk/utils/ast.js +6 -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 +19 -24
- package/src/smithy/project/files/build.Dockerfile.template +1 -4
- package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
- package/src/smithy/project/generator.d.ts +3 -3
- package/src/smithy/project/generator.js +64 -57
- 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/project/schema.d.ts +1 -0
- package/src/smithy/project/schema.json +5 -0
- package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/smithy/react-connection/generator.d.ts +3 -3
- package/src/smithy/react-connection/generator.js +39 -47
- 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/react-connection/schema.d.ts +1 -0
- package/src/smithy/react-connection/schema.json +5 -0
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +409 -106
- package/src/smithy/ts/api/generator.d.ts +3 -3
- package/src/smithy/ts/api/generator.js +127 -106
- 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/smithy/ts/api/schema.d.ts +1 -0
- package/src/smithy/ts/api/schema.json +5 -0
- package/src/terraform/project/files/application/src/main.tf.template +6 -1
- package/src/terraform/project/files/application/src/providers.tf.template +1 -1
- package/src/terraform/project/generator.d.ts +3 -3
- package/src/terraform/project/generator.js +156 -104
- 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/terraform/project/schema.d.ts +1 -0
- package/src/terraform/project/schema.json +5 -0
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +499 -110
- package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
- package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
- package/src/trpc/backend/generator.d.ts +4 -4
- package/src/trpc/backend/generator.js +97 -85
- 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/backend/schema.d.ts +3 -2
- package/src/trpc/backend/schema.json +5 -0
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
- package/src/trpc/react/generator.d.ts +4 -4
- package/src/trpc/react/generator.js +63 -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/trpc/react/schema.d.ts +1 -0
- package/src/trpc/react/schema.json +5 -0
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +656 -18
- package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
- package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
- package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
- package/src/ts/agent/a2a-connection/generator.js +63 -56
- 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/a2a-connection/schema.d.ts +1 -0
- package/src/ts/agent/a2a-connection/schema.json +5 -0
- package/src/ts/agent/files/common/agent.ts.template +6 -2
- package/src/ts/agent/files/http/router.ts.template +1 -1
- package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
- package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
- package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
- package/src/ts/agent/gateway-connection/generator.js +114 -0
- package/src/ts/agent/gateway-connection/generator.js.map +1 -0
- 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/gateway-connection/schema.d.ts +13 -0
- package/src/ts/agent/gateway-connection/schema.json +31 -0
- package/src/ts/agent/generator.d.ts +3 -3
- package/src/ts/agent/generator.js +188 -144
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +192 -111
- package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
- package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
- package/src/ts/agent/mcp-connection/generator.js +53 -60
- 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/mcp-connection/schema.d.ts +1 -0
- package/src/ts/agent/mcp-connection/schema.json +5 -0
- package/src/ts/agent/react-connection/generator.d.ts +4 -4
- package/src/ts/agent/react-connection/generator.js +86 -80
- package/src/ts/agent/react-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
- 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/react-connection/schema.d.ts +1 -0
- package/src/ts/agent/react-connection/schema.json +5 -0
- package/src/ts/agent/schema.d.js +6 -0
- package/src/ts/agent/schema.d.js.map +1 -0
- package/src/ts/agent/schema.d.ts +1 -0
- package/src/ts/agent/schema.json +5 -0
- package/src/ts/api/generator.d.ts +3 -3
- package/src/ts/api/generator.js +16 -16
- 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/api/schema.d.ts +3 -1
- package/src/ts/api/schema.json +5 -0
- package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
- package/src/ts/astro-docs/generator.d.ts +3 -3
- package/src/ts/astro-docs/generator.js +69 -54
- 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/astro-docs/schema.d.ts +2 -2
- package/src/ts/astro-docs/schema.json +3 -3
- package/src/ts/docs/generator.d.ts +3 -3
- 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/docs/schema.d.ts +1 -4
- package/src/ts/docs/schema.json +3 -3
- package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1390 -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 +30 -0
- package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
- 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/agent-connection/schema.d.ts +15 -0
- package/src/ts/dynamodb/agent-connection/schema.json +27 -0
- package/src/ts/dynamodb/files/config.json.template +24 -0
- package/src/ts/dynamodb/files/src/client.ts.template +61 -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/index.ts.template +2 -0
- package/src/ts/dynamodb/generator.d.ts +10 -0
- package/src/ts/dynamodb/generator.js +116 -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 +30 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
- 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/mcp-server-connection/schema.d.ts +15 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.json +27 -0
- package/src/ts/dynamodb/schema.d.js +6 -0
- package/src/ts/dynamodb/schema.d.js.map +1 -0
- package/src/ts/dynamodb/schema.d.ts +16 -0
- package/src/ts/dynamodb/schema.json +75 -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 +28 -0
- package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
- 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/smithy-connection/schema.d.ts +13 -0
- package/src/ts/dynamodb/smithy-connection/schema.json +23 -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 +28 -0
- package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
- 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/dynamodb/trpc-connection/schema.d.ts +13 -0
- package/src/ts/dynamodb/trpc-connection/schema.json +23 -0
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/ts/lambda-function/generator.d.ts +3 -3
- package/src/ts/lambda-function/generator.js +59 -56
- 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/lambda-function/schema.d.ts +1 -0
- package/src/ts/lambda-function/schema.json +5 -0
- package/src/ts/lib/__snapshots__/generator.spec.ts.snap +53 -99
- 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 +96 -96
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
- package/src/ts/lib/schema.d.js +6 -0
- package/src/ts/lib/schema.d.js.map +1 -0
- package/src/ts/lib/schema.d.ts +1 -1
- package/src/ts/lib/schema.json +5 -0
- package/src/ts/lib/ts-project-utils.d.ts +12 -2
- package/src/ts/lib/ts-project-utils.js +80 -65
- 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.d.ts +2 -2
- 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 +83 -13
- package/src/ts/mcp-server/generator.d.ts +3 -3
- package/src/ts/mcp-server/generator.js +164 -120
- 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/mcp-server/schema.d.ts +1 -0
- package/src/ts/mcp-server/schema.json +5 -0
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
- package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
- package/src/ts/nx-generator/files/common/schema.json.template +5 -0
- 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 +6 -7
- package/src/ts/nx-generator/generator.d.ts +2 -2
- package/src/ts/nx-generator/generator.js +111 -74
- 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-generator/schema.d.ts +1 -0
- package/src/ts/nx-generator/schema.json +5 -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.d.ts +3 -3
- package/src/ts/nx-plugin/generator.js +60 -51
- 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/schema.json +5 -0
- package/src/ts/nx-plugin/utils.d.ts +1 -1
- package/src/ts/nx-plugin/utils.js +32 -38
- package/src/ts/nx-plugin/utils.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +312 -482
- package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
- 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/agent-connection/schema.d.ts +1 -0
- package/src/ts/rdb/agent-connection/schema.json +5 -0
- package/src/ts/rdb/files/config.json.template +14 -0
- package/src/ts/rdb/files/prisma.config.ts.template +6 -5
- package/src/ts/rdb/files/src/create-db-user-handler.ts.template +7 -9
- package/src/ts/rdb/files/src/index.ts.template +0 -1
- package/src/ts/rdb/files/src/migration-handler.ts.template +1 -28
- package/src/ts/rdb/files/src/prisma.ts.template +28 -23
- package/src/ts/rdb/files/src/utils.ts.template +3 -0
- package/src/ts/rdb/generator.d.ts +3 -7
- package/src/ts/rdb/generator.js +158 -130
- 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.d.ts +3 -3
- 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/mcp-server-connection/schema.d.ts +1 -0
- package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
- package/src/ts/rdb/schema.d.js +6 -0
- package/src/ts/rdb/schema.d.js.map +1 -0
- package/src/ts/rdb/schema.d.ts +1 -0
- package/src/ts/rdb/schema.json +5 -0
- package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/rdb/smithy-connection/generator.d.ts +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/smithy-connection/schema.d.ts +1 -0
- package/src/ts/rdb/smithy-connection/schema.json +5 -0
- package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/rdb/trpc-connection/generator.d.ts +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/trpc-connection/schema.d.ts +1 -0
- package/src/ts/rdb/trpc-connection/schema.json +5 -0
- package/src/ts/rdb/utils.d.ts +1 -1
- package/src/ts/rdb/utils.js +9 -11
- package/src/ts/rdb/utils.js.map +1 -1
- package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
- package/src/ts/react-website/agui/generator.d.ts +1 -1
- package/src/ts/react-website/agui/generator.js +69 -62
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +626 -612
- package/src/ts/react-website/app/generator.d.ts +4 -4
- package/src/ts/react-website/app/generator.js +217 -192
- 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.d.ts +1 -1
- package/src/ts/react-website/app/schema.json +11 -6
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +129 -18
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +36 -10
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
- package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
- package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
- package/src/ts/react-website/cognito-auth/generator.js +64 -63
- 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.js +6 -0
- package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
- package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
- package/src/ts/react-website/cognito-auth/schema.json +5 -0
- package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
- 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.d.ts +3 -3
- 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/react-website/runtime-config/schema.d.ts +1 -0
- package/src/ts/react-website/runtime-config/schema.json +5 -0
- package/src/ts/sync/generator.d.ts +3 -3
- package/src/ts/sync/generator.js +60 -59
- 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 +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.d.ts +1 -1
- package/src/ts/website/app/schema.json +11 -6
- package/src/ts/website/auth/generator.d.ts +4 -4
- package/src/ts/website/auth/generator.js +11 -10
- 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/ts/website/auth/schema.d.ts +1 -0
- package/src/ts/website/auth/schema.json +5 -0
- package/src/utils/agent-chat/agent-chat.d.ts +31 -0
- package/src/utils/agent-chat/agent-chat.js +29 -0
- package/src/utils/agent-chat/agent-chat.js.map +1 -0
- package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
- package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
- package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
- package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
- package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
- package/src/utils/agent-connection/agent-connection.d.ts +117 -25
- package/src/utils/agent-connection/agent-connection.js +411 -103
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
- package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
- package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
- package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
- package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
- package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
- package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
- package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
- package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
- package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
- package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
- package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
- package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
- package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
- package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
- package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
- package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
- package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
- package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
- package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
- package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
- package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
- package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
- package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
- package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -3
- package/src/utils/agent-core-constructs/agent-core-constructs.js +86 -38
- 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 +4 -0
- package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +50 -0
- package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +487 -0
- package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
- package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +449 -0
- package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +80 -12
- package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
- package/src/utils/api-constructs/api-constructs.d.ts +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/app/apis/rest/__apiNameKebabCase__.ts.template +3 -0
- package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +23 -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 +51 -15
- package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
- 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 +94 -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.d.ts +2 -2
- 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.d.ts +5 -1
- package/src/utils/ast/website.js +18 -20
- package/src/utils/ast/website.js.map +1 -1
- package/src/utils/ast.d.ts +33 -1
- package/src/utils/ast.js +130 -70
- package/src/utils/ast.js.map +1 -1
- package/src/utils/bundle/bundle.d.ts +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 +5 -5
- package/src/utils/config/index.js +5 -4
- package/src/utils/config/index.js.map +1 -1
- package/src/utils/config/utils.d.ts +13 -3
- package/src/utils/config/utils.js +65 -43
- package/src/utils/config/utils.js.map +1 -1
- package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
- package/src/utils/connection/open-api/react.d.ts +6 -6
- 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.d.ts +1 -1
- package/src/utils/containers.js +22 -23
- 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 +48 -0
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
- package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +43 -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 +72 -0
- package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
- package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +195 -0
- package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
- package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +106 -0
- package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
- 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/shared/pull-image.ts.template +16 -0
- package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +117 -0
- 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 +12 -6
- 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 +9 -4
- package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
- package/src/utils/format.d.ts +45 -2
- package/src/utils/format.js +323 -81
- package/src/utils/format.js.map +1 -1
- package/src/utils/fs.d.ts +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.d.ts +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.d.ts +4 -0
- package/src/utils/generators.js +18 -20
- package/src/utils/generators.js.map +1 -1
- package/src/utils/git.d.ts +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.d.ts +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 +123 -14
- package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
- package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
- package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
- package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
- package/src/utils/identity-constructs/identity-constructs.js +24 -28
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/install.d.ts +32 -0
- package/src/utils/install.js +56 -0
- package/src/utils/install.js.map +1 -0
- package/src/utils/js.d.ts +4 -0
- package/src/utils/js.js +27 -20
- package/src/utils/js.js.map +1 -1
- package/src/utils/mcp.d.ts +25 -0
- package/src/utils/mcp.js +74 -0
- package/src/utils/mcp.js.map +1 -0
- package/src/utils/metrics.d.ts +9 -3
- package/src/utils/metrics.js +61 -46
- 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.d.ts +16 -0
- package/src/utils/names.js +39 -48
- package/src/utils/names.js.map +1 -1
- package/src/utils/npm-scope.d.ts +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 +25 -4
- package/src/utils/nx.js +144 -75
- package/src/utils/nx.js.map +1 -1
- package/src/utils/nxlv-python.d.ts +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.d.ts +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.d.ts +1 -1
- package/src/utils/pnpm-workspace.js +22 -22
- package/src/utils/pnpm-workspace.js.map +1 -1
- package/src/utils/port.d.ts +31 -3
- package/src/utils/port.js +72 -12
- package/src/utils/port.js.map +1 -1
- package/src/utils/py.d.ts +16 -3
- package/src/utils/py.js +72 -47
- package/src/utils/py.js.map +1 -1
- package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +12 -2
- package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +35 -16
- package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +42 -48
- package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +31 -16
- package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -4
- package/src/utils/rdb-constructs/rdb-constructs.js +31 -41
- package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
- package/src/utils/shared-constructs-constants.d.ts +1 -0
- package/src/utils/shared-constructs-constants.js +16 -15
- package/src/utils/shared-constructs-constants.js.map +1 -1
- package/src/utils/shared-constructs.d.ts +2 -2
- package/src/utils/shared-constructs.js +57 -54
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
- package/src/utils/shared-dynamodb-scripts.js +25 -0
- package/src/utils/shared-dynamodb-scripts.js.map +1 -0
- package/src/utils/shared-infra-config.d.ts +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.d.ts +11 -0
- package/src/utils/shared-infra-scripts.js +40 -0
- package/src/utils/shared-infra-scripts.js.map +1 -0
- package/src/utils/shared-rdb-scripts.d.ts +16 -0
- package/src/utils/shared-rdb-scripts.js +28 -0
- package/src/utils/shared-rdb-scripts.js.map +1 -0
- package/src/utils/shared-scripts.d.ts +2 -5
- package/src/utils/shared-scripts.js +12 -38
- package/src/utils/shared-scripts.js.map +1 -1
- package/src/utils/shared-shadcn.d.ts +1 -1
- package/src/utils/shared-shadcn.js +64 -72
- package/src/utils/shared-shadcn.js.map +1 -1
- package/src/utils/test.d.ts +13 -1
- package/src/utils/test.js +35 -23
- package/src/utils/test.js.map +1 -1
- package/src/utils/toml.d.ts +1 -1
- package/src/utils/toml.js +10 -14
- package/src/utils/toml.js.map +1 -1
- package/src/utils/versions.d.ts +116 -84
- package/src/utils/versions.js +124 -102
- package/src/utils/versions.js.map +1 -1
- package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +73 -5
- 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 +68 -19
- package/src/utils/website-constructs/website-constructs.d.ts +2 -2
- 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/connection.d.ts +0 -6
- package/sdk/connection.js +0 -10
- package/sdk/connection.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 -29
- package/sdk/ts.js +0 -47
- 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.d.ts +0 -15
- package/src/connection/serve-local.js +0 -41
- package/src/connection/serve-local.js.map +0 -1
- package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
- package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
- package/src/py/agent/react-connection/serve-local.js +0 -30
- package/src/py/agent/react-connection/serve-local.js.map +0 -1
- package/src/py/agent/scripts/http/chat.ts.template +0 -38
- package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
- package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
- package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
- 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/ts/agent/scripts/http/chat.ts.template +0 -35
- 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 +0 -15
- package/src/ts/rdb/files/scripts/docker-start.ts.template +0 -84
- package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
- package/src/ts/rdb/files/src/constants.ts.template +0 -8
- package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
- package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
- package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
- package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
- /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
- /package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +0 -0
- /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
- /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
- /package/src/utils/files/common/scripts/src/{infra-deploy.ts.template → infra/infra-deploy.ts.template} +0 -0
- /package/src/utils/files/common/scripts/src/{infra-destroy.ts.template → infra/infra-destroy.ts.template} +0 -0
- /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
- /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +0 -0
- /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
|
@@ -1,39 +1,35 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SYNC_GENERATOR_NAME = void 0;
|
|
4
|
-
exports.licenseSyncGenerator = licenseSyncGenerator;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
1
|
/**
|
|
7
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
8
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
4
|
+
*/ import { getProjects, globAsync, joinPathFragments } from "@nx/devkit";
|
|
5
|
+
import fastGlob from "fast-glob";
|
|
6
|
+
import { minimatch } from "minimatch";
|
|
7
|
+
import { basename } from "path";
|
|
8
|
+
import PackageJson from "../../../package.json" with {
|
|
9
|
+
type: 'json'
|
|
10
|
+
};
|
|
11
|
+
import { AWS_NX_PLUGIN_CONFIG_FILE_NAME } from "../../utils/config/utils.js";
|
|
12
|
+
import { getGitIncludedFiles, isWithinGitRepo } from "../../utils/git.js";
|
|
13
|
+
import { getGeneratorInfo } from "../../utils/nx.js";
|
|
14
|
+
import { LANGUAGE_COMMENT_SYNTAX, readLicenseConfig } from "../config.js";
|
|
15
|
+
import { PROJECT_FILES_TO_SYNC, syncProjectFile } from "./project-file-sync.js";
|
|
16
|
+
export const SYNC_GENERATOR_NAME = `${PackageJson.name}:${getGeneratorInfo(import.meta.filename).id}`;
|
|
17
|
+
export async function licenseSyncGenerator(tree) {
|
|
18
|
+
const source = (await readLicenseConfig(tree))?.source;
|
|
19
|
+
if (!source) {
|
|
20
|
+
// Nothing to do when source licensing (headers + LICENSE files) isn't configured
|
|
25
21
|
return {};
|
|
26
22
|
}
|
|
27
23
|
const licenseHeadersUpdated = [];
|
|
28
|
-
if (
|
|
24
|
+
if (source.header) {
|
|
29
25
|
// Get all candidate project files for header
|
|
30
|
-
const candidateProjectFiles = await getCandidateProjectFilesForHeader(tree,
|
|
31
|
-
const headerContentLines = loadHeaderContentLines(tree,
|
|
26
|
+
const candidateProjectFiles = await getCandidateProjectFilesForHeader(tree, source.header);
|
|
27
|
+
const headerContentLines = loadHeaderContentLines(tree, source.header);
|
|
32
28
|
// Add headers to project files which match the include pattern
|
|
33
|
-
for (const [includePattern, format] of Object.entries(
|
|
34
|
-
const files =
|
|
35
|
-
files.forEach((file)
|
|
36
|
-
const didAdd = addHeader(tree, file, headerContentLines,
|
|
29
|
+
for (const [includePattern, format] of Object.entries(source.header.format)){
|
|
30
|
+
const files = minimatch.match(candidateProjectFiles, includePattern);
|
|
31
|
+
files.forEach((file)=>{
|
|
32
|
+
const didAdd = addHeader(tree, file, headerContentLines, source.header, format);
|
|
37
33
|
if (didAdd) {
|
|
38
34
|
licenseHeadersUpdated.push(file);
|
|
39
35
|
}
|
|
@@ -42,29 +38,31 @@ async function licenseSyncGenerator(tree) {
|
|
|
42
38
|
}
|
|
43
39
|
const projectFilesUpdated = [];
|
|
44
40
|
// Helper to check whether a file should be included in the sync based on file exclude configuration
|
|
45
|
-
const isFileIncludedInSync = (path)
|
|
41
|
+
const isFileIncludedInSync = (path)=>!(source.files?.exclude ?? []).some((excludePattern)=>minimatch(path, excludePattern));
|
|
46
42
|
// Sync files in the root, and all projects
|
|
47
43
|
const projectRoots = [
|
|
48
44
|
'.',
|
|
49
|
-
...[
|
|
45
|
+
...[
|
|
46
|
+
...getProjects(tree).values()
|
|
47
|
+
].map((p)=>p.root)
|
|
50
48
|
];
|
|
51
49
|
// Sync subproject license files and project files
|
|
52
|
-
for (const projectRoot of projectRoots)
|
|
50
|
+
for (const projectRoot of projectRoots){
|
|
53
51
|
// Check that this project should have files synced - allows users to specify a project path
|
|
54
52
|
// to exclude from all file syncs
|
|
55
53
|
if (isFileIncludedInSync(projectRoot)) {
|
|
56
|
-
|
|
57
|
-
const projectFilePath =
|
|
54
|
+
PROJECT_FILES_TO_SYNC.forEach((projectFile)=>{
|
|
55
|
+
const projectFilePath = joinPathFragments(projectRoot, projectFile);
|
|
58
56
|
// Check that the specific project file should be synced - allows users to be more granular to
|
|
59
57
|
// decide to eg omit LICENSE file sync but keep package.json sync
|
|
60
58
|
if (isFileIncludedInSync(projectFilePath)) {
|
|
61
59
|
const prevContent = tree.read(projectFilePath, 'utf-8');
|
|
62
|
-
|
|
60
|
+
syncProjectFile(tree, projectRoot, projectFile, source);
|
|
63
61
|
const newContent = tree.read(projectFilePath, 'utf-8');
|
|
64
62
|
if (prevContent !== newContent) {
|
|
65
63
|
projectFilesUpdated.push({
|
|
66
64
|
path: projectFilePath,
|
|
67
|
-
name: projectFile
|
|
65
|
+
name: projectFile
|
|
68
66
|
});
|
|
69
67
|
}
|
|
70
68
|
}
|
|
@@ -74,113 +72,102 @@ async function licenseSyncGenerator(tree) {
|
|
|
74
72
|
return {
|
|
75
73
|
outOfSyncMessage: buildOutOfSyncMessage({
|
|
76
74
|
licenseHeadersUpdated,
|
|
77
|
-
projectFilesUpdated
|
|
78
|
-
})
|
|
75
|
+
projectFilesUpdated
|
|
76
|
+
})
|
|
79
77
|
};
|
|
80
78
|
}
|
|
81
79
|
/**
|
|
82
80
|
* Build the message to display when the sync generator would make changes to the tree
|
|
83
|
-
*/
|
|
84
|
-
const buildOutOfSyncMessage = (updates) => {
|
|
81
|
+
*/ const buildOutOfSyncMessage = (updates)=>{
|
|
85
82
|
let outOfSyncMessage = '';
|
|
86
|
-
const pathsByName = updates.projectFilesUpdated.reduce((prev, { name, path })
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
83
|
+
const pathsByName = updates.projectFilesUpdated.reduce((prev, { name, path })=>({
|
|
84
|
+
...prev,
|
|
85
|
+
[name]: [
|
|
86
|
+
...prev[name] ?? [],
|
|
87
|
+
path
|
|
88
|
+
]
|
|
89
|
+
}), {});
|
|
90
|
+
Object.entries(pathsByName).forEach(([name, files])=>{
|
|
91
|
+
outOfSyncMessage += `Project ${name} files are out of sync:\n${files.map((p)=>`- ${p}`).join('\n')}\n\n`;
|
|
92
92
|
});
|
|
93
93
|
if (updates.licenseHeadersUpdated.length > 0) {
|
|
94
|
-
outOfSyncMessage += `License headers are out of sync in the following source files:\n${updates.licenseHeadersUpdated.map((p)
|
|
94
|
+
outOfSyncMessage += `License headers are out of sync in the following source files:\n${updates.licenseHeadersUpdated.map((p)=>`- ${p}`).join('\n')}\n\n`;
|
|
95
95
|
}
|
|
96
96
|
return outOfSyncMessage.trim();
|
|
97
97
|
};
|
|
98
98
|
/**
|
|
99
99
|
* Load the license header content lines
|
|
100
|
-
*/
|
|
101
|
-
const loadHeaderContentLines = (tree, config) => {
|
|
100
|
+
*/ const loadHeaderContentLines = (tree, config)=>{
|
|
102
101
|
// Load the license header content
|
|
103
102
|
let headerContentLines = [];
|
|
104
103
|
if ('lines' in config.content) {
|
|
105
104
|
headerContentLines = config.content.lines;
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
105
|
+
} else {
|
|
108
106
|
if (!tree.exists(config.content.filePath)) {
|
|
109
107
|
throw new Error(`Could not find license header content file ${config.content.filePath}`);
|
|
110
108
|
}
|
|
111
|
-
headerContentLines = tree
|
|
112
|
-
.read(config.content.filePath, 'utf-8')
|
|
113
|
-
.split('\n');
|
|
109
|
+
headerContentLines = tree.read(config.content.filePath, 'utf-8').split('\n');
|
|
114
110
|
}
|
|
115
111
|
return headerContentLines;
|
|
116
112
|
};
|
|
117
113
|
/**
|
|
118
114
|
* Returns all files in the given tree - both in-memory only and in the filesystem under the tree root
|
|
119
|
-
*/
|
|
120
|
-
const getAllFilesInTree = async (tree) => {
|
|
115
|
+
*/ const getAllFilesInTree = async (tree)=>{
|
|
121
116
|
return [
|
|
122
117
|
...new Set([
|
|
123
118
|
// Get all files in memory in the tree
|
|
124
|
-
...
|
|
119
|
+
...await globAsync(tree, [
|
|
120
|
+
'*',
|
|
121
|
+
'**/*'
|
|
122
|
+
]),
|
|
125
123
|
// Find all files on the filesystem that may not be in memory in the tree
|
|
126
|
-
...
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
...await fastGlob([
|
|
125
|
+
'*',
|
|
126
|
+
'**/*'
|
|
127
|
+
], {
|
|
128
|
+
cwd: tree.root,
|
|
129
|
+
dot: true
|
|
130
|
+
})
|
|
131
|
+
])
|
|
132
|
+
].filter((f)=>tree.exists(f));
|
|
129
133
|
};
|
|
130
134
|
/**
|
|
131
135
|
* Returns the list of project files
|
|
132
|
-
*/
|
|
133
|
-
const getCandidateProjectFilesForHeader = async (tree, config) => {
|
|
136
|
+
*/ const getCandidateProjectFilesForHeader = async (tree, config)=>{
|
|
134
137
|
// Prefer, if possible, to treat all non gitignored files as our candidate set such that we honour users .gitignore files
|
|
135
138
|
// If we're not in a git repo, fall back to everything and rely on the user configuring exclusions below
|
|
136
|
-
const projectFiles = (
|
|
137
|
-
? (0, git_1.getGitIncludedFiles)(tree)
|
|
138
|
-
: await getAllFilesInTree(tree);
|
|
139
|
+
const projectFiles = isWithinGitRepo(tree) ? getGitIncludedFiles(tree) : await getAllFilesInTree(tree);
|
|
139
140
|
// Remove any files that were excluded in the config
|
|
140
|
-
const ignoredProjectFiles = new Set((config.exclude ?? []).flatMap((pattern)
|
|
141
|
-
return projectFiles.filter((file)
|
|
141
|
+
const ignoredProjectFiles = new Set((config.exclude ?? []).flatMap((pattern)=>minimatch.match(projectFiles, pattern)));
|
|
142
|
+
return projectFiles.filter((file)=>!ignoredProjectFiles.has(file));
|
|
142
143
|
};
|
|
143
144
|
/**
|
|
144
145
|
* Renders a header with the given format
|
|
145
|
-
*/
|
|
146
|
-
|
|
147
|
-
return `${format.blockStart ? `${format.blockStart}\n` : ''}${contentLines.map((line) => `${format.lineStart ?? ''}${line}${format.lineEnd ?? ''}`).join('\n')}${format.blockEnd ? `\n${format.blockEnd}` : ''}`;
|
|
146
|
+
*/ const renderHeader = (contentLines, format)=>{
|
|
147
|
+
return `${format.blockStart ? `${format.blockStart}\n` : ''}${contentLines.map((line)=>`${format.lineStart ?? ''}${line}${format.lineEnd ?? ''}`).join('\n')}${format.blockEnd ? `\n${format.blockEnd}` : ''}`;
|
|
148
148
|
};
|
|
149
149
|
/**
|
|
150
150
|
* Validates header format to ensure it produces a valid comment
|
|
151
|
-
*/
|
|
152
|
-
const
|
|
153
|
-
const
|
|
154
|
-
syntax.block &&
|
|
155
|
-
format.blockStart.startsWith(syntax.block.start);
|
|
156
|
-
const blockEndClosesBlockComment = format.blockEnd &&
|
|
157
|
-
syntax.block &&
|
|
158
|
-
format.blockEnd.endsWith(syntax.block.end);
|
|
151
|
+
*/ const validateFormat = (fileExtension, syntax, format, contentLines)=>{
|
|
152
|
+
const blockStartOpensBlockComment = format.blockStart && syntax.block && format.blockStart.startsWith(syntax.block.start);
|
|
153
|
+
const blockEndClosesBlockComment = format.blockEnd && syntax.block && format.blockEnd.endsWith(syntax.block.end);
|
|
159
154
|
// Block start must start with the block start or line comment
|
|
160
|
-
const validBlockStart = !format.blockStart ||
|
|
161
|
-
blockStartOpensBlockComment ||
|
|
162
|
-
(syntax.line && format.blockStart.startsWith(syntax.line));
|
|
155
|
+
const validBlockStart = !format.blockStart || blockStartOpensBlockComment || syntax.line && format.blockStart.startsWith(syntax.line);
|
|
163
156
|
// Block end must end with the block end, or begin with the line comment
|
|
164
|
-
const validBlockEnd = !format.blockEnd ||
|
|
165
|
-
blockEndClosesBlockComment ||
|
|
166
|
-
(syntax.line && format.blockEnd.startsWith(syntax.line));
|
|
157
|
+
const validBlockEnd = !format.blockEnd || blockEndClosesBlockComment || syntax.line && format.blockEnd.startsWith(syntax.line);
|
|
167
158
|
// Lines must start with the line comment syntax, unless within a block comment
|
|
168
|
-
const validLineStart = !format.lineStart ||
|
|
169
|
-
(syntax.line && format.lineStart.startsWith(syntax.line)) ||
|
|
170
|
-
(blockStartOpensBlockComment && blockEndClosesBlockComment);
|
|
159
|
+
const validLineStart = !format.lineStart || syntax.line && format.lineStart.startsWith(syntax.line) || blockStartOpensBlockComment && blockEndClosesBlockComment;
|
|
171
160
|
if (!validLineStart || !validBlockStart || !validBlockEnd) {
|
|
172
161
|
throw new Error(`Provided format for ${fileExtension} file would generate invalid comment syntax. Configured syntax for ${fileExtension} is ${JSON.stringify(syntax, null, 2)}.`);
|
|
173
162
|
}
|
|
174
163
|
if (blockStartOpensBlockComment && !blockEndClosesBlockComment) {
|
|
175
164
|
throw new Error(`Provided format for ${fileExtension} file opens a block comment with "${syntax.block.start}" in blockStart but does not close it with "${syntax.block.end}" in blockEnd`);
|
|
176
165
|
}
|
|
177
|
-
if (blockStartOpensBlockComment &&
|
|
178
|
-
contentLines.some((line) => line.includes(syntax.block.end))) {
|
|
166
|
+
if (blockStartOpensBlockComment && contentLines.some((line)=>line.includes(syntax.block.end))) {
|
|
179
167
|
throw new Error(`Provided license content would close a block comment early and cause a syntax error! Please remove "${syntax.block.end}" from your license text.`);
|
|
180
168
|
}
|
|
181
169
|
if (blockStartOpensBlockComment && blockEndClosesBlockComment) {
|
|
182
|
-
if (format.blockEnd.lastIndexOf(syntax.block.end) !==
|
|
183
|
-
format.blockEnd.indexOf(syntax.block.end)) {
|
|
170
|
+
if (format.blockEnd.lastIndexOf(syntax.block.end) !== format.blockEnd.indexOf(syntax.block.end)) {
|
|
184
171
|
throw new Error(`Provided format for ${fileExtension} file may cause syntax errors due to closing a block comment multiple times with "${syntax.block.end}" in blockEnd`);
|
|
185
172
|
}
|
|
186
173
|
if (format.blockStart.includes(syntax.block.end)) {
|
|
@@ -191,27 +178,23 @@ const validateFormat = (fileExtension, syntax, format, contentLines) => {
|
|
|
191
178
|
/**
|
|
192
179
|
* Parse the hashbang, header and body from a file.
|
|
193
180
|
* The header is the first block comment, or consecutive series of line comments found in the file, after the hashbang
|
|
194
|
-
*/
|
|
195
|
-
const parseFile = (content, syntax) => {
|
|
181
|
+
*/ const parseFile = (content, syntax)=>{
|
|
196
182
|
const lines = content.split('\n');
|
|
197
183
|
let i = 0;
|
|
198
184
|
// Hashbangs must always go first, so extract this if it exists
|
|
199
185
|
const hashbangLines = [];
|
|
200
|
-
for
|
|
186
|
+
for(; i < lines.length; i++){
|
|
201
187
|
if (hashbangLines.length === 0) {
|
|
202
188
|
if (lines[i].startsWith('#!')) {
|
|
203
189
|
hashbangLines.push(lines[i]);
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
190
|
+
} else {
|
|
206
191
|
break;
|
|
207
192
|
}
|
|
208
|
-
}
|
|
209
|
-
else {
|
|
193
|
+
} else {
|
|
210
194
|
if (lines[i].trim().length === 0) {
|
|
211
195
|
// Preserve any empty lines following the hashbang
|
|
212
196
|
hashbangLines.push(lines[i]);
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
197
|
+
} else {
|
|
215
198
|
break;
|
|
216
199
|
}
|
|
217
200
|
}
|
|
@@ -221,34 +204,25 @@ const parseFile = (content, syntax) => {
|
|
|
221
204
|
const headerLines = [];
|
|
222
205
|
let withinBlockComment = false;
|
|
223
206
|
let withinLineCommentSeries = false;
|
|
224
|
-
for
|
|
207
|
+
for(; i < lines.length; i++){
|
|
225
208
|
const trimmedLine = lines[i].trim();
|
|
226
|
-
if (syntax.block &&
|
|
227
|
-
trimmedLine.endsWith(syntax.block.end) &&
|
|
228
|
-
!withinLineCommentSeries &&
|
|
229
|
-
(withinBlockComment || trimmedLine.startsWith(syntax.block.start))) {
|
|
209
|
+
if (syntax.block && trimmedLine.endsWith(syntax.block.end) && !withinLineCommentSeries && (withinBlockComment || trimmedLine.startsWith(syntax.block.start))) {
|
|
230
210
|
// Comment ends with the block end, so we've completed the header and therefore break out of the loop
|
|
231
211
|
headerLines.push(lines[i]);
|
|
232
212
|
i++; // Increment here to ensure we point to the next line for the body
|
|
233
213
|
break;
|
|
234
|
-
}
|
|
235
|
-
else if (syntax.block &&
|
|
236
|
-
trimmedLine.startsWith(syntax.block.start) &&
|
|
237
|
-
!withinLineCommentSeries) {
|
|
214
|
+
} else if (syntax.block && trimmedLine.startsWith(syntax.block.start) && !withinLineCommentSeries) {
|
|
238
215
|
// Line begins a comment block (without also ending it on the same line), so start consuming the block
|
|
239
216
|
withinBlockComment = true;
|
|
240
217
|
headerLines.push(lines[i]);
|
|
241
|
-
}
|
|
242
|
-
else if (withinBlockComment) {
|
|
218
|
+
} else if (withinBlockComment) {
|
|
243
219
|
// We haven't yet closed the block comment, so consume this line
|
|
244
220
|
headerLines.push(lines[i]);
|
|
245
|
-
}
|
|
246
|
-
else if (syntax.line && trimmedLine.startsWith(syntax.line)) {
|
|
221
|
+
} else if (syntax.line && trimmedLine.startsWith(syntax.line)) {
|
|
247
222
|
// Line starts with the line comment syntax, so consume it
|
|
248
223
|
withinLineCommentSeries = true;
|
|
249
224
|
headerLines.push(lines[i]);
|
|
250
|
-
}
|
|
251
|
-
else {
|
|
225
|
+
} else {
|
|
252
226
|
break;
|
|
253
227
|
}
|
|
254
228
|
}
|
|
@@ -257,21 +231,19 @@ const parseFile = (content, syntax) => {
|
|
|
257
231
|
return {
|
|
258
232
|
hashbang: hashbangLines.join('\n'),
|
|
259
233
|
header: headerLines.join('\n'),
|
|
260
|
-
body: bodyLines.join('\n')
|
|
234
|
+
body: bodyLines.join('\n')
|
|
261
235
|
};
|
|
262
236
|
};
|
|
263
237
|
/**
|
|
264
238
|
* Add a header to the given file according to the header content and license config
|
|
265
239
|
* Returns true if the header was added/updated, and false otherwise.
|
|
266
|
-
*/
|
|
267
|
-
const
|
|
268
|
-
const fileName = (0, path_1.basename)(file);
|
|
240
|
+
*/ const addHeader = (tree, file, contentLines, config, format)=>{
|
|
241
|
+
const fileName = basename(file);
|
|
269
242
|
const fileNameParts = fileName.split('.');
|
|
270
243
|
const fileExtension = fileNameParts[fileNameParts.length - 1];
|
|
271
|
-
const syntax = (config.commentSyntax ?? {})[fileExtension] ??
|
|
272
|
-
config_1.LANGUAGE_COMMENT_SYNTAX[fileExtension];
|
|
244
|
+
const syntax = (config.commentSyntax ?? {})[fileExtension] ?? LANGUAGE_COMMENT_SYNTAX[fileExtension];
|
|
273
245
|
if (!syntax) {
|
|
274
|
-
throw new Error(`Unknown file extension ${fileExtension}. Please configure commentSyntax in ${
|
|
246
|
+
throw new Error(`Unknown file extension ${fileExtension}. Please configure commentSyntax in ${AWS_NX_PLUGIN_CONFIG_FILE_NAME}, eg:
|
|
275
247
|
|
|
276
248
|
export default {
|
|
277
249
|
license: {
|
|
@@ -293,14 +265,16 @@ export default {
|
|
|
293
265
|
const existingContent = tree.read(file, 'utf-8');
|
|
294
266
|
const { hashbang, body } = parseFile(existingContent, syntax);
|
|
295
267
|
const newContent = [
|
|
296
|
-
...
|
|
268
|
+
...hashbang ? [
|
|
269
|
+
hashbang
|
|
270
|
+
] : [],
|
|
297
271
|
renderHeader(contentLines, format),
|
|
298
|
-
body
|
|
272
|
+
body
|
|
299
273
|
].join('\n');
|
|
300
274
|
// Sanity check that we wouldn't edit the hashbang or body, only the header
|
|
301
275
|
const { hashbang: newHashbang, body: newBody } = parseFile(newContent, syntax);
|
|
302
276
|
if (hashbang !== newHashbang || body !== newBody) {
|
|
303
|
-
throw new Error(`The license header content, or format for ${fileExtension} files would produce a header that cannot be safely replaced in ${file}. Please revise license content and format in ${
|
|
277
|
+
throw new Error(`The license header content, or format for ${fileExtension} files would produce a header that cannot be safely replaced in ${file}. Please revise license content and format in ${AWS_NX_PLUGIN_CONFIG_FILE_NAME}`);
|
|
304
278
|
}
|
|
305
279
|
if (newContent !== existingContent) {
|
|
306
280
|
tree.write(file, newContent);
|
|
@@ -308,5 +282,6 @@ export default {
|
|
|
308
282
|
}
|
|
309
283
|
return false;
|
|
310
284
|
};
|
|
311
|
-
|
|
285
|
+
export default licenseSyncGenerator;
|
|
286
|
+
|
|
312
287
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/license/sync/generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/license/sync/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n getProjects,\n globAsync,\n joinPathFragments,\n type Tree,\n} from '@nx/devkit';\nimport fastGlob from 'fast-glob';\nimport { minimatch } from 'minimatch';\nimport type { SyncGeneratorResult } from 'nx/src/utils/sync-generators';\nimport { basename } from 'path';\nimport PackageJson from '../../../package.json' with { type: 'json' };\nimport { AWS_NX_PLUGIN_CONFIG_FILE_NAME } from '../../utils/config/utils';\nimport { getGitIncludedFiles, isWithinGitRepo } from '../../utils/git';\nimport { getGeneratorInfo } from '../../utils/nx';\nimport { LANGUAGE_COMMENT_SYNTAX, readLicenseConfig } from '../config';\nimport type {\n CommentSyntax,\n LicenseHeaderConfig,\n LicenseHeaderFormat,\n} from '../config-types';\nimport {\n PROJECT_FILES_TO_SYNC,\n type ProjectFileToSync,\n syncProjectFile,\n} from './project-file-sync';\n\nexport const SYNC_GENERATOR_NAME = `${PackageJson.name}:${getGeneratorInfo(import.meta.filename).id}`;\n\ninterface ProjectFile {\n name: ProjectFileToSync;\n path: string;\n}\n\nexport async function licenseSyncGenerator(\n tree: Tree,\n): Promise<SyncGeneratorResult> {\n const source = (await readLicenseConfig(tree))?.source;\n\n if (!source) {\n // Nothing to do when source licensing (headers + LICENSE files) isn't configured\n return {};\n }\n\n const licenseHeadersUpdated: string[] = [];\n\n if (source.header) {\n // Get all candidate project files for header\n const candidateProjectFiles = await getCandidateProjectFilesForHeader(\n tree,\n source.header,\n );\n\n const headerContentLines = loadHeaderContentLines(tree, source.header);\n\n // Add headers to project files which match the include pattern\n for (const [includePattern, format] of Object.entries(\n source.header.format,\n )) {\n const files = minimatch.match(candidateProjectFiles, includePattern);\n\n files.forEach((file) => {\n const didAdd = addHeader(\n tree,\n file,\n headerContentLines,\n source.header,\n format,\n );\n if (didAdd) {\n licenseHeadersUpdated.push(file);\n }\n });\n }\n }\n\n const projectFilesUpdated: ProjectFile[] = [];\n\n // Helper to check whether a file should be included in the sync based on file exclude configuration\n const isFileIncludedInSync = (path: string): boolean =>\n !(source.files?.exclude ?? []).some((excludePattern) =>\n minimatch(path, excludePattern),\n );\n\n // Sync files in the root, and all projects\n const projectRoots = [\n '.',\n ...[...getProjects(tree).values()].map((p) => p.root),\n ];\n\n // Sync subproject license files and project files\n for (const projectRoot of projectRoots) {\n // Check that this project should have files synced - allows users to specify a project path\n // to exclude from all file syncs\n if (isFileIncludedInSync(projectRoot)) {\n PROJECT_FILES_TO_SYNC.forEach((projectFile) => {\n const projectFilePath = joinPathFragments(projectRoot, projectFile);\n // Check that the specific project file should be synced - allows users to be more granular to\n // decide to eg omit LICENSE file sync but keep package.json sync\n if (isFileIncludedInSync(projectFilePath)) {\n const prevContent = tree.read(projectFilePath, 'utf-8');\n\n syncProjectFile(tree, projectRoot, projectFile, source);\n\n const newContent = tree.read(projectFilePath, 'utf-8');\n\n if (prevContent !== newContent) {\n projectFilesUpdated.push({\n path: projectFilePath,\n name: projectFile,\n });\n }\n }\n });\n }\n }\n\n return {\n outOfSyncMessage: buildOutOfSyncMessage({\n licenseHeadersUpdated,\n projectFilesUpdated,\n }),\n };\n}\n\n/**\n * Build the message to display when the sync generator would make changes to the tree\n */\nconst buildOutOfSyncMessage = (updates: {\n projectFilesUpdated: ProjectFile[];\n licenseHeadersUpdated: string[];\n}): string => {\n let outOfSyncMessage = '';\n\n const pathsByName: { [key: string]: string[] } =\n updates.projectFilesUpdated.reduce(\n (prev, { name, path }) => ({\n ...prev,\n [name]: [...(prev[name] ?? []), path],\n }),\n {},\n );\n Object.entries(pathsByName).forEach(([name, files]) => {\n outOfSyncMessage += `Project ${name} files are out of sync:\\n${files.map((p) => `- ${p}`).join('\\n')}\\n\\n`;\n });\n\n if (updates.licenseHeadersUpdated.length > 0) {\n outOfSyncMessage += `License headers are out of sync in the following source files:\\n${updates.licenseHeadersUpdated.map((p) => `- ${p}`).join('\\n')}\\n\\n`;\n }\n\n return outOfSyncMessage.trim();\n};\n\n/**\n * Load the license header content lines\n */\nconst loadHeaderContentLines = (\n tree: Tree,\n config: LicenseHeaderConfig,\n): string[] => {\n // Load the license header content\n let headerContentLines = [];\n if ('lines' in config.content) {\n headerContentLines = config.content.lines;\n } else {\n if (!tree.exists(config.content.filePath)) {\n throw new Error(\n `Could not find license header content file ${config.content.filePath}`,\n );\n }\n headerContentLines = tree\n .read(config.content.filePath, 'utf-8')\n .split('\\n');\n }\n return headerContentLines;\n};\n\n/**\n * Returns all files in the given tree - both in-memory only and in the filesystem under the tree root\n */\nconst getAllFilesInTree = async (tree: Tree): Promise<string[]> => {\n return [\n ...new Set([\n // Get all files in memory in the tree\n ...(await globAsync(tree, ['*', '**/*'])),\n // Find all files on the filesystem that may not be in memory in the tree\n ...(await fastGlob(['*', '**/*'], { cwd: tree.root, dot: true })),\n ]),\n ].filter((f) => tree.exists(f));\n};\n\n/**\n * Returns the list of project files\n */\nconst getCandidateProjectFilesForHeader = async (\n tree: Tree,\n config: LicenseHeaderConfig,\n): Promise<string[]> => {\n // Prefer, if possible, to treat all non gitignored files as our candidate set such that we honour users .gitignore files\n // If we're not in a git repo, fall back to everything and rely on the user configuring exclusions below\n const projectFiles = isWithinGitRepo(tree)\n ? getGitIncludedFiles(tree)\n : await getAllFilesInTree(tree);\n\n // Remove any files that were excluded in the config\n const ignoredProjectFiles = new Set(\n (config.exclude ?? []).flatMap((pattern) =>\n minimatch.match(projectFiles, pattern),\n ),\n );\n return projectFiles.filter((file) => !ignoredProjectFiles.has(file));\n};\n\n/**\n * Renders a header with the given format\n */\nconst renderHeader = (\n contentLines: string[],\n format: LicenseHeaderFormat,\n): string => {\n return `${format.blockStart ? `${format.blockStart}\\n` : ''}${contentLines.map((line) => `${format.lineStart ?? ''}${line}${format.lineEnd ?? ''}`).join('\\n')}${format.blockEnd ? `\\n${format.blockEnd}` : ''}`;\n};\n\n/**\n * Validates header format to ensure it produces a valid comment\n */\nconst validateFormat = (\n fileExtension: string,\n syntax: CommentSyntax,\n format: LicenseHeaderFormat,\n contentLines: string[],\n): void => {\n const blockStartOpensBlockComment =\n format.blockStart &&\n syntax.block &&\n format.blockStart.startsWith(syntax.block.start);\n const blockEndClosesBlockComment =\n format.blockEnd &&\n syntax.block &&\n format.blockEnd.endsWith(syntax.block.end);\n\n // Block start must start with the block start or line comment\n const validBlockStart =\n !format.blockStart ||\n blockStartOpensBlockComment ||\n (syntax.line && format.blockStart.startsWith(syntax.line));\n // Block end must end with the block end, or begin with the line comment\n const validBlockEnd =\n !format.blockEnd ||\n blockEndClosesBlockComment ||\n (syntax.line && format.blockEnd.startsWith(syntax.line));\n\n // Lines must start with the line comment syntax, unless within a block comment\n const validLineStart =\n !format.lineStart ||\n (syntax.line && format.lineStart.startsWith(syntax.line)) ||\n (blockStartOpensBlockComment && blockEndClosesBlockComment);\n\n if (!validLineStart || !validBlockStart || !validBlockEnd) {\n throw new Error(\n `Provided format for ${fileExtension} file would generate invalid comment syntax. Configured syntax for ${fileExtension} is ${JSON.stringify(syntax, null, 2)}.`,\n );\n }\n\n if (blockStartOpensBlockComment && !blockEndClosesBlockComment) {\n throw new Error(\n `Provided format for ${fileExtension} file opens a block comment with \"${syntax.block.start}\" in blockStart but does not close it with \"${syntax.block.end}\" in blockEnd`,\n );\n }\n\n if (\n blockStartOpensBlockComment &&\n contentLines.some((line) => line.includes(syntax.block.end))\n ) {\n throw new Error(\n `Provided license content would close a block comment early and cause a syntax error! Please remove \"${syntax.block.end}\" from your license text.`,\n );\n }\n\n if (blockStartOpensBlockComment && blockEndClosesBlockComment) {\n if (\n format.blockEnd.lastIndexOf(syntax.block.end) !==\n format.blockEnd.indexOf(syntax.block.end)\n ) {\n throw new Error(\n `Provided format for ${fileExtension} file may cause syntax errors due to closing a block comment multiple times with \"${syntax.block.end}\" in blockEnd`,\n );\n }\n if (format.blockStart.includes(syntax.block.end)) {\n throw new Error(\n `Provided format for ${fileExtension} file may cause syntax errors since it closes the block comment with \"${syntax.block.end}\" in blockStart`,\n );\n }\n }\n};\n\n/**\n * Parse the hashbang, header and body from a file.\n * The header is the first block comment, or consecutive series of line comments found in the file, after the hashbang\n */\nconst parseFile = (\n content: string,\n syntax: CommentSyntax,\n): { hashbang: string; header: string; body: string } => {\n const lines = content.split('\\n');\n let i = 0;\n\n // Hashbangs must always go first, so extract this if it exists\n const hashbangLines = [];\n for (; i < lines.length; i++) {\n if (hashbangLines.length === 0) {\n if (lines[i].startsWith('#!')) {\n hashbangLines.push(lines[i]);\n } else {\n break;\n }\n } else {\n if (lines[i].trim().length === 0) {\n // Preserve any empty lines following the hashbang\n hashbangLines.push(lines[i]);\n } else {\n break;\n }\n }\n }\n\n // After the hashbang, consume the next comment which follows.\n // This could either be all lines of a block comment, or all consecutive line comments until a non line-comment is seen\n const headerLines = [];\n let withinBlockComment = false;\n let withinLineCommentSeries = false;\n for (; i < lines.length; i++) {\n const trimmedLine = lines[i].trim();\n if (\n syntax.block &&\n trimmedLine.endsWith(syntax.block.end) &&\n !withinLineCommentSeries &&\n (withinBlockComment || trimmedLine.startsWith(syntax.block.start))\n ) {\n // Comment ends with the block end, so we've completed the header and therefore break out of the loop\n headerLines.push(lines[i]);\n i++; // Increment here to ensure we point to the next line for the body\n break;\n } else if (\n syntax.block &&\n trimmedLine.startsWith(syntax.block.start) &&\n !withinLineCommentSeries\n ) {\n // Line begins a comment block (without also ending it on the same line), so start consuming the block\n withinBlockComment = true;\n headerLines.push(lines[i]);\n } else if (withinBlockComment) {\n // We haven't yet closed the block comment, so consume this line\n headerLines.push(lines[i]);\n } else if (syntax.line && trimmedLine.startsWith(syntax.line)) {\n // Line starts with the line comment syntax, so consume it\n withinLineCommentSeries = true;\n headerLines.push(lines[i]);\n } else {\n break;\n }\n }\n\n // Body of the file is the rest\n const bodyLines = lines.slice(i);\n\n return {\n hashbang: hashbangLines.join('\\n'),\n header: headerLines.join('\\n'),\n body: bodyLines.join('\\n'),\n };\n};\n\n/**\n * Add a header to the given file according to the header content and license config\n * Returns true if the header was added/updated, and false otherwise.\n */\nconst addHeader = (\n tree: Tree,\n file: string,\n contentLines: string[],\n config: LicenseHeaderConfig,\n format: LicenseHeaderFormat,\n): boolean => {\n const fileName = basename(file);\n const fileNameParts = fileName.split('.');\n const fileExtension = fileNameParts[fileNameParts.length - 1];\n\n const syntax =\n (config.commentSyntax ?? {})[fileExtension] ??\n LANGUAGE_COMMENT_SYNTAX[fileExtension];\n if (!syntax) {\n throw new Error(`Unknown file extension ${fileExtension}. Please configure commentSyntax in ${AWS_NX_PLUGIN_CONFIG_FILE_NAME}, eg:\n\nexport default {\n license: {\n header: {\n ...\n commentSyntax: {\n ${fileExtension}: {\n line: \"//\",\n block: { start: \"/*\", end: \"*/\" }\n }\n }\n }\n }\n} satisfies AwsNxPluginConfig;\n`);\n }\n\n // Check that we would render a valid comment\n validateFormat(fileExtension, syntax, format, contentLines);\n\n const existingContent = tree.read(file, 'utf-8');\n\n const { hashbang, body } = parseFile(existingContent, syntax);\n\n const newContent = [\n ...(hashbang ? [hashbang] : []),\n renderHeader(contentLines, format),\n body,\n ].join('\\n');\n\n // Sanity check that we wouldn't edit the hashbang or body, only the header\n const { hashbang: newHashbang, body: newBody } = parseFile(\n newContent,\n syntax,\n );\n if (hashbang !== newHashbang || body !== newBody) {\n throw new Error(\n `The license header content, or format for ${fileExtension} files would produce a header that cannot be safely replaced in ${file}. Please revise license content and format in ${AWS_NX_PLUGIN_CONFIG_FILE_NAME}`,\n );\n }\n\n if (newContent !== existingContent) {\n tree.write(file, newContent);\n return true;\n }\n\n return false;\n};\n\nexport default licenseSyncGenerator;\n"],"names":["getProjects","globAsync","joinPathFragments","fastGlob","minimatch","basename","PackageJson","type","AWS_NX_PLUGIN_CONFIG_FILE_NAME","getGitIncludedFiles","isWithinGitRepo","getGeneratorInfo","LANGUAGE_COMMENT_SYNTAX","readLicenseConfig","PROJECT_FILES_TO_SYNC","syncProjectFile","SYNC_GENERATOR_NAME","name","filename","id","licenseSyncGenerator","tree","source","licenseHeadersUpdated","header","candidateProjectFiles","getCandidateProjectFilesForHeader","headerContentLines","loadHeaderContentLines","includePattern","format","Object","entries","files","match","forEach","file","didAdd","addHeader","push","projectFilesUpdated","isFileIncludedInSync","path","exclude","some","excludePattern","projectRoots","values","map","p","root","projectRoot","projectFile","projectFilePath","prevContent","read","newContent","outOfSyncMessage","buildOutOfSyncMessage","updates","pathsByName","reduce","prev","join","length","trim","config","content","lines","exists","filePath","Error","split","getAllFilesInTree","Set","cwd","dot","filter","f","projectFiles","ignoredProjectFiles","flatMap","pattern","has","renderHeader","contentLines","blockStart","line","lineStart","lineEnd","blockEnd","validateFormat","fileExtension","syntax","blockStartOpensBlockComment","block","startsWith","start","blockEndClosesBlockComment","endsWith","end","validBlockStart","validBlockEnd","validLineStart","JSON","stringify","includes","lastIndexOf","indexOf","parseFile","i","hashbangLines","headerLines","withinBlockComment","withinLineCommentSeries","trimmedLine","bodyLines","slice","hashbang","body","fileName","fileNameParts","commentSyntax","existingContent","newHashbang","newBody","write"],"mappings":"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"}
|
|
@@ -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 { LicenseSourceConfig } from '../config-types';
|
|
7
7
|
/**
|
|
8
8
|
* Different project files with licensing information to be synchronised
|
|
9
9
|
*/
|
|
@@ -12,4 +12,4 @@ export type ProjectFileToSync = (typeof PROJECT_FILES_TO_SYNC)[number];
|
|
|
12
12
|
/**
|
|
13
13
|
* Synchronise a particular project file
|
|
14
14
|
*/
|
|
15
|
-
export declare const syncProjectFile: (tree: Tree, projectRoot: string, projectFile: (typeof PROJECT_FILES_TO_SYNC)[number], config:
|
|
15
|
+
export declare const syncProjectFile: (tree: Tree, projectRoot: string, projectFile: (typeof PROJECT_FILES_TO_SYNC)[number], config: LicenseSourceConfig) => void;
|
|
@@ -1,59 +1,52 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.syncProjectFile = exports.PROJECT_FILES_TO_SYNC = 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
|
-
const toml_1 = require("../../utils/toml");
|
|
4
|
+
*/ import { generateFiles, joinPathFragments, updateJson } from "@nx/devkit";
|
|
5
|
+
import { updateToml } from "../../utils/toml.js";
|
|
10
6
|
/**
|
|
11
7
|
* Different project files with licensing information to be synchronised
|
|
12
|
-
*/
|
|
13
|
-
exports.PROJECT_FILES_TO_SYNC = [
|
|
8
|
+
*/ export const PROJECT_FILES_TO_SYNC = [
|
|
14
9
|
'LICENSE',
|
|
15
10
|
'package.json',
|
|
16
|
-
'pyproject.toml'
|
|
11
|
+
'pyproject.toml'
|
|
17
12
|
];
|
|
18
13
|
/**
|
|
19
14
|
* Methods to sync each type of project file
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'licenses', config.spdx), projectRoot, {
|
|
15
|
+
*/ const SYNC_STRATEGIES = {
|
|
16
|
+
LICENSE: (tree, projectRoot, config)=>{
|
|
17
|
+
generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'licenses', config.spdx), projectRoot, {
|
|
24
18
|
copyrightHolder: config.copyrightHolder,
|
|
25
|
-
year: config.copyrightYear
|
|
19
|
+
year: config.copyrightYear
|
|
26
20
|
}, {});
|
|
27
21
|
},
|
|
28
|
-
'package.json': (tree, projectRoot, config)
|
|
29
|
-
const packageJsonPath =
|
|
22
|
+
'package.json': (tree, projectRoot, config)=>{
|
|
23
|
+
const packageJsonPath = joinPathFragments(projectRoot, 'package.json');
|
|
30
24
|
if (tree.exists(packageJsonPath)) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
updateJson(tree, packageJsonPath, (prev)=>({
|
|
26
|
+
...prev,
|
|
27
|
+
license: config.spdx
|
|
28
|
+
}));
|
|
35
29
|
}
|
|
36
30
|
},
|
|
37
|
-
'pyproject.toml': (tree, projectRoot, config)
|
|
38
|
-
const pyProjectPath =
|
|
31
|
+
'pyproject.toml': (tree, projectRoot, config)=>{
|
|
32
|
+
const pyProjectPath = joinPathFragments(projectRoot, 'pyproject.toml');
|
|
39
33
|
if (tree.exists(pyProjectPath)) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
: {}
|
|
48
|
-
|
|
34
|
+
updateToml(tree, pyProjectPath, (prev)=>({
|
|
35
|
+
...prev,
|
|
36
|
+
license: config.spdx,
|
|
37
|
+
...tree.exists(joinPathFragments(projectRoot, 'LICENSE')) ? {
|
|
38
|
+
'license-files': [
|
|
39
|
+
'LICENSE'
|
|
40
|
+
]
|
|
41
|
+
} : {}
|
|
42
|
+
}));
|
|
49
43
|
}
|
|
50
|
-
}
|
|
44
|
+
}
|
|
51
45
|
};
|
|
52
46
|
/**
|
|
53
47
|
* Synchronise a particular project file
|
|
54
|
-
*/
|
|
55
|
-
const syncProjectFile = (tree, projectRoot, projectFile, config) => {
|
|
48
|
+
*/ export const syncProjectFile = (tree, projectRoot, projectFile, config)=>{
|
|
56
49
|
return SYNC_STRATEGIES[projectFile](tree, projectRoot, config);
|
|
57
50
|
};
|
|
58
|
-
|
|
51
|
+
|
|
59
52
|
//# sourceMappingURL=project-file-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/license/sync/project-file-sync.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n generateFiles,\n joinPathFragments,\n type Tree,\n updateJson,\n} from '@nx/devkit';\nimport { updateToml } from '../../utils/toml';\nimport type { LicenseSourceConfig } from '../config-types';\n\n/**\n * Different project files with licensing information to be synchronised\n */\nexport const PROJECT_FILES_TO_SYNC = [\n 'LICENSE',\n 'package.json',\n 'pyproject.toml',\n] as const;\n\nexport type ProjectFileToSync = (typeof PROJECT_FILES_TO_SYNC)[number];\n\n/**\n * Methods to sync each type of project file\n */\nconst SYNC_STRATEGIES: Record<\n ProjectFileToSync,\n (tree: Tree, projectRoot: string, config: LicenseSourceConfig) => void\n> = {\n LICENSE: (tree, projectRoot, config) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'licenses', config.spdx),\n projectRoot,\n {\n copyrightHolder: config.copyrightHolder,\n year: config.copyrightYear,\n },\n {},\n );\n },\n 'package.json': (tree, projectRoot, config) => {\n const packageJsonPath = joinPathFragments(projectRoot, 'package.json');\n if (tree.exists(packageJsonPath)) {\n updateJson(tree, packageJsonPath, (prev) => ({\n ...prev,\n license: config.spdx,\n }));\n }\n },\n 'pyproject.toml': (tree, projectRoot, config) => {\n const pyProjectPath = joinPathFragments(projectRoot, 'pyproject.toml');\n if (tree.exists(pyProjectPath)) {\n updateToml(tree, pyProjectPath, (prev) => ({\n ...prev,\n license: config.spdx,\n ...(tree.exists(joinPathFragments(projectRoot, 'LICENSE'))\n ? {\n 'license-files': ['LICENSE'],\n }\n : {}),\n }));\n }\n },\n};\n\n/**\n * Synchronise a particular project file\n */\nexport const syncProjectFile = (\n tree: Tree,\n projectRoot: string,\n projectFile: (typeof PROJECT_FILES_TO_SYNC)[number],\n config: LicenseSourceConfig,\n) => {\n return SYNC_STRATEGIES[projectFile](tree, projectRoot, config);\n};\n"],"names":["generateFiles","joinPathFragments","updateJson","updateToml","PROJECT_FILES_TO_SYNC","SYNC_STRATEGIES","LICENSE","tree","projectRoot","config","dirname","spdx","copyrightHolder","year","copyrightYear","packageJsonPath","exists","prev","license","pyProjectPath","syncProjectFile","projectFile"],"mappings":"AAAA;;;CAGC,GACD,SACEA,aAAa,EACbC,iBAAiB,EAEjBC,UAAU,QACL,aAAa;AACpB,SAASC,UAAU,QAAQ,sBAAmB;AAG9C;;CAEC,GACD,OAAO,MAAMC,wBAAwB;IACnC;IACA;IACA;CACD,CAAU;AAIX;;CAEC,GACD,MAAMC,kBAGF;IACFC,SAAS,CAACC,MAAMC,aAAaC;QAC3BT,cACEO,MACAN,kBAAkB,YAAYS,OAAO,EAAE,SAAS,YAAYD,OAAOE,IAAI,GACvEH,aACA;YACEI,iBAAiBH,OAAOG,eAAe;YACvCC,MAAMJ,OAAOK,aAAa;QAC5B,GACA,CAAC;IAEL;IACA,gBAAgB,CAACP,MAAMC,aAAaC;QAClC,MAAMM,kBAAkBd,kBAAkBO,aAAa;QACvD,IAAID,KAAKS,MAAM,CAACD,kBAAkB;YAChCb,WAAWK,MAAMQ,iBAAiB,CAACE,OAAU,CAAA;oBAC3C,GAAGA,IAAI;oBACPC,SAAST,OAAOE,IAAI;gBACtB,CAAA;QACF;IACF;IACA,kBAAkB,CAACJ,MAAMC,aAAaC;QACpC,MAAMU,gBAAgBlB,kBAAkBO,aAAa;QACrD,IAAID,KAAKS,MAAM,CAACG,gBAAgB;YAC9BhB,WAAWI,MAAMY,eAAe,CAACF,OAAU,CAAA;oBACzC,GAAGA,IAAI;oBACPC,SAAST,OAAOE,IAAI;oBACpB,GAAIJ,KAAKS,MAAM,CAACf,kBAAkBO,aAAa,cAC3C;wBACE,iBAAiB;4BAAC;yBAAU;oBAC9B,IACA,CAAC,CAAC;gBACR,CAAA;QACF;IACF;AACF;AAEA;;CAEC,GACD,OAAO,MAAMY,kBAAkB,CAC7Bb,MACAC,aACAa,aACAZ;IAEA,OAAOJ,eAAe,CAACgB,YAAY,CAACd,MAAMC,aAAaC;AACzD,EAAE"}
|
|
@@ -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 { NxGeneratorInfo } from '../utils/generators';
|
|
2
6
|
export { buildNxCommand } from './guide-render';
|
|
3
7
|
/**
|
|
4
8
|
* Render summary information about a generator
|