@aws/nx-plugin 1.0.0-rc.89 → 1.0.0-rc.90

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.
Files changed (148) hide show
  1. package/README.md +22 -22
  2. package/executors.json +5 -0
  3. package/generators.json +2 -1
  4. package/migrations.json +47 -2
  5. package/package.json +1 -1
  6. package/src/infra/app/__snapshots__/generator.spec.ts.snap +24 -12
  7. package/src/infra/app/generator.js +9 -7
  8. package/src/infra/app/generator.js.map +1 -1
  9. package/src/mcp-server/generator-info.d.ts +5 -0
  10. package/src/mcp-server/generator-info.js +6 -2
  11. package/src/mcp-server/generator-info.js.map +1 -1
  12. package/src/migrations/latest/add-assemble-target/metadata.json +3 -0
  13. package/src/migrations/latest/add-assemble-target/migration.d.ts +6 -0
  14. package/src/migrations/latest/add-assemble-target/migration.js +241 -0
  15. package/src/migrations/latest/add-assemble-target/migration.js.map +1 -0
  16. package/src/migrations/latest/declare-cacheable-target-inputs/metadata.json +3 -0
  17. package/src/migrations/latest/declare-cacheable-target-inputs/migration.d.ts +6 -0
  18. package/src/migrations/latest/declare-cacheable-target-inputs/migration.js +94 -0
  19. package/src/migrations/latest/declare-cacheable-target-inputs/migration.js.map +1 -0
  20. package/src/migrations/latest/dev-target-depends-on-pull-image/metadata.json +3 -0
  21. package/src/migrations/latest/dev-target-depends-on-pull-image/migration.d.ts +6 -0
  22. package/src/migrations/latest/dev-target-depends-on-pull-image/migration.js +67 -0
  23. package/src/migrations/latest/dev-target-depends-on-pull-image/migration.js.map +1 -0
  24. package/src/migrations/latest/docker-target-cache-soundness/metadata.json +3 -0
  25. package/src/migrations/latest/docker-target-cache-soundness/migration.d.ts +6 -0
  26. package/src/migrations/latest/docker-target-cache-soundness/migration.js +95 -0
  27. package/src/migrations/latest/docker-target-cache-soundness/migration.js.map +1 -0
  28. package/src/migrations/latest/open-api-codegen-executor/metadata.json +3 -0
  29. package/src/migrations/latest/open-api-codegen-executor/migration.d.ts +6 -0
  30. package/src/migrations/latest/open-api-codegen-executor/migration.js +100 -0
  31. package/src/migrations/latest/open-api-codegen-executor/migration.js.map +1 -0
  32. package/src/migrations/latest/python-test-input-scoping/metadata.json +3 -0
  33. package/src/migrations/latest/python-test-input-scoping/migration.d.ts +6 -0
  34. package/src/migrations/latest/python-test-input-scoping/migration.js +142 -0
  35. package/src/migrations/latest/python-test-input-scoping/migration.js.map +1 -0
  36. package/src/migrations/latest/terraform-fmt-check/metadata.json +3 -0
  37. package/src/migrations/latest/terraform-fmt-check/migration.d.ts +6 -0
  38. package/src/migrations/latest/terraform-fmt-check/migration.js +165 -0
  39. package/src/migrations/latest/terraform-fmt-check/migration.js.map +1 -0
  40. package/src/migrations/latest/terraform-provider-plugin-cache/metadata.json +3 -0
  41. package/src/migrations/latest/terraform-provider-plugin-cache/migration.d.ts +6 -0
  42. package/src/migrations/latest/terraform-provider-plugin-cache/migration.js +164 -0
  43. package/src/migrations/latest/terraform-provider-plugin-cache/migration.js.map +1 -0
  44. package/src/migrations/latest/vitest-coverage-output-dir/metadata.json +3 -0
  45. package/src/migrations/latest/vitest-coverage-output-dir/migration.d.ts +6 -0
  46. package/src/migrations/latest/vitest-coverage-output-dir/migration.js +177 -0
  47. package/src/migrations/latest/vitest-coverage-output-dir/migration.js.map +1 -0
  48. package/src/open-api/codegen/executor-schema.d.js +6 -0
  49. package/src/open-api/codegen/executor-schema.d.js.map +1 -0
  50. package/src/open-api/codegen/executor-schema.d.ts +18 -0
  51. package/src/open-api/codegen/executor-schema.json +33 -0
  52. package/src/open-api/codegen/executor.d.ts +18 -0
  53. package/src/open-api/codegen/executor.js +56 -0
  54. package/src/open-api/codegen/executor.js.map +1 -0
  55. package/src/preset/__snapshots__/generator.spec.ts.snap +2 -1
  56. package/src/py/agent/generator.js +21 -22
  57. package/src/py/agent/generator.js.map +1 -1
  58. package/src/py/agent/react-connection/generator.js +9 -0
  59. package/src/py/agent/react-connection/generator.js.map +1 -1
  60. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +0 -30
  61. package/src/py/fast-api/react/open-api.js +19 -7
  62. package/src/py/fast-api/react/open-api.js.map +1 -1
  63. package/src/py/mcp-server/generator.js +4 -4
  64. package/src/py/mcp-server/generator.js.map +1 -1
  65. package/src/py/project/generator.d.ts +9 -0
  66. package/src/py/project/generator.js +51 -1
  67. package/src/py/project/generator.js.map +1 -1
  68. package/src/py/rdb/generator.js +10 -4
  69. package/src/py/rdb/generator.js.map +1 -1
  70. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +15 -0
  71. package/src/smithy/project/generator.js +10 -0
  72. package/src/smithy/project/generator.js.map +1 -1
  73. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +7 -0
  74. package/src/terraform/project/files/application/scripts/env.ts.template +11 -0
  75. package/src/terraform/project/files/application/scripts/init.ts.template +2 -1
  76. package/src/terraform/project/files/application/src/providers.tf.template +2 -2
  77. package/src/terraform/project/generator.d.ts +11 -1
  78. package/src/terraform/project/generator.js +104 -20
  79. package/src/terraform/project/generator.js.map +1 -1
  80. package/src/trpc/backend/generator.js +2 -2
  81. package/src/trpc/backend/generator.js.map +1 -1
  82. package/src/ts/agent/generator.js +4 -7
  83. package/src/ts/agent/generator.js.map +1 -1
  84. package/src/ts/astro-docs/generator.js +5 -0
  85. package/src/ts/astro-docs/generator.js.map +1 -1
  86. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +0 -30
  87. package/src/ts/dynamodb/generator.js +3 -0
  88. package/src/ts/dynamodb/generator.js.map +1 -1
  89. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +10 -1
  90. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +1 -1
  91. package/src/ts/lib/generator.d.ts +16 -0
  92. package/src/ts/lib/generator.js +31 -5
  93. package/src/ts/lib/generator.js.map +1 -1
  94. package/src/ts/lib/vitest.d.ts +11 -0
  95. package/src/ts/lib/vitest.js +31 -2
  96. package/src/ts/lib/vitest.js.map +1 -1
  97. package/src/ts/mcp-server/generator.js +4 -7
  98. package/src/ts/mcp-server/generator.js.map +1 -1
  99. package/src/ts/rdb/generator.js +8 -5
  100. package/src/ts/rdb/generator.js.map +1 -1
  101. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +27 -11
  102. package/src/ts/react-website/app/generator.js +9 -1
  103. package/src/ts/react-website/app/generator.js.map +1 -1
  104. package/src/ts/sync/generator.js +19 -2
  105. package/src/ts/sync/generator.js.map +1 -1
  106. package/src/utils/agent-core-constructs/agent-core-constructs.js +3 -3
  107. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  108. package/src/utils/api-constructs/api-constructs.js +2 -2
  109. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  110. package/src/utils/api-constructs/open-api-metadata.js +15 -36
  111. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  112. package/src/utils/api-constructs/trpc-operations-metadata.js +9 -3
  113. package/src/utils/api-constructs/trpc-operations-metadata.js.map +1 -1
  114. package/src/utils/bundle/bundle.js +13 -4
  115. package/src/utils/bundle/bundle.js.map +1 -1
  116. package/src/utils/connection/open-api/react.js +7 -17
  117. package/src/utils/connection/open-api/react.js.map +1 -1
  118. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js +2 -2
  119. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js.map +1 -1
  120. package/src/utils/docker.d.ts +22 -10
  121. package/src/utils/docker.js +27 -17
  122. package/src/utils/docker.js.map +1 -1
  123. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +2 -2
  124. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  125. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +0 -15
  126. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +0 -15
  127. package/src/utils/format.d.ts +5 -0
  128. package/src/utils/format.js +5 -0
  129. package/src/utils/format.js.map +1 -1
  130. package/src/utils/function-constructs/function-constructs.js +2 -2
  131. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  132. package/src/utils/generators.d.ts +33 -0
  133. package/src/utils/generators.js +18 -3
  134. package/src/utils/generators.js.map +1 -1
  135. package/src/utils/init.js +4 -6
  136. package/src/utils/init.js.map +1 -1
  137. package/src/utils/mock-project-graph.js +5 -2
  138. package/src/utils/mock-project-graph.js.map +1 -1
  139. package/src/utils/nx.d.ts +19 -0
  140. package/src/utils/nx.js +23 -0
  141. package/src/utils/nx.js.map +1 -1
  142. package/src/utils/open-api-codegen-target.d.ts +28 -0
  143. package/src/utils/open-api-codegen-target.js +31 -0
  144. package/src/utils/open-api-codegen-target.js.map +1 -0
  145. package/src/utils/rdb-constructs/rdb-constructs.js +2 -2
  146. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  147. package/src/utils/website-constructs/website-constructs.js +2 -2
  148. package/src/utils/website-constructs/website-constructs.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/nx-plugin/src/utils/rdb-constructs/rdb-constructs.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 OverwriteStrategy,\n type ProjectConfiguration,\n type Tree,\n updateJson,\n} from '@nx/devkit';\nimport { addStarExport } from '../ast.js';\nimport type { Containers } from '../containers.js';\nimport type { Iac } from '../iac.js';\nimport { esmVars } from '../module-format.js';\nimport { addDependencyToTargetIfNotPresent } from '../nx.js';\nimport {\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n SHARED_TERRAFORM_DIR,\n} from '../shared-constructs-constants.js';\nimport {\n cdkLambdaRuntimeVars,\n terraformLambdaRuntimeVars,\n terraformProviderVersions,\n} from '../versions.js';\n\n/**\n * Aurora Serverless v2 scaling bounds, in ACUs, that both IaC providers derive\n * from so the same generator options vend the same ceiling regardless of `--iac`.\n *\n * Set explicitly on CDK rather than inheriting `DatabaseClusterProps`, whose\n * default moves with `aws-cdk-lib`. Serverless v2 bills on ACUs consumed, not on\n * the ceiling, so the maximum is headroom rather than a cost commitment.\n */\nexport const AURORA_SERVERLESS_V2_CAPACITY = {\n min: 0.5,\n max: 4,\n} as const;\n\n/**\n * Substitution variables exposing the Aurora Serverless v2 scaling bounds to\n * generated CDK and Terraform templates.\n */\nconst auroraServerlessV2Capacity = () => ({\n serverlessMinCapacity: AURORA_SERVERLESS_V2_CAPACITY.min,\n serverlessMaxCapacity: AURORA_SERVERLESS_V2_CAPACITY.max,\n});\n\nexport interface AddRdbConstructOptions {\n projectName: string;\n projectRoot: string;\n nameClassName: string;\n nameKebabCase: string;\n databasePackageAlias: string;\n databaseName: string;\n adminUser: string;\n engine: 'postgres' | 'mysql';\n migrationBundleDir: string;\n /**\n * Node.js zip bundle directory for the create-db-user Lambda (ts#rdb).\n * When absent the migration Docker image is reused with the\n * `create_db_user_handler.handler` command (py#rdb).\n */\n createDbUserBundleDir: string;\n /** ORM framework used by the create-db-user Lambda. */\n framework: 'prisma' | 'sqlmodel';\n /** Local Docker tag for the Python create-db-user Lambda image. */\n createDbUserDockerImageTag?: string;\n /** Local Docker tag for the migration Lambda image. */\n migrationDockerImageTag: string;\n containerEngine: Containers;\n}\n\nexport const addRdbInfra = async (\n tree: Tree,\n options: AddRdbConstructOptions & { iac: Iac },\n) => {\n if (options.iac === 'cdk') {\n await addRdbCdkConstructs(tree, options);\n } else if (options.iac === 'terraform') {\n addRdbTerraformModules(tree, options);\n } else {\n throw new Error(`Unsupported iac ${options.iac}`);\n }\n\n updateJson(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n options.iac === 'cdk' ? SHARED_CONSTRUCTS_DIR : SHARED_TERRAFORM_DIR,\n 'project.json',\n ),\n (config: ProjectConfiguration) => {\n addDependencyToTargetIfNotPresent(\n config,\n 'build',\n `${options.projectName}:build`,\n );\n return config;\n },\n );\n};\n\nexport const addRdbCdkConstructs = async (\n tree: Tree,\n options: AddRdbConstructOptions,\n) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cdk', 'core', 'rdb'),\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'core',\n 'rdb',\n ),\n { ...options, ...esmVars(tree), ...auroraServerlessV2Capacity() },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cdk', 'app', 'dbs'),\n joinPathFragments(PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, 'src', 'app', 'dbs'),\n { ...options, ...esmVars(tree), ...cdkLambdaRuntimeVars() },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'core',\n 'index.ts',\n ),\n './rdb/aurora.js',\n );\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'app',\n 'dbs',\n 'index.ts',\n ),\n `./${options.nameKebabCase}.js`,\n );\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'app',\n 'index.ts',\n ),\n './dbs/index.js',\n );\n};\n\nexport const addRdbTerraformModules = (\n tree: Tree,\n options: AddRdbConstructOptions,\n) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'terraform', 'core', 'rdb'),\n joinPathFragments(PACKAGES_DIR, SHARED_TERRAFORM_DIR, 'src', 'core', 'rdb'),\n { ...terraformProviderVersions(), ...auroraServerlessV2Capacity() },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'terraform', 'app', 'dbs'),\n joinPathFragments(PACKAGES_DIR, SHARED_TERRAFORM_DIR, 'src', 'app', 'dbs'),\n {\n ...options,\n ...terraformProviderVersions(),\n ...auroraServerlessV2Capacity(),\n ...terraformLambdaRuntimeVars(),\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n};\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateJson","addStarExport","esmVars","addDependencyToTargetIfNotPresent","PACKAGES_DIR","SHARED_CONSTRUCTS_DIR","SHARED_TERRAFORM_DIR","cdkLambdaRuntimeVars","terraformLambdaRuntimeVars","terraformProviderVersions","AURORA_SERVERLESS_V2_CAPACITY","min","max","auroraServerlessV2Capacity","serverlessMinCapacity","serverlessMaxCapacity","addRdbInfra","tree","options","iac","addRdbCdkConstructs","addRdbTerraformModules","Error","config","projectName","dirname","overwriteStrategy","KeepExisting","nameKebabCase"],"mappings":"AAAA;;;CAGC,GACD,SACEA,aAAa,EACbC,iBAAiB,EACjBC,iBAAiB,EAGjBC,UAAU,QACL,aAAa;AACpB,SAASC,aAAa,QAAQ,YAAY;AAG1C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,iCAAiC,QAAQ,WAAW;AAC7D,SACEC,YAAY,EACZC,qBAAqB,EACrBC,oBAAoB,QACf,oCAAoC;AAC3C,SACEC,oBAAoB,EACpBC,0BAA0B,EAC1BC,yBAAyB,QACpB,iBAAiB;AAExB;;;;;;;CAOC,GACD,OAAO,MAAMC,gCAAgC;IAC3CC,KAAK;IACLC,KAAK;AACP,EAAW;AAEX;;;CAGC,GACD,MAAMC,6BAA6B,IAAO,CAAA;QACxCC,uBAAuBJ,8BAA8BC,GAAG;QACxDI,uBAAuBL,8BAA8BE,GAAG;IAC1D,CAAA;AA2BA,OAAO,MAAMI,cAAc,OACzBC,MACAC;IAEA,IAAIA,QAAQC,GAAG,KAAK,OAAO;QACzB,MAAMC,oBAAoBH,MAAMC;IAClC,OAAO,IAAIA,QAAQC,GAAG,KAAK,aAAa;QACtCE,uBAAuBJ,MAAMC;IAC/B,OAAO;QACL,MAAM,IAAII,MAAM,CAAC,gBAAgB,EAAEJ,QAAQC,GAAG,EAAE;IAClD;IAEAnB,WACEiB,MACAnB,kBACEM,cACAc,QAAQC,GAAG,KAAK,QAAQd,wBAAwBC,sBAChD,iBAEF,CAACiB;QACCpB,kCACEoB,QACA,SACA,GAAGL,QAAQM,WAAW,CAAC,MAAM,CAAC;QAEhC,OAAOD;IACT;AAEJ,EAAE;AAEF,OAAO,MAAMH,sBAAsB,OACjCH,MACAC;IAEArB,cACEoB,MACAnB,kBAAkB,YAAY2B,OAAO,EAAE,SAAS,OAAO,QAAQ,QAC/D3B,kBACEM,cACAC,uBACA,OACA,QACA,QAEF;QAAE,GAAGa,OAAO;QAAE,GAAGhB,QAAQe,KAAK;QAAE,GAAGJ,4BAA4B;IAAC,GAChE;QACEa,mBAAmB3B,kBAAkB4B,YAAY;IACnD;IAGF9B,cACEoB,MACAnB,kBAAkB,YAAY2B,OAAO,EAAE,SAAS,OAAO,OAAO,QAC9D3B,kBAAkBM,cAAcC,uBAAuB,OAAO,OAAO,QACrE;QAAE,GAAGa,OAAO;QAAE,GAAGhB,QAAQe,KAAK;QAAE,GAAGV,sBAAsB;IAAC,GAC1D;QACEmB,mBAAmB3B,kBAAkB4B,YAAY;IACnD;IAGF,MAAM1B,cACJgB,MACAnB,kBACEM,cACAC,uBACA,OACA,QACA,aAEF;IAEF,MAAMJ,cACJgB,MACAnB,kBACEM,cACAC,uBACA,OACA,OACA,OACA,aAEF,CAAC,EAAE,EAAEa,QAAQU,aAAa,CAAC,GAAG,CAAC;IAEjC,MAAM3B,cACJgB,MACAnB,kBACEM,cACAC,uBACA,OACA,OACA,aAEF;AAEJ,EAAE;AAEF,OAAO,MAAMgB,yBAAyB,CACpCJ,MACAC;IAEArB,cACEoB,MACAnB,kBAAkB,YAAY2B,OAAO,EAAE,SAAS,aAAa,QAAQ,QACrE3B,kBAAkBM,cAAcE,sBAAsB,OAAO,QAAQ,QACrE;QAAE,GAAGG,2BAA2B;QAAE,GAAGI,4BAA4B;IAAC,GAClE;QACEa,mBAAmB3B,kBAAkB4B,YAAY;IACnD;IAGF9B,cACEoB,MACAnB,kBAAkB,YAAY2B,OAAO,EAAE,SAAS,aAAa,OAAO,QACpE3B,kBAAkBM,cAAcE,sBAAsB,OAAO,OAAO,QACpE;QACE,GAAGY,OAAO;QACV,GAAGT,2BAA2B;QAC9B,GAAGI,4BAA4B;QAC/B,GAAGL,4BAA4B;IACjC,GACA;QACEkB,mBAAmB3B,kBAAkB4B,YAAY;IACnD;AAEJ,EAAE"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/utils/rdb-constructs/rdb-constructs.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 OverwriteStrategy,\n type ProjectConfiguration,\n type Tree,\n updateJson,\n} from '@nx/devkit';\nimport { addStarExport } from '../ast.js';\nimport type { Containers } from '../containers.js';\nimport type { Iac } from '../iac.js';\nimport { esmVars } from '../module-format.js';\nimport { addArtifactProjectToTargets } from '../nx.js';\nimport {\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n SHARED_TERRAFORM_DIR,\n} from '../shared-constructs-constants.js';\nimport {\n cdkLambdaRuntimeVars,\n terraformLambdaRuntimeVars,\n terraformProviderVersions,\n} from '../versions.js';\n\n/**\n * Aurora Serverless v2 scaling bounds, in ACUs, that both IaC providers derive\n * from so the same generator options vend the same ceiling regardless of `--iac`.\n *\n * Set explicitly on CDK rather than inheriting `DatabaseClusterProps`, whose\n * default moves with `aws-cdk-lib`. Serverless v2 bills on ACUs consumed, not on\n * the ceiling, so the maximum is headroom rather than a cost commitment.\n */\nexport const AURORA_SERVERLESS_V2_CAPACITY = {\n min: 0.5,\n max: 4,\n} as const;\n\n/**\n * Substitution variables exposing the Aurora Serverless v2 scaling bounds to\n * generated CDK and Terraform templates.\n */\nconst auroraServerlessV2Capacity = () => ({\n serverlessMinCapacity: AURORA_SERVERLESS_V2_CAPACITY.min,\n serverlessMaxCapacity: AURORA_SERVERLESS_V2_CAPACITY.max,\n});\n\nexport interface AddRdbConstructOptions {\n projectName: string;\n projectRoot: string;\n nameClassName: string;\n nameKebabCase: string;\n databasePackageAlias: string;\n databaseName: string;\n adminUser: string;\n engine: 'postgres' | 'mysql';\n migrationBundleDir: string;\n /**\n * Node.js zip bundle directory for the create-db-user Lambda (ts#rdb).\n * When absent the migration Docker image is reused with the\n * `create_db_user_handler.handler` command (py#rdb).\n */\n createDbUserBundleDir: string;\n /** ORM framework used by the create-db-user Lambda. */\n framework: 'prisma' | 'sqlmodel';\n /** Local Docker tag for the Python create-db-user Lambda image. */\n createDbUserDockerImageTag?: string;\n /** Local Docker tag for the migration Lambda image. */\n migrationDockerImageTag: string;\n containerEngine: Containers;\n}\n\nexport const addRdbInfra = async (\n tree: Tree,\n options: AddRdbConstructOptions & { iac: Iac },\n) => {\n if (options.iac === 'cdk') {\n await addRdbCdkConstructs(tree, options);\n } else if (options.iac === 'terraform') {\n addRdbTerraformModules(tree, options);\n } else {\n throw new Error(`Unsupported iac ${options.iac}`);\n }\n\n updateJson(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n options.iac === 'cdk' ? SHARED_CONSTRUCTS_DIR : SHARED_TERRAFORM_DIR,\n 'project.json',\n ),\n (config: ProjectConfiguration) => {\n addArtifactProjectToTargets(config, options.projectName);\n return config;\n },\n );\n};\n\nexport const addRdbCdkConstructs = async (\n tree: Tree,\n options: AddRdbConstructOptions,\n) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cdk', 'core', 'rdb'),\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'core',\n 'rdb',\n ),\n { ...options, ...esmVars(tree), ...auroraServerlessV2Capacity() },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cdk', 'app', 'dbs'),\n joinPathFragments(PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, 'src', 'app', 'dbs'),\n { ...options, ...esmVars(tree), ...cdkLambdaRuntimeVars() },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'core',\n 'index.ts',\n ),\n './rdb/aurora.js',\n );\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'app',\n 'dbs',\n 'index.ts',\n ),\n `./${options.nameKebabCase}.js`,\n );\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'app',\n 'index.ts',\n ),\n './dbs/index.js',\n );\n};\n\nexport const addRdbTerraformModules = (\n tree: Tree,\n options: AddRdbConstructOptions,\n) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'terraform', 'core', 'rdb'),\n joinPathFragments(PACKAGES_DIR, SHARED_TERRAFORM_DIR, 'src', 'core', 'rdb'),\n { ...terraformProviderVersions(), ...auroraServerlessV2Capacity() },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'terraform', 'app', 'dbs'),\n joinPathFragments(PACKAGES_DIR, SHARED_TERRAFORM_DIR, 'src', 'app', 'dbs'),\n {\n ...options,\n ...terraformProviderVersions(),\n ...auroraServerlessV2Capacity(),\n ...terraformLambdaRuntimeVars(),\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n};\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateJson","addStarExport","esmVars","addArtifactProjectToTargets","PACKAGES_DIR","SHARED_CONSTRUCTS_DIR","SHARED_TERRAFORM_DIR","cdkLambdaRuntimeVars","terraformLambdaRuntimeVars","terraformProviderVersions","AURORA_SERVERLESS_V2_CAPACITY","min","max","auroraServerlessV2Capacity","serverlessMinCapacity","serverlessMaxCapacity","addRdbInfra","tree","options","iac","addRdbCdkConstructs","addRdbTerraformModules","Error","config","projectName","dirname","overwriteStrategy","KeepExisting","nameKebabCase"],"mappings":"AAAA;;;CAGC,GACD,SACEA,aAAa,EACbC,iBAAiB,EACjBC,iBAAiB,EAGjBC,UAAU,QACL,aAAa;AACpB,SAASC,aAAa,QAAQ,YAAY;AAG1C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,2BAA2B,QAAQ,WAAW;AACvD,SACEC,YAAY,EACZC,qBAAqB,EACrBC,oBAAoB,QACf,oCAAoC;AAC3C,SACEC,oBAAoB,EACpBC,0BAA0B,EAC1BC,yBAAyB,QACpB,iBAAiB;AAExB;;;;;;;CAOC,GACD,OAAO,MAAMC,gCAAgC;IAC3CC,KAAK;IACLC,KAAK;AACP,EAAW;AAEX;;;CAGC,GACD,MAAMC,6BAA6B,IAAO,CAAA;QACxCC,uBAAuBJ,8BAA8BC,GAAG;QACxDI,uBAAuBL,8BAA8BE,GAAG;IAC1D,CAAA;AA2BA,OAAO,MAAMI,cAAc,OACzBC,MACAC;IAEA,IAAIA,QAAQC,GAAG,KAAK,OAAO;QACzB,MAAMC,oBAAoBH,MAAMC;IAClC,OAAO,IAAIA,QAAQC,GAAG,KAAK,aAAa;QACtCE,uBAAuBJ,MAAMC;IAC/B,OAAO;QACL,MAAM,IAAII,MAAM,CAAC,gBAAgB,EAAEJ,QAAQC,GAAG,EAAE;IAClD;IAEAnB,WACEiB,MACAnB,kBACEM,cACAc,QAAQC,GAAG,KAAK,QAAQd,wBAAwBC,sBAChD,iBAEF,CAACiB;QACCpB,4BAA4BoB,QAAQL,QAAQM,WAAW;QACvD,OAAOD;IACT;AAEJ,EAAE;AAEF,OAAO,MAAMH,sBAAsB,OACjCH,MACAC;IAEArB,cACEoB,MACAnB,kBAAkB,YAAY2B,OAAO,EAAE,SAAS,OAAO,QAAQ,QAC/D3B,kBACEM,cACAC,uBACA,OACA,QACA,QAEF;QAAE,GAAGa,OAAO;QAAE,GAAGhB,QAAQe,KAAK;QAAE,GAAGJ,4BAA4B;IAAC,GAChE;QACEa,mBAAmB3B,kBAAkB4B,YAAY;IACnD;IAGF9B,cACEoB,MACAnB,kBAAkB,YAAY2B,OAAO,EAAE,SAAS,OAAO,OAAO,QAC9D3B,kBAAkBM,cAAcC,uBAAuB,OAAO,OAAO,QACrE;QAAE,GAAGa,OAAO;QAAE,GAAGhB,QAAQe,KAAK;QAAE,GAAGV,sBAAsB;IAAC,GAC1D;QACEmB,mBAAmB3B,kBAAkB4B,YAAY;IACnD;IAGF,MAAM1B,cACJgB,MACAnB,kBACEM,cACAC,uBACA,OACA,QACA,aAEF;IAEF,MAAMJ,cACJgB,MACAnB,kBACEM,cACAC,uBACA,OACA,OACA,OACA,aAEF,CAAC,EAAE,EAAEa,QAAQU,aAAa,CAAC,GAAG,CAAC;IAEjC,MAAM3B,cACJgB,MACAnB,kBACEM,cACAC,uBACA,OACA,OACA,aAEF;AAEJ,EAAE;AAEF,OAAO,MAAMgB,yBAAyB,CACpCJ,MACAC;IAEArB,cACEoB,MACAnB,kBAAkB,YAAY2B,OAAO,EAAE,SAAS,aAAa,QAAQ,QACrE3B,kBAAkBM,cAAcE,sBAAsB,OAAO,QAAQ,QACrE;QAAE,GAAGG,2BAA2B;QAAE,GAAGI,4BAA4B;IAAC,GAClE;QACEa,mBAAmB3B,kBAAkB4B,YAAY;IACnD;IAGF9B,cACEoB,MACAnB,kBAAkB,YAAY2B,OAAO,EAAE,SAAS,aAAa,OAAO,QACpE3B,kBAAkBM,cAAcE,sBAAsB,OAAO,OAAO,QACpE;QACE,GAAGY,OAAO;QACV,GAAGT,2BAA2B;QAC9B,GAAGI,4BAA4B;QAC/B,GAAGL,4BAA4B;IACjC,GACA;QACEkB,mBAAmB3B,kBAAkB4B,YAAY;IACnD;AAEJ,EAAE"}
