{
  "author": {
    "email": "amin.fazl@mondo.com.au",
    "name": "Amin Fazl",
    "roles": [
      "author"
    ]
  },
  "bundled": {
    "semver": "^7.8.2"
  },
  "dependencies": {
    "constructs": "^10.6.0",
    "projen": "^0.99.70"
  },
  "dependencyClosure": {
    "constructs": {
      "targets": {
        "dotnet": {
          "namespace": "Constructs",
          "packageId": "Constructs"
        },
        "go": {
          "moduleName": "github.com/aws/constructs-go"
        },
        "java": {
          "maven": {
            "artifactId": "constructs",
            "groupId": "software.constructs"
          },
          "package": "software.constructs"
        },
        "js": {
          "npm": "constructs"
        },
        "python": {
          "distName": "constructs",
          "module": "constructs"
        }
      }
    },
    "projen": {
      "submodules": {
        "projen.awscdk": {},
        "projen.build": {},
        "projen.cdk": {},
        "projen.cdk8s": {},
        "projen.cdktf": {},
        "projen.circleci": {},
        "projen.github": {},
        "projen.github.workflows": {},
        "projen.gitlab": {},
        "projen.java": {},
        "projen.javascript": {},
        "projen.javascript.biome_config": {},
        "projen.python": {},
        "projen.python.uvConfig": {},
        "projen.release": {},
        "projen.typescript": {},
        "projen.vscode": {},
        "projen.web": {}
      },
      "targets": {
        "go": {
          "moduleName": "github.com/projen/projen-go"
        },
        "java": {
          "maven": {
            "artifactId": "projen",
            "groupId": "io.github.cdklabs"
          },
          "package": "io.github.cdklabs.projen"
        },
        "js": {
          "npm": "projen"
        },
        "python": {
          "distName": "projen",
          "module": "projen"
        }
      }
    }
  },
  "description": "A projen project for Typescript AWS CDK App",
  "docs": {
    "stability": "stable"
  },
  "homepage": "https://github.com/AminFazlMondo/deployable-awscdk-app-ts.git",
  "jsiiVersion": "5.9.44 (build 150b837)",
  "keywords": [
    "AWS CDK",
    "Deployment",
    "Typescript",
    "projen"
  ],
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "pacmak": {
        "hasDefaultInterfaces": true
      }
    },
    "tscRootDir": "src"
  },
  "name": "deployable-awscdk-app-ts",
  "readme": {
    "markdown": "# Deployable Typescript AWS CDK App Projen Project\n\nInspired by [projen](https://github.com/projen/projen)\nThis is a projen project for typescript AWS CDK Applications deployed via github actions.\n\n## Getting started\n\nTo create a new project, run the following command and follow the instructions:\n\n### Typescript\n\n```console\n$ mkdir my-project\n$ cd my-project\n$ git init\n$ npx projen new --from deployable-awscdk-app-ts --projenrc-ts\n🤖 Synthesizing project...\n...\n```\n\nThis will initialize a projen project and will create `.projenrc.ts` file for capturing the project details and options. Below is an example of the contents in this file\n\n### Javascript\n\n```console\n$ mkdir my-project\n$ cd my-project\n$ git init\n$ npx projen new --from deployable-awscdk-app-ts\n🤖 Synthesizing project...\n...\n```\n\nThis will initialize a projen project and will create `.projenrc.js` file for capturing the project details and options. Below is an example of the contents in this file\n\n### Example\n```javascript\nconst { DeployableAwsCdkTypeScriptApp } = require('deployable-awscdk-app-ts');\n\nconst project = new DeployableAwsCdkTypeScriptApp({\n  name: 'my-test-app',\n  defaultReleaseBranch: 'main',\n  cdkVersion: '1.129.0',\n  workflowNodeVersion: '14.18.1',\n  deployOptions: {\n    environments: [\n      {\n        name: 'dev',\n        awsCredentials: {\n          accessKeyIdSecretName: 'dev-secret-1',\n          secretAccessKeySecretName: 'dev-secret-2',\n          region: 'dev-aws-region-1',\n        },\n      },\n      {\n        name: 'staging',\n        awsCredentials: {\n          accessKeyIdSecretName: 'staging-secret-1',\n          secretAccessKeySecretName: 'staging-secret-2',\n          region: 'staging-aws-region-1',\n        },\n      },\n    ]\n  }\n});\n\nproject.synth()\n```\n"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/AminFazlMondo/deployable-awscdk-app-ts.git"
  },
  "schema": "jsii/0.10.0",
  "submodules": {
    "deployable-awscdk-app-ts.utils": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 9
      },
      "symbolId": "src/utils:"
    }
  },
  "targets": {
    "js": {
      "npm": "deployable-awscdk-app-ts"
    }
  },
  "types": {
    "deployable-awscdk-app-ts.AWSCredentials": {
      "assembly": "deployable-awscdk-app-ts",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "deployable-awscdk-app-ts.AWSCredentials",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/types.ts",
        "line": 131
      },
      "name": "AWSCredentials",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "\"us-east-2\"",
            "stability": "stable",
            "summary": "Default AWS region for the account."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 159
          },
          "name": "region",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"AWS_ACCESS_KEY_ID\"",
            "stability": "stable",
            "summary": "GitHub Secret name for AWS Access Key Id."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 136
          },
          "name": "accessKeyIdSecretName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "900",
            "stability": "stable",
            "summary": "Duration of assume role session."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 153
          },
          "name": "assumeRoleDurationSeconds",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "ARN of AWS role to be assumed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 147
          },
          "name": "roleToAssume",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"AWS_SECRET_ACCESS_KEY\"",
            "stability": "stable",
            "summary": "GitHub Secret name for AWS Secret Access Key."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 142
          },
          "name": "secretAccessKeySecretName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/types:AWSCredentials"
    },
    "deployable-awscdk-app-ts.DeployJobStrategy": {
      "assembly": "deployable-awscdk-app-ts",
      "docs": {
        "stability": "stable"
      },
      "fqn": "deployable-awscdk-app-ts.DeployJobStrategy",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/types.ts",
        "line": 46
      },
      "members": [
        {
          "docs": {
            "stability": "stable"
          },
          "name": "MATRIX"
        },
        {
          "docs": {
            "stability": "stable"
          },
          "name": "MULTI_JOB"
        }
      ],
      "name": "DeployJobStrategy",
      "symbolId": "src/types:DeployJobStrategy"
    },
    "deployable-awscdk-app-ts.DeployOptions": {
      "assembly": "deployable-awscdk-app-ts",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "deployable-awscdk-app-ts.DeployOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/types.ts",
        "line": 51
      },
      "name": "DeployOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Environment settings to deploy to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 55
          },
          "name": "environments",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "deployable-awscdk-app-ts.EnvironmentOptions"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "stable",
            "summary": "Name of the environment variable used to set the deploy environment name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 81
          },
          "name": "environmentVariableName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"matrix\"",
            "stability": "stable",
            "summary": "Deployment job strategy, whether to use a matrix job or multiple jobs for each environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 100
          },
          "name": "jobStrategy",
          "optional": true,
          "type": {
            "fqn": "deployable-awscdk-app-ts.DeployJobStrategy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"change-set\"",
            "remarks": "Direct is a bit faster but lacks progress information",
            "stability": "stable",
            "summary": "How to perform the deployment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 94
          },
          "name": "method",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "Does not support node versions above 18.\n\nif not provided will not set",
            "stability": "stable",
            "summary": "npm config name to set as the environment name This might be useful in deployment process."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 74
          },
          "name": "npmConfigEnvironment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "if not provided matches all of the stacks in the CDK App.",
            "stability": "stable",
            "summary": "Regex for stacks to be deployed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 63
          },
          "name": "stackPattern",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "stable",
            "summary": "task name to run prior to installation in deploy job of workflow if not provided will not add to workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 88
          },
          "name": "taskToRunPreInstall",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/types:DeployOptions"
    },
    "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp": {
      "assembly": "deployable-awscdk-app-ts",
      "base": "projen.awscdk.AwsCdkTypeScriptApp",
      "docs": {
        "stability": "stable"
      },
      "fqn": "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/index.ts",
          "line": 69
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 12
      },
      "methods": [
        {
          "docs": {
            "returns": "void",
            "stability": "stable",
            "summary": "If the diff output is enabled, adds a script and a job step to generate the CDK diff output to a file in cdk.out."
          },
          "locationInModule": {
            "filename": "src/index.ts",
            "line": 18
          },
          "name": "addDiffOutputScript",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.awscdk.AwsCdkTypeScriptApp"
              }
            }
          ],
          "static": true
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Add new environments to the application."
          },
          "locationInModule": {
            "filename": "src/index.ts",
            "line": 172
          },
          "name": "addEnvironments",
          "parameters": [
            {
              "docs": {
                "summary": "list of environment options."
              },
              "name": "items",
              "type": {
                "fqn": "deployable-awscdk-app-ts.EnvironmentOptions"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "remarks": "1. Call \"this.preSynthesize()\"\n2. Delete all generated files\n3. Synthesize all subprojects\n4. Synthesize all components of this project\n5. Call \"postSynthesize()\" for all components of this project\n6. Call \"this.postSynthesize()\"",
            "stability": "stable",
            "summary": "Synthesize all project files into `outdir`."
          },
          "locationInModule": {
            "filename": "src/index.ts",
            "line": 154
          },
          "name": "synth",
          "overrides": "projen.Project"
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Update environment deployment dependencies."
          },
          "locationInModule": {
            "filename": "src/index.ts",
            "line": 236
          },
          "name": "updateEnvironmentDeploymentDependencies",
          "parameters": [
            {
              "docs": {
                "summary": "an object defining dependencies between environments."
              },
              "name": "environmentDependencies",
              "type": {
                "collection": {
                  "elementtype": {
                    "collection": {
                      "elementtype": {
                        "primitive": "string"
                      },
                      "kind": "array"
                    }
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Updates the postDeployWorkflowScript for environments."
          },
          "locationInModule": {
            "filename": "src/index.ts",
            "line": 188
          },
          "name": "updatePostDeployWorkflowScriptToEnvironments",
          "parameters": [
            {
              "docs": {
                "summary": "the script to be added, for example \"post:deploy\"."
              },
              "name": "script",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "the name of environments to add the scripts to, if not provided or empty will update all."
              },
              "name": "environmentNameFilter",
              "optional": true,
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Updates the preDeployWorkflowScript for environments."
          },
          "locationInModule": {
            "filename": "src/index.ts",
            "line": 205
          },
          "name": "updatePreDeployWorkflowScriptToEnvironments",
          "parameters": [
            {
              "docs": {
                "summary": "the script to be added, for example \"pre:deploy\"."
              },
              "name": "script",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "the name of environments to add the scripts to, if not provided or empty will update all."
              },
              "name": "environmentNameFilter",
              "optional": true,
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ]
        }
      ],
      "name": "DeployableAwsCdkTypeScriptApp",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Task to deploy your app."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/index.ts",
            "line": 56
          },
          "name": "deployWorkflowTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "default": "16",
            "stability": "stable",
            "summary": "return the major node version set for the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/index.ts",
            "line": 113
          },
          "name": "majorNodeVersion",
          "type": {
            "primitive": "number"
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "locationInModule": {
            "filename": "src/index.ts",
            "line": 66
          },
          "name": "deployOptions",
          "protected": true,
          "type": {
            "fqn": "deployable-awscdk-app-ts.DeployOptions"
          }
        },
        {
          "docs": {
            "stability": "stable"
          },
          "locationInModule": {
            "filename": "src/index.ts",
            "line": 67
          },
          "name": "environmentDependencies",
          "optional": true,
          "protected": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/index:DeployableAwsCdkTypeScriptApp"
    },
    "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppDiffOutputOptions": {
      "assembly": "deployable-awscdk-app-ts",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppDiffOutputOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/types.ts",
        "line": 3
      },
      "name": "DeployableAwsCdkTypeScriptAppDiffOutputOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Whether to enable the diff output to a file in cdk.out."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 7
          },
          "name": "enable",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true if the diff is enabled, false otherwise",
            "stability": "stable",
            "summary": "Whether to annotate the diff output in the GitHub PR as well This cannot be set to true if the diff output is not enabled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 14
          },
          "name": "annotateOnBuild",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/types:DeployableAwsCdkTypeScriptAppDiffOutputOptions"
    },
    "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions": {
      "assembly": "deployable-awscdk-app-ts",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppOptions",
      "interfaces": [
        "projen.awscdk.AwsCdkTypeScriptAppOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/types.ts",
        "line": 17
      },
      "name": "DeployableAwsCdkTypeScriptAppOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "stable",
            "summary": "Whether to check and skip the deployment for environments that have active deployment of the same commit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 35
          },
          "name": "checkActiveDeployment",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"config with empty list of environments\"",
            "stability": "stable",
            "summary": "Deployment options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 22
          },
          "name": "deployOptions",
          "optional": true,
          "type": {
            "fqn": "deployable-awscdk-app-ts.DeployOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "diff output disabled",
            "stability": "stable",
            "summary": "CDK diff output options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 41
          },
          "name": "diffOutput",
          "optional": true,
          "type": {
            "fqn": "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppDiffOutputOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "stable",
            "summary": "Whether to generate nvmrc file for the node version of the project if set to true, and no \"workflowNodeVersion\" is specified will use version 14.18.1."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 29
          },
          "name": "generateNvmrc",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/types:DeployableAwsCdkTypeScriptAppOptions"
    },
    "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppStepsFactory": {
      "assembly": "deployable-awscdk-app-ts",
      "docs": {
        "stability": "experimental",
        "summary": "Factory to create reusable steps for the deployment workflow."
      },
      "fqn": "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppStepsFactory",
      "initializer": {
        "docs": {
          "stability": "experimental",
          "summary": "Create a new DeployableAwsCdkTypeScriptAppStepsFactory."
        },
        "locationInModule": {
          "filename": "src/steps.ts",
          "line": 88
        },
        "parameters": [
          {
            "docs": {
              "summary": "The project."
            },
            "name": "project",
            "type": {
              "fqn": "projen.javascript.NodeProject"
            }
          },
          {
            "docs": {
              "summary": "The factory properties."
            },
            "name": "props",
            "type": {
              "fqn": "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppStepsFactoryProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/steps.ts",
        "line": 53
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Validate that the provided environment deployment dependencies are valid."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 60
          },
          "name": "validateEnvironmentDeploymentDependencies",
          "parameters": [
            {
              "docs": {
                "summary": "The deployment options."
              },
              "name": "deployOptions",
              "type": {
                "fqn": "deployable-awscdk-app-ts.DeployOptions"
              }
            },
            {
              "docs": {
                "summary": "The environment deployment dependencies to validate."
              },
              "name": "environmentDependencies",
              "type": {
                "collection": {
                  "elementtype": {
                    "collection": {
                      "elementtype": {
                        "primitive": "string"
                      },
                      "kind": "array"
                    }
                  },
                  "kind": "map"
                }
              }
            }
          ],
          "static": true
        },
        {
          "docs": {
            "returns": "The job definition for annotating the PR with the diff output",
            "stability": "experimental",
            "summary": "Get the job to annotate the PR with the diff output for all environments."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 720
          },
          "name": "getAnnotateDiffJob",
          "parameters": [
            {
              "docs": {
                "summary": "The names of the jobs that the annotation job depends on."
              },
              "name": "dependentJobNames",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.Job"
            }
          }
        },
        {
          "docs": {
            "returns": "JobStep or undefined if assumeRoleFlag is boolean and false\nif assumeRoleFlag is string will always return a JobStep (for matrix strategy)",
            "stability": "experimental",
            "summary": "Step to assume an AWS role for a specific environment."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 294
          },
          "name": "getAssumeAwsRoleStepForEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "Whether to assume a role, can be a boolean or a string for matrix strategy."
              },
              "name": "assumeRoleFlag",
              "type": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              }
            },
            {
              "docs": {
                "summary": "The GitHub secret name for the access key ID."
              },
              "name": "accessKeyIdSecretName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The GitHub secret name for the secret access key."
              },
              "name": "secretAccessKeySecretName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The region."
              },
              "name": "region",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The role to assume."
              },
              "name": "roleToAssume",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The duration for assuming the role."
              },
              "name": "assumeRoleDurationSeconds",
              "optional": true,
              "type": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "number"
                    }
                  ]
                }
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          }
        },
        {
          "docs": {
            "returns": "JobStep",
            "stability": "experimental",
            "summary": "Step to check if there is an active deployment for a specific environment."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 139
          },
          "name": "getCheckActiveDeploymentStepForEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The environment to check."
              },
              "name": "environment",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          }
        },
        {
          "docs": {
            "returns": "An array of job IDs",
            "stability": "experimental",
            "summary": "Get the IDs of the jobs that must be completed before the specified environment's deployment job."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 593
          },
          "name": "getDeploymentJobPrerequisiteJobIds",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the environment."
              },
              "name": "environmentName",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "returns": "The diff annotation job for the environment",
            "stability": "experimental",
            "summary": "Get the deployment method argument for the deploy command."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 788
          },
          "name": "getDiffAnnotationJobForEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The environment options."
              },
              "name": "environmentOptions",
              "type": {
                "fqn": "deployable-awscdk-app-ts.EnvironmentOptions"
              }
            },
            {
              "docs": {
                "summary": "The name of the environment variable to set with the environment name, if any."
              },
              "name": "environmentVariableName",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.Job"
            }
          }
        },
        {
          "docs": {
            "returns": "JobStep",
            "stability": "experimental",
            "summary": "Get the step to format the diff output into a GitHub annotation comment for a specific environment."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 755
          },
          "name": "getFormattedDiffAnnotationCommentStepForEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The environment to format the diff for."
              },
              "name": "environment",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          }
        },
        {
          "docs": {
            "returns": "The job definition for the environment",
            "stability": "experimental",
            "summary": "Get the job definition for a specific environment."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 633
          },
          "name": "getJobForEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The environment options."
              },
              "name": "environmentOptions",
              "type": {
                "fqn": "deployable-awscdk-app-ts.EnvironmentOptions"
              }
            },
            {
              "docs": {
                "summary": "The name of the environment variable to set with the environment name, if any."
              },
              "name": "environmentVariableName",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.Job"
            }
          }
        },
        {
          "docs": {
            "returns": "The job step to run the post-deployment script or undefined if not applicable\nIf hasPostDeployTaskFlag is boolean and false will return undefined\nIf hasPostDeployTaskFlag is string will always return a JobStep (for matrix strategy)",
            "stability": "experimental",
            "summary": "Get the post-deployment step for a specific environment."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 464
          },
          "name": "getPostDeploymentStepForEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "Whether the post-deployment task should be run."
              },
              "name": "hasPostDeployTaskFlag",
              "type": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              }
            },
            {
              "docs": {
                "summary": "The script to run."
              },
              "name": "postDeploymentScript",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          }
        },
        {
          "docs": {
            "returns": "The job step to run the pre-deployment script or undefined if not applicable\nIf hasPreDeployTaskFlag is boolean and false will return undefined\nIf hasPreDeployTaskFlag is string will always return a JobStep (for matrix strategy)",
            "stability": "experimental",
            "summary": "Get the pre-deployment step for a specific environment."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 433
          },
          "name": "getPreDeploymentStepForEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "Whether the pre-deployment task should be run."
              },
              "name": "hasPreDeployTaskFlag",
              "type": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              }
            },
            {
              "docs": {
                "summary": "The script to run."
              },
              "name": "preDeploymentScript",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          }
        },
        {
          "docs": {
            "returns": "The job step to run the script or undefined if not applicable\nIf hasScriptFlag is boolean and false will return undefined\nIf hasScriptFlag is string will always return a JobStep (for matrix strategy)",
            "stability": "experimental",
            "summary": "Get the step to run a specific script."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 373
          },
          "name": "getRunScriptStep",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the script to run."
              },
              "name": "scriptName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The name of the step in the workflow."
              },
              "name": "stepName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Whether the script should be run."
              },
              "name": "hasScriptFlag",
              "type": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          }
        },
        {
          "docs": {
            "returns": "JobStep or undefined if no AWS credentials are provided,\nif assumeRoleFlag is boolean will be evaluated and return a JobStep only if false\nif assumeRoleFlag is string will always return a JobStep (for matrix strategy)",
            "stability": "experimental",
            "summary": "Step to setup AWS credentials in the environment for a specific environment."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 225
          },
          "name": "getSetupAwsCredentialsInEnvironmentForEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "Whether to assume a role, can be a boolean or a string for matrix strategy."
              },
              "name": "assumeRoleFlag",
              "type": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              }
            },
            {
              "docs": {
                "summary": "The GitHub secret name for the access key ID."
              },
              "name": "accessKeyIdSecretName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The GitHub secret name for the secret access key."
              },
              "name": "secretAccessKeySecretName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The region."
              },
              "name": "region",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          }
        },
        {
          "docs": {
            "returns": "JobStep[]",
            "stability": "experimental",
            "summary": "Get the steps to setup AWS credentials for a specific environment."
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 172
          },
          "name": "getSetupAwsCredentialsStepsForEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The environment options."
              },
              "name": "environmentOptions",
              "type": {
                "fqn": "deployable-awscdk-app-ts.EnvironmentOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "projen.github.workflows.JobStep"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 347
          },
          "name": "getSetupNpmConfigForEnvironment",
          "parameters": [
            {
              "name": "environment",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          }
        }
      ],
      "name": "DeployableAwsCdkTypeScriptAppStepsFactory",
      "properties": [
        {
          "docs": {
            "returns": "JobStep",
            "stability": "experimental",
            "summary": "Step to assume an AWS role for the matrix strategy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 272
          },
          "name": "assumeAwsRoleStepForMatrix",
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 101
          },
          "name": "checkoutStep",
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        },
        {
          "docs": {
            "returns": "Record of jobs",
            "stability": "experimental",
            "summary": "Get all deployment jobs whether for matrix strategy or not."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 480
          },
          "name": "deploymentJobs",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.Job"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "returns": "Record of jobs",
            "stability": "experimental",
            "summary": "Get deployment jobs for matrix strategy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 492
          },
          "name": "deploymentJobsForMatrix",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.Job"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "returns": "Record of jobs",
            "stability": "experimental",
            "summary": "Get deployment jobs for multi-job strategy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 619
          },
          "name": "deploymentJobsForMultiJob",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.Job"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "returns": "JobStep",
            "stability": "experimental",
            "summary": "Step to deploy the workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 406
          },
          "name": "deploymentStep",
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        },
        {
          "docs": {
            "returns": "Record of jobs",
            "stability": "experimental",
            "summary": "Get diff annotation jobs for all environments."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 844
          },
          "name": "diffAnnotationJobs",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.Job"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "returns": "JobStep",
            "stability": "experimental",
            "summary": "Step to generate the diff output."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 707
          },
          "name": "generateDiffStep",
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        },
        {
          "docs": {
            "returns": "JobStep",
            "stability": "experimental",
            "summary": "Step to run post deployment script in matrix strategy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 449
          },
          "name": "postDeploymentStepForMatrix",
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        },
        {
          "docs": {
            "returns": "JobStep",
            "stability": "experimental",
            "summary": "Step to run post deployment script in matrix strategy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 418
          },
          "name": "preDeploymentStepForMatrix",
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        },
        {
          "docs": {
            "returns": "JobStep",
            "stability": "experimental",
            "summary": "Step to setup AWS credentials in the environment for the matrix strategy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 206
          },
          "name": "setupAwsCredentialsInEnvironmentForMatrix",
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        },
        {
          "docs": {
            "returns": "JobStep[]",
            "stability": "experimental",
            "summary": "Step to setup AWS credentials in the environment for the matrix strategy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 160
          },
          "name": "setupAwsCredentialsStepsForMatrix",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "returns": "JobStep",
            "stability": "experimental",
            "summary": "Step to check if there is an active deployment for the environment in the matrix strategy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 130
          },
          "name": "checkActiveDeploymentStepForMatrix",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        },
        {
          "docs": {
            "returns": "JobStep or undefined if no preInstallTaskName is provided",
            "stability": "experimental",
            "summary": "Step to run before installing dependencies if exists."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 114
          },
          "name": "preInstallDependenciesStep",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        },
        {
          "docs": {
            "returns": "JobStep or undefined if no npmConfig is provided",
            "stability": "experimental",
            "summary": "Step to setup NPM config if provided."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 343
          },
          "name": "setupNpmConfigForMatrix",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        },
        {
          "docs": {
            "returns": "JobStep condition or undefined if checkActiveDeployment is false",
            "stability": "experimental",
            "summary": "Condition to skip a step if an active deployment is already present."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 97
          },
          "name": "skipIfAlreadyActiveDeploymentCondition",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobStep"
          }
        }
      ],
      "symbolId": "src/steps:DeployableAwsCdkTypeScriptAppStepsFactory"
    },
    "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppStepsFactoryProps": {
      "assembly": "deployable-awscdk-app-ts",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptAppStepsFactoryProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/steps.ts",
        "line": 11
      },
      "name": "DeployableAwsCdkTypeScriptAppStepsFactoryProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Whether to check for active deployments before proceeding with deployment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 20
          },
          "name": "checkActiveDeployment",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Deployment options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 15
          },
          "name": "deployOptions",
          "type": {
            "fqn": "deployable-awscdk-app-ts.DeployOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Deployment job strategy, whether to use a matrix job or multiple jobs for each environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 41
          },
          "name": "jobStrategy",
          "type": {
            "fqn": "deployable-awscdk-app-ts.DeployJobStrategy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "The authentication provider for CodeArtifact, if any."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 30
          },
          "name": "authProvider",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.CodeArtifactAuthProvider"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Environment deployment dependencies, if any."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 46
          },
          "name": "environmentDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "The npm config to set with the environment that is being deployed, if any Note: This is not supported for node versions above 18."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 36
          },
          "name": "npmConfigEnvironment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "The name of the task to run before installing dependencies, if any."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/steps.ts",
            "line": 25
          },
          "name": "preInstallTaskName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/steps:DeployableAwsCdkTypeScriptAppStepsFactoryProps"
    },
    "deployable-awscdk-app-ts.EnvironmentOptions": {
      "assembly": "deployable-awscdk-app-ts",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "deployable-awscdk-app-ts.EnvironmentOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/types.ts",
        "line": 103
      },
      "name": "EnvironmentOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "AWS credential details for deployment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 112
          },
          "name": "awsCredentials",
          "type": {
            "fqn": "deployable-awscdk-app-ts.AWSCredentials"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Environment name to deploy to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 107
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "\"post:deploy\"",
            "stability": "stable",
            "summary": "The script/task to run after deployment of the environment in the workflow If not present, the workflow will not execute that."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 120
          },
          "name": "postDeployWorkflowScript",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "\"pre:deploy\"",
            "stability": "stable",
            "summary": "The script/task to run before deployment of the environment in the workflow If not present, the workflow will not execute that."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/types.ts",
            "line": 128
          },
          "name": "preDeployWorkflowScript",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/types:EnvironmentOptions"
    }
  },
  "version": "0.1.839",
  "fingerprint": "m4vjdMWxam76/S47LDCnmetos2iip6VLnTIUzn2/NK8="
}