@@ -4,7 +4,7 @@
4
4
  */ import { generateFiles, joinPathFragments, OverwriteStrategy, updateJson } from "@nx/devkit";
5
5
  import { addStarExport } from "../ast.js";
6
6
  import { esmVars } from "../module-format.js";
7
- import { addDependencyToTargetIfNotPresent } from "../nx.js";
7
+ import { addArtifactProjectToTargets } from "../nx.js";
8
8
  import { generatedTerraform, PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, SHARED_TERRAFORM_DIR } from "../shared-constructs-constants.js";
9
9
  import { PY_VERSIONS, terraformProviderVersions } from "../versions.js";
10
10
  /**
@@ -29,7 +29,7 @@ import { PY_VERSIONS, terraformProviderVersions } from "../versions.js";
29
29
  throw new Error(`Unsupported iac ${options.iac}`);
30
30
  }
31
31
  updateJson(tree, joinPathFragments(PACKAGES_DIR, options.iac === 'cdk' ? SHARED_CONSTRUCTS_DIR : SHARED_TERRAFORM_DIR, 'project.json'), (config)=>{
32
- addDependencyToTargetIfNotPresent(config, 'build', `${options.websiteProjectName}:build`);
32
+ addArtifactProjectToTargets(config, options.websiteProjectName);
33
33
  return config;
34
34
  });
35
35
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/nx-plugin/src/utils/website-constructs/website-constructs.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 OverwriteStrategy,\n type ProjectConfiguration,\n type Tree,\n updateJson,\n} from '@nx/devkit';\nimport { addStarExport } from '../ast.js';\nimport type { DeclaredPyDependency } from '../declared-dependencies.js';\nimport type { Iac } from '../iac.js';\nimport { esmVars } from '../module-format.js';\nimport { addDependencyToTargetIfNotPresent } from '../nx.js';\nimport {\n generatedTerraform,\n type IacMetadata,\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n SHARED_TERRAFORM_DIR,\n} from '../shared-constructs-constants.js';\nimport {\n type IPyDepVersion,\n PY_VERSIONS,\n terraformProviderVersions,\n} from '../versions.js';\n\n/**\n * Python version the generated Terraform pins in the static website module's\n * inline `uv run --with` scripts, which upload the site's assets. Nothing\n * installs it, so it is declared for its version alone, and only on the\n * Terraform branch that writes the scripts.\n */\nexport const WEBSITE_CONSTRUCTS_PY_DEPENDENCIES = [\n { name: 'boto3', when: generatedTerraform },\n] as const satisfies readonly DeclaredPyDependency<\n IPyDepVersion,\n IacMetadata\n>[];\n\nexport interface AddWebsiteInfraOptions {\n websiteProjectName: string;\n scopeAlias: string;\n websiteContentPath: string;\n websiteNameKebabCase: string;\n websiteNameClassName: string;\n}\n\n/**\n * Add infrastructure for a static website\n */\nexport const addWebsiteInfra = async (\n tree: Tree,\n options: AddWebsiteInfraOptions & { iac: Iac },\n) => {\n if (options.iac === 'cdk') {\n await addWebsiteCdkConstructs(tree, options);\n } else if (options.iac === 'terraform') {\n addWebsiteTerraformModules(tree, options);\n } else {\n throw new Error(`Unsupported iac ${options.iac}`);\n }\n\n updateJson(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n options.iac === 'cdk' ? SHARED_CONSTRUCTS_DIR : SHARED_TERRAFORM_DIR,\n 'project.json',\n ),\n (config: ProjectConfiguration) => {\n addDependencyToTargetIfNotPresent(\n config,\n 'build',\n `${options.websiteProjectName}:build`,\n );\n return config;\n },\n );\n};\n\nconst addWebsiteCdkConstructs = async (\n tree: Tree,\n options: AddWebsiteInfraOptions,\n) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cdk', 'core'),\n joinPathFragments(PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, 'src', 'core'),\n { ...options, ...esmVars(tree) },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cdk', 'app'),\n joinPathFragments(PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, 'src', 'app'),\n { ...options, ...esmVars(tree) },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'app',\n 'index.ts',\n ),\n './static-websites/index.js',\n );\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'app',\n 'static-websites',\n 'index.ts',\n ),\n `./${options.websiteNameKebabCase}.js`,\n );\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'core',\n 'index.ts',\n ),\n './static-website.js',\n );\n};\n\nconst addWebsiteTerraformModules = (\n tree: Tree,\n options: AddWebsiteInfraOptions,\n) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'terraform', 'core'),\n joinPathFragments(PACKAGES_DIR, SHARED_TERRAFORM_DIR, 'src', 'core'),\n {\n ...options,\n boto3Version: PY_VERSIONS.boto3,\n ...terraformProviderVersions(),\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'terraform', 'app'),\n joinPathFragments(PACKAGES_DIR, SHARED_TERRAFORM_DIR, 'src', 'app'),\n { ...options, ...terraformProviderVersions() },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n};\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateJson","addStarExport","esmVars","addDependencyToTargetIfNotPresent","generatedTerraform","PACKAGES_DIR","SHARED_CONSTRUCTS_DIR","SHARED_TERRAFORM_DIR","PY_VERSIONS","terraformProviderVersions","WEBSITE_CONSTRUCTS_PY_DEPENDENCIES","name","when","addWebsiteInfra","tree","options","iac","addWebsiteCdkConstructs","addWebsiteTerraformModules","Error","config","websiteProjectName","dirname","overwriteStrategy","KeepExisting","websiteNameKebabCase","boto3Version","boto3"],"mappings":"AAAA;;;CAGC,GACD,SACEA,aAAa,EACbC,iBAAiB,EACjBC,iBAAiB,EAGjBC,UAAU,QACL,aAAa;AACpB,SAASC,aAAa,QAAQ,YAAY;AAG1C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,iCAAiC,QAAQ,WAAW;AAC7D,SACEC,kBAAkB,EAElBC,YAAY,EACZC,qBAAqB,EACrBC,oBAAoB,QACf,oCAAoC;AAC3C,SAEEC,WAAW,EACXC,yBAAyB,QACpB,iBAAiB;AAExB;;;;;CAKC,GACD,OAAO,MAAMC,qCAAqC;IAChD;QAAEC,MAAM;QAASC,MAAMR;IAAmB;CAC3C,CAGG;AAUJ;;CAEC,GACD,OAAO,MAAMS,kBAAkB,OAC7BC,MACAC;IAEA,IAAIA,QAAQC,GAAG,KAAK,OAAO;QACzB,MAAMC,wBAAwBH,MAAMC;IACtC,OAAO,IAAIA,QAAQC,GAAG,KAAK,aAAa;QACtCE,2BAA2BJ,MAAMC;IACnC,OAAO;QACL,MAAM,IAAII,MAAM,CAAC,gBAAgB,EAAEJ,QAAQC,GAAG,EAAE;IAClD;IAEAhB,WACEc,MACAhB,kBACEO,cACAU,QAAQC,GAAG,KAAK,QAAQV,wBAAwBC,sBAChD,iBAEF,CAACa;QACCjB,kCACEiB,QACA,SACA,GAAGL,QAAQM,kBAAkB,CAAC,MAAM,CAAC;QAEvC,OAAOD;IACT;AAEJ,EAAE;AAEF,MAAMH,0BAA0B,OAC9BH,MACAC;IAEAlB,cACEiB,MACAhB,kBAAkB,YAAYwB,OAAO,EAAE,SAAS,OAAO,SACvDxB,kBAAkBO,cAAcC,uBAAuB,OAAO,SAC9D;QAAE,GAAGS,OAAO;QAAE,GAAGb,QAAQY,KAAK;IAAC,GAC/B;QACES,mBAAmBxB,kBAAkByB,YAAY;IACnD;IAGF3B,cACEiB,MACAhB,kBAAkB,YAAYwB,OAAO,EAAE,SAAS,OAAO,QACvDxB,kBAAkBO,cAAcC,uBAAuB,OAAO,QAC9D;QAAE,GAAGS,OAAO;QAAE,GAAGb,QAAQY,KAAK;IAAC,GAC/B;QACES,mBAAmBxB,kBAAkByB,YAAY;IACnD;IAGF,MAAMvB,cACJa,MACAhB,kBACEO,cACAC,uBACA,OACA,OACA,aAEF;IAEF,MAAML,cACJa,MACAhB,kBACEO,cACAC,uBACA,OACA,OACA,mBACA,aAEF,CAAC,EAAE,EAAES,QAAQU,oBAAoB,CAAC,GAAG,CAAC;IAExC,MAAMxB,cACJa,MACAhB,kBACEO,cACAC,uBACA,OACA,QACA,aAEF;AAEJ;AAEA,MAAMY,6BAA6B,CACjCJ,MACAC;IAEAlB,cACEiB,MACAhB,kBAAkB,YAAYwB,OAAO,EAAE,SAAS,aAAa,SAC7DxB,kBAAkBO,cAAcE,sBAAsB,OAAO,SAC7D;QACE,GAAGQ,OAAO;QACVW,cAAclB,YAAYmB,KAAK;QAC/B,GAAGlB,2BAA2B;IAChC,GACA;QACEc,mBAAmBxB,kBAAkByB,YAAY;IACnD;IAGF3B,cACEiB,MACAhB,kBAAkB,YAAYwB,OAAO,EAAE,SAAS,aAAa,QAC7DxB,kBAAkBO,cAAcE,sBAAsB,OAAO,QAC7D;QAAE,GAAGQ,OAAO;QAAE,GAAGN,2BAA2B;IAAC,GAC7C;QACEc,mBAAmBxB,kBAAkByB,YAAY;IACnD;AAEJ"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/utils/website-constructs/website-constructs.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 OverwriteStrategy,\n type ProjectConfiguration,\n type Tree,\n updateJson,\n} from '@nx/devkit';\nimport { addStarExport } from '../ast.js';\nimport type { DeclaredPyDependency } from '../declared-dependencies.js';\nimport type { Iac } from '../iac.js';\nimport { esmVars } from '../module-format.js';\nimport { addArtifactProjectToTargets } from '../nx.js';\nimport {\n generatedTerraform,\n type IacMetadata,\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n SHARED_TERRAFORM_DIR,\n} from '../shared-constructs-constants.js';\nimport {\n type IPyDepVersion,\n PY_VERSIONS,\n terraformProviderVersions,\n} from '../versions.js';\n\n/**\n * Python version the generated Terraform pins in the static website module's\n * inline `uv run --with` scripts, which upload the site's assets. Nothing\n * installs it, so it is declared for its version alone, and only on the\n * Terraform branch that writes the scripts.\n */\nexport const WEBSITE_CONSTRUCTS_PY_DEPENDENCIES = [\n { name: 'boto3', when: generatedTerraform },\n] as const satisfies readonly DeclaredPyDependency<\n IPyDepVersion,\n IacMetadata\n>[];\n\nexport interface AddWebsiteInfraOptions {\n websiteProjectName: string;\n scopeAlias: string;\n websiteContentPath: string;\n websiteNameKebabCase: string;\n websiteNameClassName: string;\n}\n\n/**\n * Add infrastructure for a static website\n */\nexport const addWebsiteInfra = async (\n tree: Tree,\n options: AddWebsiteInfraOptions & { iac: Iac },\n) => {\n if (options.iac === 'cdk') {\n await addWebsiteCdkConstructs(tree, options);\n } else if (options.iac === 'terraform') {\n addWebsiteTerraformModules(tree, options);\n } else {\n throw new Error(`Unsupported iac ${options.iac}`);\n }\n\n updateJson(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n options.iac === 'cdk' ? SHARED_CONSTRUCTS_DIR : SHARED_TERRAFORM_DIR,\n 'project.json',\n ),\n (config: ProjectConfiguration) => {\n addArtifactProjectToTargets(config, options.websiteProjectName);\n return config;\n },\n );\n};\n\nconst addWebsiteCdkConstructs = async (\n tree: Tree,\n options: AddWebsiteInfraOptions,\n) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cdk', 'core'),\n joinPathFragments(PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, 'src', 'core'),\n { ...options, ...esmVars(tree) },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cdk', 'app'),\n joinPathFragments(PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, 'src', 'app'),\n { ...options, ...esmVars(tree) },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'app',\n 'index.ts',\n ),\n './static-websites/index.js',\n );\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'app',\n 'static-websites',\n 'index.ts',\n ),\n `./${options.websiteNameKebabCase}.js`,\n );\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'core',\n 'index.ts',\n ),\n './static-website.js',\n );\n};\n\nconst addWebsiteTerraformModules = (\n tree: Tree,\n options: AddWebsiteInfraOptions,\n) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'terraform', 'core'),\n joinPathFragments(PACKAGES_DIR, SHARED_TERRAFORM_DIR, 'src', 'core'),\n {\n ...options,\n boto3Version: PY_VERSIONS.boto3,\n ...terraformProviderVersions(),\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'terraform', 'app'),\n joinPathFragments(PACKAGES_DIR, SHARED_TERRAFORM_DIR, 'src', 'app'),\n { ...options, ...terraformProviderVersions() },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n};\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateJson","addStarExport","esmVars","addArtifactProjectToTargets","generatedTerraform","PACKAGES_DIR","SHARED_CONSTRUCTS_DIR","SHARED_TERRAFORM_DIR","PY_VERSIONS","terraformProviderVersions","WEBSITE_CONSTRUCTS_PY_DEPENDENCIES","name","when","addWebsiteInfra","tree","options","iac","addWebsiteCdkConstructs","addWebsiteTerraformModules","Error","config","websiteProjectName","dirname","overwriteStrategy","KeepExisting","websiteNameKebabCase","boto3Version","boto3"],"mappings":"AAAA;;;CAGC,GACD,SACEA,aAAa,EACbC,iBAAiB,EACjBC,iBAAiB,EAGjBC,UAAU,QACL,aAAa;AACpB,SAASC,aAAa,QAAQ,YAAY;AAG1C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,2BAA2B,QAAQ,WAAW;AACvD,SACEC,kBAAkB,EAElBC,YAAY,EACZC,qBAAqB,EACrBC,oBAAoB,QACf,oCAAoC;AAC3C,SAEEC,WAAW,EACXC,yBAAyB,QACpB,iBAAiB;AAExB;;;;;CAKC,GACD,OAAO,MAAMC,qCAAqC;IAChD;QAAEC,MAAM;QAASC,MAAMR;IAAmB;CAC3C,CAGG;AAUJ;;CAEC,GACD,OAAO,MAAMS,kBAAkB,OAC7BC,MACAC;IAEA,IAAIA,QAAQC,GAAG,KAAK,OAAO;QACzB,MAAMC,wBAAwBH,MAAMC;IACtC,OAAO,IAAIA,QAAQC,GAAG,KAAK,aAAa;QACtCE,2BAA2BJ,MAAMC;IACnC,OAAO;QACL,MAAM,IAAII,MAAM,CAAC,gBAAgB,EAAEJ,QAAQC,GAAG,EAAE;IAClD;IAEAhB,WACEc,MACAhB,kBACEO,cACAU,QAAQC,GAAG,KAAK,QAAQV,wBAAwBC,sBAChD,iBAEF,CAACa;QACCjB,4BAA4BiB,QAAQL,QAAQM,kBAAkB;QAC9D,OAAOD;IACT;AAEJ,EAAE;AAEF,MAAMH,0BAA0B,OAC9BH,MACAC;IAEAlB,cACEiB,MACAhB,kBAAkB,YAAYwB,OAAO,EAAE,SAAS,OAAO,SACvDxB,kBAAkBO,cAAcC,uBAAuB,OAAO,SAC9D;QAAE,GAAGS,OAAO;QAAE,GAAGb,QAAQY,KAAK;IAAC,GAC/B;QACES,mBAAmBxB,kBAAkByB,YAAY;IACnD;IAGF3B,cACEiB,MACAhB,kBAAkB,YAAYwB,OAAO,EAAE,SAAS,OAAO,QACvDxB,kBAAkBO,cAAcC,uBAAuB,OAAO,QAC9D;QAAE,GAAGS,OAAO;QAAE,GAAGb,QAAQY,KAAK;IAAC,GAC/B;QACES,mBAAmBxB,kBAAkByB,YAAY;IACnD;IAGF,MAAMvB,cACJa,MACAhB,kBACEO,cACAC,uBACA,OACA,OACA,aAEF;IAEF,MAAML,cACJa,MACAhB,kBACEO,cACAC,uBACA,OACA,OACA,mBACA,aAEF,CAAC,EAAE,EAAES,QAAQU,oBAAoB,CAAC,GAAG,CAAC;IAExC,MAAMxB,cACJa,MACAhB,kBACEO,cACAC,uBACA,OACA,QACA,aAEF;AAEJ;AAEA,MAAMY,6BAA6B,CACjCJ,MACAC;IAEAlB,cACEiB,MACAhB,kBAAkB,YAAYwB,OAAO,EAAE,SAAS,aAAa,SAC7DxB,kBAAkBO,cAAcE,sBAAsB,OAAO,SAC7D;QACE,GAAGQ,OAAO;QACVW,cAAclB,YAAYmB,KAAK;QAC/B,GAAGlB,2BAA2B;IAChC,GACA;QACEc,mBAAmBxB,kBAAkByB,YAAY;IACnD;IAGF3B,cACEiB,MACAhB,kBAAkB,YAAYwB,OAAO,EAAE,SAAS,aAAa,QAC7DxB,kBAAkBO,cAAcE,sBAAsB,OAAO,QAC7D;QAAE,GAAGQ,OAAO;QAAE,GAAGN,2BAA2B;IAAC,GAC7C;QACEc,mBAAmBxB,kBAAkByB,YAAY;IACnD;AAEJ"}